Troubles installing on ubuntu 8.10

Post in this forum any question related to the installation on any of the supported platforms (Linux, Mac OS X, Windows)
Post Reply
ignatius
Posts: 6
Joined: Tue Feb 03, 2009 4:32 pm

Troubles installing on ubuntu 8.10

Post by ignatius »

Hi,
I'm trying to compile sesarray 2.0.5 from source, on Ubuntu 8.10. I have qt installed and am using gcc. Outputs from the -version checks:

QMake version 2.01a
Using Qt version 4.4.3 in /usr/lib
lupdate version 4.4.3

gcc (Ubuntu 4.3.2-1ubuntu12) 4.3.2

I'm executing ./configure with no options specified. And then "make" which runs along just fine for a good while and eventually gags with the output pasted below. It seems to have trouble with f2c. I see that sesarray comes with these libraries (?), but it seems that the compile is looking to /usr/lib for the version is uses. Perhaps a different version? According to Synaptic, I'm working with libf2c2, version 20061008-4. It doesn't offer me any other versions to try to install. My /usr/lib/f2c.so is a symbolic link to libf2c.so.2.1 (same directory).

Any suggestions would be much appreciated. And thank you for the code.



g++ -rdynamic -o ../../../bin/release/geopsy ../.obj/release/main.o ../.obj/release/qtbagc.o ../.obj/release/qtbcorrelations.o ../.obj/release/qtbcutsignal.o ../.obj/release/qtbdecimateamplitude.o ../.obj/release/qtbexportfiletype.o ../.obj/release/qtbexportpick.o ../.obj/release/qtbfileview.o ../.obj/release/qtbgeopsyabout.o ../.obj/release/qtbgeopsyaboutdialog.o ../.obj/release/qtbgeopsymainwindow.o ../.obj/release/qtbgeopsymainwindowaction.o ../.obj/release/qtbgraphicwindow.o ../.obj/release/qtbgroupproperties.o ../.obj/release/qtbgroupview.o ../.obj/release/qtbmagnifiersignal.o ../.obj/release/qtbmapwindow.o ../.obj/release/qtbpreferences.o ../.obj/release/qtbrotatecomponents.o ../.obj/release/qtbsetheader.o ../.obj/release/qtbsettablefields.o ../.obj/release/qtbsignaldisplay.o ../.obj/release/qtbsignaltabledelegate.o ../.obj/release/qtbsignaltableitem.o ../.obj/release/qtbsignaltableview.o ../.obj/release/qtbsigselectiondnd.o ../.obj/release/qtbsortkeys.o ../.obj/release/qtbsourcecoordinates.o ../.obj/release/qtbstalta.o ../.obj/release/qtbstationcoordinates.o ../.obj/release/qtbsubtractgroupitem.o ../.obj/release/qtbsubtractsignals.o ../.obj/release/qtbsuppressdc.o ../.obj/release/qtbtablewindow.o ../.obj/release/qtbtaper.o ../.obj/release/qtbtoolfactory.o ../.obj/release/qtbviewparameditor.o ../.obj/release/moc_qtbagc.o ../.obj/release/moc_qtbcorrelations.o ../.obj/release/moc_qtbdecimateamplitude.o ../.obj/release/moc_qtbexportfiletype.o ../.obj/release/moc_qtbexportpick.o ../.obj/release/moc_qtbfileview.o ../.obj/release/moc_qtbgeopsyabout.o ../.obj/release/moc_qtbgeopsyaboutdialog.o ../.obj/release/moc_qtbgeopsymainwindow.o ../.obj/release/moc_qtbgraphicwindow.o ../.obj/release/moc_qtbgroupproperties.o ../.obj/release/moc_qtbgroupview.o ../.obj/release/moc_qtbmapwindow.o ../.obj/release/moc_qtbpreferences.o ../.obj/release/moc_qtbrotatecomponents.o ../.obj/release/moc_qtbsetheader.o ../.obj/release/moc_qtbsettablefields.o ../.obj/release/moc_qtbsignaltabledelegate.o ../.obj/release/moc_qtbsignaltableitem.o ../.obj/release/moc_qtbsigselectiondnd.o ../.obj/release/moc_qtbsortkeys.o ../.obj/release/moc_qtbsourcecoordinates.o ../.obj/release/moc_qtbstalta.o ../.obj/release/moc_qtbstationcoordinates.o ../.obj/release/moc_qtbsubtractsignals.o ../.obj/release/moc_qtbsuppressdc.o ../.obj/release/moc_qtbtablewindow.o ../.obj/release/moc_qtbtaper.o ../.obj/release/moc_qtbtoolfactory.o ../.obj/release/moc_qtbviewparameditor.o ../.obj/release/qrc_geopsy.o -L/usr/lib -Wl,-rpath,/usr/local/sesarray/sesarray-src-2.0.5/lib/release -L/usr/local/sesarray/sesarray-src-2.0.5/lib/release -lqtbtools -lqtbguitools -lscifigs -lgeopsycore -lgeopsygui -lqtbfortran -lfftw3 -lf2c -lQtGui -lQtCore -lpthread
/usr/lib/libf2c.so: undefined reference to `MAIN__'
collect2: ld returned 1 exit status
make[2]: *** [../../../bin/release/geopsy] Error 1
make[2]: Leaving directory `/usr/local/sesarray/sesarray-src-2.0.5/src/geopsy/src'
make[1]: *** [first] Error 2
make[1]: Leaving directory `/usr/local/sesarray/sesarray-src-2.0.5/src/geopsy'
make: *** [geopsy] Error 2

admin
Site Admin
Posts: 470
Joined: Mon Aug 13, 2007 11:48 am
Location: ISTerre
Contact:

Post by admin »

You have to force the link to libf2c shipped with sesarray. One way to do it is to replace '-lf2c' by the path to libf2c inside sesarray.

Code: Select all

cd src/geopsy
mv configure configure.old
cat configure.old | sed "s/-lf2c/..\/..\/..\/lib\/release\/libf2c.a/g" > configure
make config
make
I'm currently working on sesarray 2.1.0 which drastically simplifies these dependencies and makes the source package lighter, with finally better integration with system libraries (fftw, lapack,...). Also, it will be soon available as a binary package for Ubuntu and Debian (a beta test was made for Ubuntu 8.04 only). So you'll be able to add it to Synaptic and get regular updates automatically from the package manager itself. Other Linux distributions may follow, but Ubuntu/Debian offered the simplest tools to build packages.

ignatius
Posts: 6
Joined: Tue Feb 03, 2009 4:32 pm

Post by ignatius »

Thanks!

That pretty much took care of it. I also ended up having to "hide" the libf2c stuff from the compiler because it still wanted to go to /usr/lib/libf2c.so.2 for some reason. So I moved all the *f2c* stuff in /usr/lib to a temporary space, compiled geopsy, and then put it back. The compile went fine (a warning regarding wanting the .so file, but no error) and geopsy runs. I haven't played with it enough yet to be sure all's well but so far it looks good.

Please let me know if there's anything obviously wrong with this approach.

admin
Site Admin
Posts: 470
Joined: Mon Aug 13, 2007 11:48 am
Location: ISTerre
Contact:

Post by admin »

I think that's all fine. If the compile reached the end without error, you must have a working geopsy.

ignatius
Posts: 6
Joined: Tue Feb 03, 2009 4:32 pm

Post by ignatius »

Great. Thanks for the help.

By the way, the package install will be a nice option.

Post Reply