[Pw_forum] Compiling problems on AMD opteron64 under Linux using MPI

C J Kenneth Tan -- OptimaNumerics cjtan at OptimaNumerics.com
Thu Oct 14 14:12:42 CEST 2004


Adrian,

This looks like an FFTW linking problem.  I believe the linker is
looking for symbols with only 1 underscore.  So remove the second
underscore option from the Fortran compiler flags:

> F90FLAGS = -w -fast -r8 
> F77FLAGS = -w -fast -r8 
> CCFLAGS  =  $(CPPFLAGS)


Kenneth Tan

-----------------------------------------------------------------------
News: OptimaNumerics Enables Higher Performance at Russian
      Supercomputer Center
-----------------------------------------------------------------------
C. J. Kenneth Tan, Ph.D.
OptimaNumerics Ltd.
E-mail: cjtan at OptimaNumerics.com      Telephone: +44 798 941 7838    
Web: http://www.OptimaNumerics.com    Facsimile: +44 289 066 3015 
-----------------------------------------------------------------------


On 2004-10-14 12:07 +0800 Adrain Zhou (adrainzhou at yahoo.com.cn) wrote:

> Date: Thu, 14 Oct 2004 12:07:08 +0800 (CST)
> From: Adrain Zhou <adrainzhou at yahoo.com.cn>
> Reply-To: pw_forum at pwscf.org
> To: pw_forum at pwscf.org
> Subject: [Pw_forum] Compiling problems on AMD opteron64 under Linux using MPI
> 
> Dear all,
>  
> Many thanks to Axel, I have removed most part of underscore problem.  There are still some problems existed.
>  
> input.o(.text+0x7857): In function `verify_tmpdir__':
> : undefined reference to `c_mkdir__'
> ../Modules/berry_phase.o(.text+0x4b): In function `berry_phase_ln_setup__':
> : undefined reference to `ln_alloc__'
> ../Modules/berry_phase.o(.text+0xa8): In function `berry_phase_ln_setup__':
> : undefined reference to `ln_set__'
> ../Modules/berry_phase.o(.text+0xb7): In function `berry_phase_ln_setup__':
> : undefined reference to `ln_activate__'
> ../Modules/berry_phase.o(.text+0xd5): In function `berry_phase_ln_closeup__':
> : undefined reference to `ln_dealloc__'
> ../Modules/berry_phase.o(.text+0x11bb): In function `berry_phase_indi_of_ig__':
> : undefined reference to `ln_ind__'
> ../Modules/berry_phase.o(.text+0x11f6): In function `berry_phase_indi_of_ig__':
> : undefined reference to `ln_ind__'
> ../Modules/berry_phase.o(.text+0x1231): In function `berry_phase_indi_of_ig__':
> : undefined reference to `ln_ind__'
> ../Modules/berry_phase.o(.text+0x1270): In function `berry_phase_indi_of_ig__':
> : undefined reference to `ln_ind__'
> ../Modules/berry_phase.o(.text+0x129f): In function `berry_phase_indi_of_ig__':
> : undefined reference to `ln_ind__'
> ../Modules/berry_phase.o(.text+0x1303): more undefined references to `ln_ind__' follow
> ../Modules/fft_scalar.o(.text+0x147): In function `fft_scalar_cft_1z__':
> : undefined reference to `destroy_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x169): In function `fft_scalar_cft_1z__':
> : undefined reference to `destroy_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x18f): In function `fft_scalar_cft_1z__':
> : undefined reference to `create_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x1b5): In function `fft_scalar_cft_1z__':
> : undefined reference to `create_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x252): In function `fft_scalar_cft_1z__':
> : undefined reference to `fft_z_stick__'
> ../Modules/fft_scalar.o(.text+0x2bd): In function `fft_scalar_cft_1z__':
> : undefined reference to `fft_z_stick__'
> ../Modules/fft_scalar.o(.text+0x789): In function `fft_scalar_cft_2xy__':
> : undefined reference to `destroy_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x7ab): In function `fft_scalar_cft_2xy__':
> : undefined reference to `destroy_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x7d3): In function `fft_scalar_cft_2xy__':
> : undefined reference to `create_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x7fb): In function `fft_scalar_cft_2xy__':
> : undefined reference to `create_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x81d): In function `fft_scalar_cft_2xy__':
> : undefined reference to `destroy_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x83f): In function `fft_scalar_cft_2xy__':
> : undefined reference to `destroy_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x869): In function `fft_scalar_cft_2xy__':
> : undefined reference to `create_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x893): In function `fft_scalar_cft_2xy__':
> : undefined reference to `create_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x93c): In function `fft_scalar_cft_2xy__':
> : undefined reference to `fft_x_stick__'
> ../Modules/fft_scalar.o(.text+0x9f4): In function `fft_scalar_cft_2xy__':
> : undefined reference to `fft_y_stick__'
> ../Modules/fft_scalar.o(.text+0xb34): In function `fft_scalar_cft_2xy__':
> : undefined reference to `fft_y_stick__'
> ../Modules/fft_scalar.o(.text+0xb8d): In function `fft_scalar_cft_2xy__':
> : undefined reference to `fft_x_stick__'
> ../Modules/fft_scalar.o(.text+0xccf): In function `fft_scalar_cfft3d_':
> : undefined reference to `destroy_plan_3d__'
> ../Modules/fft_scalar.o(.text+0xcee): In function `fft_scalar_cfft3d_':
> : undefined reference to `destroy_plan_3d__'
> ../Modules/fft_scalar.o(.text+0xd16): In function `fft_scalar_cfft3d_':
> : undefined reference to `create_plan_3d__'
> ../Modules/fft_scalar.o(.text+0xd3e): In function `fft_scalar_cfft3d_':
> : undefined reference to `create_plan_3d__'
> ../Modules/fft_scalar.o(.text+0xdbf): In function `fft_scalar_cfft3d_':
> : undefined reference to `fftw_inplace_drv_3d__'
> ../Modules/fft_scalar.o(.text+0xe44): In function `fft_scalar_cfft3d_':
> : undefined reference to `fftw_inplace_drv_3d__'
> ../Modules/fft_scalar.o(.text+0xff9): In function `fft_scalar_cfft3ds_':
> : undefined reference to `destroy_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x101b): In function `fft_scalar_cfft3ds_':
> : undefined reference to `destroy_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x103d): In function `fft_scalar_cfft3ds_':
> : undefined reference to `destroy_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x105f): In function `fft_scalar_cfft3ds_':
> : undefined reference to `destroy_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x1081): In function `fft_scalar_cfft3ds_':
> : undefined reference to `destroy_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x10a3): more undefined references to `destroy_plan_1d__' follow
> ../Modules/fft_scalar.o(.text+0x10d0): In function `fft_scalar_cfft3ds_':
> : undefined reference to `create_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x10fd): In function `fft_scalar_cfft3ds_':
> : undefined reference to `create_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x112a): In function `fft_scalar_cfft3ds_':
> : undefined reference to `create_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x1157): In function `fft_scalar_cfft3ds_':
> : undefined reference to `create_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x1181): In function `fft_scalar_cfft3ds_':
> : undefined reference to `create_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x11ab): more undefined references to `create_plan_1d__' follow
> ../Modules/fft_scalar.o(.text+0x130d): In function `fft_scalar_cfft3ds_':
> : undefined reference to `fftw_inplace_drv_1d__'
> ../Modules/fft_scalar.o(.text+0x13dd): In function `fft_scalar_cfft3ds_':
> : undefined reference to `fftw_inplace_drv_1d__'
> ../Modules/fft_scalar.o(.text+0x1445): In function `fft_scalar_cfft3ds_':
> : undefined reference to `fftw_inplace_drv_1d__'
> ../Modules/fft_scalar.o(.text+0x14a6): In function `fft_scalar_cfft3ds_':
> : undefined reference to `fftw_inplace_drv_1d__'
> ../Modules/fft_scalar.o(.text+0x153d): In function `fft_scalar_cfft3ds_':
> : undefined reference to `fftw_inplace_drv_1d__'
> ../Modules/fft_scalar.o(.text+0x163d): more undefined references to `fftw_inplace_drv_1d__' follow
> ../Modules/fft_scalar.o(.text+0x1864): In function `fft_scalar_cft_b__':
> : undefined reference to `destroy_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x1880): In function `fft_scalar_cft_b__':
> : undefined reference to `create_plan_1d__'
> ../Modules/fft_scalar.o(.text+0x189f): In function `fft_scalar_cft_b__':
> : undefined reference to `destroy_plan_2d__'
> ../Modules/fft_scalar.o(.text+0x18be): In function `fft_scalar_cft_b__':
> : undefined reference to `create_plan_2d__'
> ../Modules/fft_scalar.o(.text+0x195d): In function `fft_scalar_cft_b__':
> : undefined reference to `fftw_inplace_drv_1d__'
> ../Modules/fft_scalar.o(.text+0x199f): In function `fft_scalar_cft_b__':
> : undefined reference to `fftw_inplace_drv_2d__'
> make[1]: *** [memory.x] Error 2
> 
>  
> The make.sys file is as follows,
> # Use the local copy of fftw
> CPPFLAGS = -D__LINUX64 -D__PGI -D__PARA -D_MPI -D_LAM -D__FFTW -D__USE_INTERNAL_FFTW \
>           -I$(OSHOME)/include -I./
> #
> # Fortran compiler:
> F90 =mpif90
> F77 =mpif77
> CC =mpicc
> #
> # Please note: -r8 is necessary for numerical stability ..
> #
> F90FLAGS = -w -fast -r8 -Msecond_underscore
> F77FLAGS = -w -fast -r8 -Msecond_underscore
> CCFLAGS  =  $(CPPFLAGS)
> #
> # This is needed to tell the compiler where modules are
> #
> MODULEFLAG= -I$(OSHOME)/Modules -I$(OSHOME)/PW -I$(OSHOME)/PH
> #
> #
> LIBS = -L/opt/pgi/linux86-64/5.2/lib $(OSHOME)/acml/libacml.a $(FFTW_LIB)
> #
> #
> LD=$(F90)
> LDFLAGS = -lg2c -lpthread -lm  $(OSHOME)/flib/ptools.a $(OSHOME)/flib/flib.a $(OSHOME)/clib/clib.a $(LIBS) $(MODULEFLAG)
> 
> Any comments are highly appreciated. Many thanks.
>  
> Regards,
> Adrain
>  
> 
> 
> 
> 
> ---------------------------------
> Do You Yahoo!?
> 150ÍòÇúMP3·è¿ñËÑ£¬´øÄú´³ÈëÒôÀÖµîÌÃ
> ÃÀÅ®Ã÷ÐÇÓ¦Óо¡ÓУ¬ËѱéÃÀͼ¡¢ÑÞͼºÍ¿áͼ
> 1G¾ÍÊÇ1000Õ×£¬ÑÅ»¢µçÓÊ×ÔÖúÀ©ÈÝ£¡


More information about the users mailing list