Glynn,
Thanks for the explanation; previously, when compiling from source,
things just compiled very cleanly for me as I blithely went about the
installs. (I had no idea what 'PIC' meant and -thought- shared libraries
were were being built for FFTW using it).
At some point I want to try developing some GRASS modules, so
understanding some of these compilation intricacies is obviously
important. It's a learning process and I appreciate your patience…
Tom
On 6/22/11 7:46 AM, Glynn Clements wrote:
thomas.ad...@noaa.gov wrote:
I keep having problems with fftw, which really surprises me. I get:
If I go into: /home/teaiii/rgrass_dir/grass-6.4.1/lib/gmath and make, I get:
gcc -shared -o
/home/teaiii/rgrass_dir/grass-6.4.1/dist.x86_64-unknown-linux-gnu/lib/libgrass_gmath.6.4.1.so
-L/home/teaiii/rgrass_dir/grass-6.4.1/dist.x86_64-unknown-linux-gnu/lib
-Wl,--export-dynamic
-Wl,-rpath-link,/home/teaiii/rgrass_dir/grass-6.4.1/dist.x86_64-unknown-linux-gnu/lib
-L/usr/local/pgsql/lib OBJ.x86_64-unknown-linux-gnu/brent.o
OBJ.x86_64-unknown-linux-gnu/dalloc.o OBJ.x86_64-unknown-linux-gnu/del2g.o
OBJ.x86_64-unknown-linux-gnu/eigen.o OBJ.x86_64-unknown-linux-gnu/eigen_tools.o
OBJ.x86_64-unknown-linux-gnu/fft.o OBJ.x86_64-unknown-linux-gnu/findzc.o
OBJ.x86_64-unknown-linux-gnu/gauss.o OBJ.x86_64-unknown-linux-gnu/getg.o
OBJ.x86_64-unknown-linux-gnu/ialloc.o OBJ.x86_64-unknown-linux-gnu/jacobi.o
OBJ.x86_64-unknown-linux-gnu/la.o OBJ.x86_64-unknown-linux-gnu/lu.o
OBJ.x86_64-unknown-linux-gnu/max_pow2.o OBJ.x86_64-unknown-linux-gnu/mult.o
OBJ.x86_64-unknown-linux-gnu/rand1.o OBJ.x86_64-unknown-linux-gnu/svd.o
-lgrass_gis -lgrass_datetime -lz -lfftw !
-l
m -lm&& \
(cd
/home/teaiii/rgrass_dir/grass-6.4.1/dist.x86_64-unknown-linux-gnu/lib; ln -f -s
libgrass_gmath.6.4.1.so
/home/teaiii/rgrass_dir/grass-6.4.1/dist.x86_64-unknown-linux-gnu/lib/libgrass_gmath.so)
/usr/bin/ld: /usr/local/lib/libfftw.a(fftwnd.o): relocation R_X86_64_32 against
`.rodata.str1.1' can not be used when making a shared object; recompile with
-fPIC
/usr/local/lib/libfftw.a: could not read symbols: Bad value
Are there no pre-built FFTW packages? FWIW:
http://packages.ubuntu.com/search?keywords=fftw-dev
As you've already noticed, the problem is due to the lack of PIC
(position-independent code) within the static FFTW library, which
means that shared libraries cannot be linked against it.
Enabling PIC for FFTW will fix that, but building FFTW as a shared
library is better, and using the OS's offical FFTW packages (if they
exist) is better still.
--
Thomas E Adams
National Weather Service
Ohio River Forecast Center
1901 South State Route 134
Wilmington, OH 45177
EMAIL: thomas.ad...@noaa.gov
VOICE: 937-383-0528
FAX: 937-383-0033
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user