Linking problem with ypp on an IBM server
Posted: Wed Jan 27, 2010 7:18 pm
Dear all,
I faced a linking problem while trying to compile yambo-3.2.1-r.506 on Magerit-CeSViMa. This supercomputer consists of IBM PowerPC servers (BladeCenter JS20 and JS21). My problem is that I could compile and link yambo and p2y, however there was an error while linking ypp:
(eval mpif90 -q64 -O3 -qnoescape -qnostrict -qarch=ppc970 -qtune=ppc970 -I/gpfs/projects/ehu35/maurizia/D_marton/yambo-3.2.1/include -o ypp driver.o getopt.o mod_YPP.o ypp_i.o ypp_init.o ypp_init_load.o k_grids.o excitons_driver.o electrons_driver.o plot_check_and_launch.o plot_gnuplot.o plot_xcrysden.o excitons_sort_and_report.o -L/gpfs/projects/ehu35/maurizia/D_marton/yambo-3.2.1/lib -lbse -linterface -lsetup -lqp_ctl -lbz_ops -lwf_and_fft -lio -lcommon -lcommunicate -lparser -lxc_functionals -lmodules -lexternal_c /gpfs/apps/LAPACK/3.0/64/liblapack.a /gpfs/apps/BLAS/1.0.0/64/lib/libblas.a -lnetcdf -llocal -lm ) > /dev/null
/gpfs/projects/ehu35/maurizia/D_marton/yambo-3.2.1/lib/libbse.a(K_output_file.o):(.text+0x270): undefined reference to `o_eels'
/gpfs/projects/ehu35/maurizia/D_marton/yambo-3.2.1/lib/libbse.a(K_output_file.o):(.text+0xce0): undefined reference to `o_eels'
/gpfs/projects/ehu35/maurizia/D_marton/yambo-3.2.1/lib/libbse.a(K_output_file.o):(.text+0x1600): undefined reference to `o_eels'
/gpfs/projects/ehu35/maurizia/D_marton/yambo-3.2.1/lib/libbse.a(K_output_file.o):(.text+0x1f20): undefined reference to `o_eels'
make[1]: *** [ypp] Error 1
make[1]: Leaving directory `/gpfs/projects/ehu35/maurizia/D_marton/yambo-3.2.1_test/ypp'
make: *** [ypp] Error 2
I searched through the forum and the source as well, hoping that there is a trivial problem, and I also tried to modify the configure options (see the original version below), but I could only worsen things. Anyway, it seems that yambo and p2y binaries work well, at least I got reasonable results.
Here are the options I pass to configure:
PF90=xlf90_r FC=xlf90_r F77=xlf_r CC=xlc_r CPP="cpp -E -P" --with-blas=/gpfs/apps/BLAS/1.0.0/64/lib/libblas.a --with-lapack=/gpfs/apps/LAPACK/3.0/64/liblapack.a --with-p2y=4.0 --with-iotk=/gpfs/projects/ehu35/espresso-4.0.5/iotk --with-netcdf-include=/gpfs/apps/NETCDF/3.6.0/64/include --with-netcdf-lib=/gpfs/apps/NETCDF/3.6.0/64/lib --with-fftw=/gpfs/apps/FFTW/3.2/64/lib --enable-msgs-comps=no
Lapack, blas, fftw libraries and espresso were built by the support, and the version of the IBM fortran/c compiler is 12.1/10.1.
Any help will be appreciated. I could send further details on the compilation if needed.
Yours,
Marton
#-------------------------------------------------#
# M\'arton V\"or\"os #
# PhD student #
# Department of Atomic Physics, #
# Budapest University of Technology and Economics #
# Budafoki Ășt 8., H-1111, Budapest, Hungary #
# http://www.fat.bme.hu/MartonVoros #
#-------------------------------------------------#
I faced a linking problem while trying to compile yambo-3.2.1-r.506 on Magerit-CeSViMa. This supercomputer consists of IBM PowerPC servers (BladeCenter JS20 and JS21). My problem is that I could compile and link yambo and p2y, however there was an error while linking ypp:
(eval mpif90 -q64 -O3 -qnoescape -qnostrict -qarch=ppc970 -qtune=ppc970 -I/gpfs/projects/ehu35/maurizia/D_marton/yambo-3.2.1/include -o ypp driver.o getopt.o mod_YPP.o ypp_i.o ypp_init.o ypp_init_load.o k_grids.o excitons_driver.o electrons_driver.o plot_check_and_launch.o plot_gnuplot.o plot_xcrysden.o excitons_sort_and_report.o -L/gpfs/projects/ehu35/maurizia/D_marton/yambo-3.2.1/lib -lbse -linterface -lsetup -lqp_ctl -lbz_ops -lwf_and_fft -lio -lcommon -lcommunicate -lparser -lxc_functionals -lmodules -lexternal_c /gpfs/apps/LAPACK/3.0/64/liblapack.a /gpfs/apps/BLAS/1.0.0/64/lib/libblas.a -lnetcdf -llocal -lm ) > /dev/null
/gpfs/projects/ehu35/maurizia/D_marton/yambo-3.2.1/lib/libbse.a(K_output_file.o):(.text+0x270): undefined reference to `o_eels'
/gpfs/projects/ehu35/maurizia/D_marton/yambo-3.2.1/lib/libbse.a(K_output_file.o):(.text+0xce0): undefined reference to `o_eels'
/gpfs/projects/ehu35/maurizia/D_marton/yambo-3.2.1/lib/libbse.a(K_output_file.o):(.text+0x1600): undefined reference to `o_eels'
/gpfs/projects/ehu35/maurizia/D_marton/yambo-3.2.1/lib/libbse.a(K_output_file.o):(.text+0x1f20): undefined reference to `o_eels'
make[1]: *** [ypp] Error 1
make[1]: Leaving directory `/gpfs/projects/ehu35/maurizia/D_marton/yambo-3.2.1_test/ypp'
make: *** [ypp] Error 2
I searched through the forum and the source as well, hoping that there is a trivial problem, and I also tried to modify the configure options (see the original version below), but I could only worsen things. Anyway, it seems that yambo and p2y binaries work well, at least I got reasonable results.
Here are the options I pass to configure:
PF90=xlf90_r FC=xlf90_r F77=xlf_r CC=xlc_r CPP="cpp -E -P" --with-blas=/gpfs/apps/BLAS/1.0.0/64/lib/libblas.a --with-lapack=/gpfs/apps/LAPACK/3.0/64/liblapack.a --with-p2y=4.0 --with-iotk=/gpfs/projects/ehu35/espresso-4.0.5/iotk --with-netcdf-include=/gpfs/apps/NETCDF/3.6.0/64/include --with-netcdf-lib=/gpfs/apps/NETCDF/3.6.0/64/lib --with-fftw=/gpfs/apps/FFTW/3.2/64/lib --enable-msgs-comps=no
Lapack, blas, fftw libraries and espresso were built by the support, and the version of the IBM fortran/c compiler is 12.1/10.1.
Any help will be appreciated. I could send further details on the compilation if needed.
Yours,
Marton
#-------------------------------------------------#
# M\'arton V\"or\"os #
# PhD student #
# Department of Atomic Physics, #
# Budapest University of Technology and Economics #
# Budafoki Ășt 8., H-1111, Budapest, Hungary #
# http://www.fat.bme.hu/MartonVoros #
#-------------------------------------------------#