Hi Davide,
On 20/11/2017 16:06, Vanzo, Davide wrote:
Hello EasyBuilders!
I have started building the foss-2016b toolchain on a new server and I
am stumbling against an error that I have never seen before and for
which I cannot pinpoint the cause.
When I try to compile a fortran source with mpifort (or mpif90), I get
the error you see below. The thing I do not understand is why the
linker searches for /usr/lib64/libgfortran.so (which does not exist
for obvious reasons) instead of the equivalent library built by
EasyBuild with GCCcore-5.4.0 (which exists).
The LD_LIBRARY_PATH env var contains the path to the GCCcore directory
where libgfortran.so is actually located. Why is ld ignoring this path?
Any suggestion?
I think ld(.gold) actually checks $LIBRARY_PATH when linking binaries,
while $LD_LIBRARY_PATH is checked at runtime.
But I assume $LIBRARY_PATH also includes the location to libgfortran.so
provide by GCCcore?
Do you get any useful output when running "LD_DEBUG=1 mpifort
multitask_mpi.f90" (see http://www.bnikolic.co.uk/blog/linux-ld-debug.html)?
regards,
Kenneth
Thanks!
$ mpifort multitask_mpi.f90
/accre/arch/easybuild/software/Compiler/GCCcore/5.4.0/binutils/2.26/bin/ld.gold:
error: cannot open /usr/lib64/libgfortran.so: No such file or directory
/tmp/ccpSxqE6.o:multitask_mpi.f90:function timestamp_: error:
undefined reference to '_gfortran_date_and_time'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function timestamp_: error:
undefined reference to '_gfortran_st_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function timestamp_: error:
undefined reference to '_gfortran_transfer_integer_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function timestamp_: error:
undefined reference to '_gfortran_string_trim'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function timestamp_: error:
undefined reference to '_gfortran_transfer_character_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function timestamp_: error:
undefined reference to '_gfortran_transfer_integer_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function timestamp_: error:
undefined reference to '_gfortran_transfer_integer_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function timestamp_: error:
undefined reference to '_gfortran_transfer_character_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function timestamp_: error:
undefined reference to '_gfortran_transfer_integer_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function timestamp_: error:
undefined reference to '_gfortran_transfer_character_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function timestamp_: error:
undefined reference to '_gfortran_transfer_character_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function timestamp_: error:
undefined reference to '_gfortran_string_trim'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function timestamp_: error:
undefined reference to '_gfortran_st_write_done'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function p0_receive_output_: error:
undefined reference to '_gfortran_st_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function p0_receive_output_: error:
undefined reference to '_gfortran_st_write_done'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function p0_receive_output_: error:
undefined reference to '_gfortran_st_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function p0_receive_output_: error:
undefined reference to '_gfortran_st_write_done'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function p0_receive_output_: error:
undefined reference to '_gfortran_st_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function p0_receive_output_: error:
undefined reference to '_gfortran_st_write_done'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function MAIN__: error: undefined
reference to '_gfortran_stop_string'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function MAIN__: error: undefined
reference to '_gfortran_transfer_real_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function MAIN__: error: undefined
reference to '_gfortran_stop_string'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function MAIN__: error: undefined
reference to '_gfortran_transfer_real_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function MAIN__: error: undefined
reference to '_gfortran_stop_string'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function MAIN__: error: undefined
reference to '_gfortran_transfer_real_write'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function MAIN__: error: undefined
reference to '_gfortran_stop_string'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function main: error: undefined
reference to '_gfortran_set_args'
/tmp/ccpSxqE6.o:multitask_mpi.f90:function main: error: undefined
reference to '_gfortran_set_options'
collect2: error: ld returned 1 exit status
--
*Davide Vanzo, PhD*
Application Developer
Adjunct Assistant Professor of Chemical and Biomolecular Engineering
Advanced Computing Center for Research and Education (ACCRE)
Vanderbilt University - Hill Center 201
(615)-875-9137
www.accre.vanderbilt.edu