[xcrysden] fftw, meschach library problems, 1.5.23, Mac OS X Snow Leopard

David M. Wood dmwood at mines.edu
Fri Jun 3 21:53:56 CEST 2011


Howdy all!

I am trying a severely revised Make.sys with system or macports dynamic libraries providing fftw version 3.2.2 and meschach version 1.2b using gfortran 4.4

I get:
Undefined symbols for architecture x86_64:
  "_getline", referenced from:
      _ReadCoor in readstrf.o
      _ReadXSF in readstrf.o
     (maybe you meant: _getline_reserve)
  "_fftw_malloc", referenced from:
      _fft3d_interpolate in fft3d.o
      _shankland3d_interpolate in shank3d.o
      _general_grid_shankland_interpolator_tensor3f in shank3d.o
  "_fftw_plan_dft_r2c_3d", referenced from:
      _fft3d_interpolate in fft3d.o
      _shankland3d_interpolate in shank3d.o
      _general_grid_shankland_interpolator_tensor3f in shank3d.o
  "_fftw_plan_dft_c2r_3d", referenced from:
      _fft3d_interpolate in fft3d.o
      _shankland3d_interpolate in shank3d.o
      _general_grid_shankland_interpolator_tensor3f in shank3d.o
  "_fftw_execute", referenced from:
      _fft3d_interpolate in fft3d.o
      _shankland3d_interpolate in shank3d.o
      _general_grid_shankland_interpolator_tensor3f in shank3d.o
  "_fftw_destroy_plan", referenced from:
      _fft3d_interpolate in fft3d.o
      _shankland3d_interpolate in shank3d.o
      _general_grid_shankland_interpolator_tensor3f in shank3d.o
  "_fftw_free", referenced from:
      _fft3d_interpolate in fft3d.o
      _shankland3d_interpolate in shank3d.o
      _general_grid_shankland_interpolator_tensor3f in shank3d.o
  "_m_get", referenced from:
      _shank_Hinv in shank_Hinv.o
      _shank_HinvObj in shank_Hinv.o
      _shank1d_lambda in shank_Hinv.o
      _shank3d_lambda in shank_Hinv.o
      _shank2d_lambda in shank_Hinv.o
      _shank1d_lambdaObj in shank_Hinv.o
  "_m_inverse", referenced from:
      _shank_Hinv in shank_Hinv.o
  "_m_free", referenced from:
      _shank_Hinv in shank_Hinv.o
      _shank1d_lambda in shank_Hinv.o
      _shank3d_lambda in shank_Hinv.o
      _shank2d_lambda in shank_Hinv.o
      _shank1d_lambdaObj in shank_Hinv.o

... ld: symbol(s) not found for architecture x86_64

I have verified that all libraries I'm linking against are "Mach-O 64-bit dynamically linked shared library x86_64".  The missing objects are:

_getline
_fftw_malloc
_fftw_plan_dft_r2c_3d
_fftw_plan_dft_c2r_3d
_fftw_execute
_fftw_destroy_plan
_fftw_free
_m_get
_m_inverse
_m_free

This 'smells' like problems with meschach and fftw libraries.  As quick tests, I did (in /opt/local/lib, where macports installs its libraries)

grep fftw_destroy_plan *

Binary file libfftw3.3.dylib matches
Binary file libfftw3.a matches
Binary file libfftw3.dylib matches

grep m_inverse *

Binary file libmeschach.1.2.dylib matches 
Binary file libmeschach.1.dylib matches
Binary file libmeschach.a matches
Binary file libmeschach.dylib matches

so I don't really understand what's going on. I suspect problems with the loader, ld.  

Tone: Are there environment variables to pass load flags?

Many thanks!
DMW

David M. Wood, Dept. of Physics, Colorado School of Mines, Golden, CO 80401
Phone: (303) 273-3853; Fax: (303) 273-3919



More information about the XCrySDen mailing list