Terry Frankcombe wrote:
> Having just downloaded and installed Open MPI 1.3 with ifort and gcc, I
> merrily went off to compile my application.
>
> In my final link with mpif90 I get the error:
>
> /usr/bin/ld: cannot find -lnuma
>
> Adding --showme reveals that
>
> -I/home/terry/bin/Local/include -pthread -I/home/terry/bin/Local/lib
>
> is added to the compile early in the aggregated ifort command, and
>
> -L/home/terry/bin/Local/lib -lmpi_f90 -lmpi_f77 -lmpi -lopen-rte
> -lopen-pal -lpbs -lnuma -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl
>
> is added to the end.
>
> I note than when compiling Open MPI -lnuma was visible in the gcc
> arguments, with no added -L.
>
> On this system libnuma.so exists in /usr/lib64. My (somewhat long!)
> configure command was
>
> ./configure --enable-static --disable-shared
> --prefix=/home/terry/bin/Local --enable-picky --disable-heterogeneous
> --without-slurm --without-alps --without-xgrid --without-sge
> --without-loadleveler --without-lsf F77=ifort
>
>
> Should mpif90 have bundled a -L/usr/lib64 in there somewhere?
>
> Regards
> Terry
>
>
I had the same exact problem with my PGI compilers, (no problems
reported yet with my intel compilers). I have a fix for you.
You would think that the compiler would automatically look in
/usr/lib64, since that's one of the system's default lib directories,
but the PGI compilers don't for some reason.
A quick fix is to do
OMPI_LDFLAGS="-L/usr/lib64"
or
OMPI_MPIF90_LDFLAGS="-L/usr/lib64"
A more permanent fix is to edit
INSTALL_DIR/share/openmpi/mpif90-wrapper-data.txt
and change
linker_flags=
to
linker_flags=-L/usr/lib64
In my case, I also had to add the OpenMPI lib directory for the PGI
compilers, too. You may or may not need to add them, too:
linker_flags=-L/usr/lib64 -L/usr/local/openmpi/pgi/x86_64/lib
You may want to test all your compilers and makea similar change to all
your *wrapper-data.txt files
Not sure if this is a problem with the compilers not picking up the
system's lib dirs, or an OpenMPI configuration/build problem.
--
Prentice
|