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
Troubles installing on ubuntu 8.10
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.
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.
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.
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.
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.
Who is online
Users browsing this forum: No registered users and 1 guest