Install Eaton Personal Solution Pac 3.0.8 [Solved]

Discussions Regarding Software

Moderator: Moderators

Post Reply
pavav
Simple Hen
Posts: 59
Joined: Thu Dec 10, 2009 1:12

Install Eaton Personal Solution Pac 3.0.8 [Solved]

Post by pavav » Thu Dec 10, 2009 12:44

I try to install mgeops-psp.3.0.8, when I do “configure; make; make install”, the installation fails with message:
splashwin_glade.cc:39:34: error: sigc++/compatibility.h: No such file or directory
There is an ebuild file for version 3.0.7 (http://bugs.gentoo.org/show_bug.cgi?id=232855) with some patches, but i cant change it by myself to work for v3.0.8, i need help with this...

(product page: http://download.mgeops.com/explore/eng/ptp/ptp_sol.htm
I run Sabayon 5.0)
Last edited by pavav on Mon Dec 14, 2009 0:25, edited 2 times in total.

micia
Sagely Hen
Posts: 2718
Joined: Wed Nov 26, 2008 16:41
Contact:

Re: Install Eaton Personal Solution Pac 3.0.8

Post by micia » Thu Dec 10, 2009 21:40

It looks like you are missing libsigc++,
try to install it, for example with:

Code: Select all

equo install --ask libsigc++
As far as I know the API changed in the latest releases of the library, so for that header
you will need an old version, probably the latest one will not have it.
Check all available versions with:

Code: Select all

equo search libsigc++
And choose the appropriate version, I think that the 1.2.7 version should be good.
Installing it should be something like:

Code: Select all

equo install --ask =dev-libs/libsigc++-1.2.7
and retry with the make procedure.

Keep in mind that installing packages outside portage and entropy is absolutely unsupported
and discouraged, so for any issue you are on your own.

pavav
Simple Hen
Posts: 59
Joined: Thu Dec 10, 2009 1:12

Re: Install Eaton Personal Solution Pac 3.0.8

Post by pavav » Fri Dec 11, 2009 0:52

Keep in mind that installing packages outside portage and entropy is absolutely unsupported
and discouraged, so for any issue you are on your own.
Yes, i try to emegre this package, but with the same result (use the ebuild file from here http://bugs.gentoo.org/show_bug.cgi?id=232855, change the name to mgeops-psp-3.0.8.ebuild and remove the whole "src_unpack" section)
I have installed dev-libs/libsigc++-2.2.4.2. Must I remove this version and install 1.2.7 ? Because Personal Solution Pac
depends on Sigc++ library, version 2.0.3 ?
How can I emerge this package (mgeops-psp) ?

micia
Sagely Hen
Posts: 2718
Joined: Wed Nov 26, 2008 16:41
Contact:

Re: Install Eaton Personal Solution Pac 3.0.8

Post by micia » Fri Dec 11, 2009 14:04

Unfortunately the header compatibility.h was removed in libsigc++ version 2.1.1 (from its changelog), due to deprecation.
If that application still goes on relying on such an header, it is its mistake.
You have two options:

- installing libsigc++ older than 2.1.1, but the only one I found in equo and emerge is the 1.2.7, according to you,
at least 2.0.3 is required, so you should compile and install that version of the library without the package managers,
which is discouraged.

- find an alternative software...

The problem is not how to make the ebuild work, but how to find a library that still has the compatibility.h header.
If you want to compile libsigc++ without using the package manager, ensure to uninstall that library, and then compile it using the procedure recommended in the readme provided with the sources, I hope that you have not packages that relies on higher versions of that library.
On its site I see that there are versions ranging from 2.0.0 to 2.0.18.

[EDIT] I think that you could also do some dirty trick to compile the older version of libsigc++ from the site and use it only with that application without having to uninstall the version from the package manager.
I could try to install this application and see if I can do something about it, but it seems that those versions of the library are particularly hated by my version of GCC...

pavav
Simple Hen
Posts: 59
Joined: Thu Dec 10, 2009 1:12

Re: Install Eaton Personal Solution Pac 3.0.8

Post by pavav » Fri Dec 11, 2009 15:53

Thank you for the explanation and help, micia.

micia
Sagely Hen
Posts: 2718
Joined: Wed Nov 26, 2008 16:41
Contact:

Re: Install Eaton Personal Solution Pac 3.0.8

Post by micia » Sat Dec 12, 2009 12:39

I have failed to compile the older versions of the library, so I tried to upgrade that program in order to not use the deprecated features, I have successfully compiled the application with the newer version of libsigc++.
I launched the application and it worked, but since I have no UPS I could not pass the UPS detection window, so
I am not sure that it will work fine... Try it, if it works we could update the code a little better and provide it to the application developers (if it can interest them).

Here is how I done it:

- Go to the src directory of that program (I have it in mgeops-psp-3.0.8/src )

- in line 39 of splashwin_glade.cc comment the #include
in order to comment a line, add // before it, like:

Code: Select all

//#include <sigc++/compatibility.h>
- in line 24 of splashwin.cc replace SigC::Connection with sigc::connection

- in line 39 of AboutView_glade.cc comment the #include

- in line 39 of dlgInfo_glade.cc comment the #include

- in line 96 of dlgInfo_glade.cc replace the SigC::slot with sigc::mem_fun
the replacement should look like,
before:

Code: Select all

closebutton1->signal_released().connect(SigC::slot(*this, &dlgInfo_glade::on_closebutton1_released), false);
after:

Code: Select all

closebutton1->signal_released().connect(sigc::mem_fun(*this, &dlgInfo_glade::on_closebutton1_released), false);
- in line 39 of dlgInfoOPS_glade.cc comment the #include

- in line 269 and 270 of dlgInfoOPS_glade.cc replace SigC::slot with sigc::mem_fun

- in line 39 of EventWin_glade.cc comment the #include

- in line 39 of MainWindow_glade.cc comment the #include

- from line 1256 to line 1266 of MainWindow_glade.cc replace each SigC::slot with a sigc::mem_fun

- in line 39 of StatusView_glade.cc comment the #include

- in line 39 of ConfigView_glade.cc comment the #include

- from line 495 to line 508 of ConfigView_glade.cc replace each SigC::slot with a sigc::mem_fun

After all this, retry with:

Code: Select all

$make
#make install
And see if it works fine.

Hope this helps :)

pavav
Simple Hen
Posts: 59
Joined: Thu Dec 10, 2009 1:12

Re: Install Eaton Personal Solution Pac 3.0.8

Post by pavav » Sun Dec 13, 2009 23:31

Yes, it works. Actually I made new .patch file (using the oldest .patch and .diff files - replace SigC:: with sigc::, but dont comment lines with "#include <sigc++/compatibility.h>", instead of this replace
#if GTKMM_MAJOR_VERSION==2 && GTKMM_MINOR_VERSION>2 with
#if GTKMM_MAJOR_VERSION==2 && GTKMM_MINOR_VERSION<2
i dont know how is it better, but that works). Now I have problem with the ups driver, but I think we solved the problem with the installation of the package.
Thank you for support :)

micia
Sagely Hen
Posts: 2718
Joined: Wed Nov 26, 2008 16:41
Contact:

Re: Install Eaton Personal Solution Pac 3.0.8

Post by micia » Sun Dec 13, 2009 23:54

Your patch is by far better than my way of removing the problem :lol:

I was "just trying to get it to work :evil: "

but according to that edit in the #ifdefs you should also add #ifdefs in the code with the
SigC namespaces, so it will complicate things...

But what does matter is that now it works :D
If you consider this issue solved, please mark this thread as such, editing your
first post appending [Solved] to the subject.
If your issue with the UPS driver is not related to this application, you could open a new topic :wink:

pavav
Simple Hen
Posts: 59
Joined: Thu Dec 10, 2009 1:12

Re: Install Eaton Personal Solution Pac 3.0.8 [Solved]

Post by pavav » Tue Mar 09, 2010 10:22

Network UPS Tools (NUT), usbhid-ups driver and Eaton Personal Solution Pac 3.0.8 here:
http://forum.sabayon.org/viewtopic.php? ... 81&start=0

Post Reply