[gmx-users] PGI link error: unknown switch --rpath & attempted static link of dynamic object fftw/lib/libfftw3.so
Mark Abraham
Mark.Abraham at anu.edu.au
Fri Nov 12 18:02:58 CET 2010
On 13/11/2010 3:15 AM, Yudong Sun wrote:
> Hi,
>
> I have some troubles when compiling GROMACS 4.5.3 using PGI compiler
> on the -rpath flag and also a static link to dynamic libfftw3.so.
>
> I use the pre-installed FFTW 3.2.2.1 library on my Linux system. The
> FFTW library is managed by the Modules package. The fftw module
> automatically sets the environ variable as:
>
> FFTW_POST_LINK_OPTS = -L/opt/fftw/3.2.2.1/lib
> -Wl,-rpath=/opt/fftw/3.2.2.1/lib -lfftw3 -lfftw3f
So how does configure use this information? (hint: providing the
configure command line is essential for us to understand any context!)
>
> When compiling, an error occurs on the -rpath:
>
> pgcc -fast -o grompp grompp.o ./.libs/libgmxpreprocess_mpi_d.a
> /usr/local/packages/nag/GROMACS/gromacs-4.5.3/src/mdlib/.libs/libmd_mpi_d.a
> ../mdlib/.libs/libmd_mpi_d.a /opt/fftw/3.2.2.1/lib/libfftw3.so
> /usr/local/packages/nag/GROMACS/gromacs-4.5.3/src/gmxlib/.libs/libgmx_mpi_d.a
> ../gmxlib/.libs/libgmx_mpi_d.a -ldl -lnsl -lm --rpath
> /opt/fftw/3.2.2.1/lib --rpath /opt/fftw/3.2.2.1/lib
> pgcc-Error-Unknown switch: --rpath
> pgcc-Error-Unknown switch: --rpath
>
> Pgcc doesn't recognize --rpath. The correct format is a single dash
> only -rpath.
Sounds like configure isn't handling pgcc properly. However, GROMACS is
using very vanilla autoconf stuff, so I'm strongly of the opinion that
the problem isn't on the GROMACS side.
>
> If I manually remove the extra '-' (-rpath /opt/fftw/3.2.2.1/lib) and
> rerun the command line, a link error appears:
>
> /usr/bin/ld: attempted static link of dynamic object
> `/opt/fftw/3.2.2.1/lib/libfftw3.so'
>
> The command line links the dynamic fftw library. As the 'configure
> --help' shows the default is a static build. Why doesn't the configure
> pick the libfftw3.a but the libfftw3.so? The fftw library on my system
> contains both static and dynamic libraries.
Don't know. Ask the autoconf list.
>
> I have also tried to make the old GROMACS 4.0.7 which has shown the
> same problems as above.
>
> Any workarounds to the problems or what options should I pass to the
> configure?
Don't bother with PGI compilers. GROMACS performance is 99%
compiler-independent, thanks to hand-coded assembly for the inner loops.
Use gcc.
Mark
More information about the gromacs.org_gmx-users
mailing list