Jake, Carlo, Bruce, I think Carlo is essentially correct, and have no experience with 64bit linux either, so I'm not sure where the actual problem lies. As far as I understand, all the dynamic libraries would have to decide on basic stuff like how many bytes an 'int' uses, or at least know whether 'int' in some library meant 32bitInt or 64bitInt. So some questions for Jake would be: 1. does command-line 'ifeffit' work? Does it start up, does it read data, does it plot data? If not, perl is not the issue. I think perl's Makefile.PL will try to run ifeffit, so my guess is that ifeffit does work, at least some ;). 2. If ifeffit does run, do a 'ldd /usr/local/bin/ifeffit' (or whereever else ifeffit got installed to). This will report the dynamic libraries that ifeffit will try to load. Many of those will also be loaded by the perl library (Ifeffit.so), so that might give a hint of where to look for 32bit v 64bit libraries. If you ever get a perl Ifeffit.so to compile, you could run ldd on that too. 3. Did you compile a dynamic PGPLOT library? That is, is ifeffit linking with libpgplot.so or libpgplot.a? If the ldd command above lists libpgplot.so, then find and delete that file, and rebuild Ifeffit to use the static libpgplot.a. 4. Do you know that perl is not the problem? Do the perl/Tk demos work? Other than that, I'd google search, especially on the 'bad value collect2':
/usr/local/lib/libifeffit.a: could not read symbols: Bad value collect2: ld returned 1 exit status
I don't know where that's coming from. Could be related to the 64bit X11 libraries, but also might be fortran related....
I've edited the Makefile in the horae-046 directory where ifeffit_wrap.c and ifeffit_wrap.o are located to append -fPIC following the call to gcc, producing:
I'm not sure adding the -fPIC should be necessary. Whether this is needed seems to depend on gcc versions and other painfully weird things. Sorry for not being able to help more than that. On the bright side, there will be several happy people when you figure it out! --Matt