Karsten Bolding <karsten@xxxxxxxxxxxxxxxxxxxx> writes:
> Hello
>
> I can't get the compilation of NetCDF with ifort Fortran support to
> work:
>
> kb@nc20:~$ uname -a
> Linux nc20 2.6.28-15-generic #49-Ubuntu SMP Tue Aug 18 19:25:34 UTC 2009
> x86_64 GNU/Linux
>
> ver=4.1-beta1-snapshot2009080400
>
> ./configure --prefix=/opt/netcdf-$ver --enable-netcdf-4
> --with-hdf5=/opt/hdf5-1.8.3 --enable-shared
>
> I get:
> make[3]: Entering directory
> `/home/kb/compile/netcdf-4.1-beta1-snapshot2009080400/fortran'
> /bin/bash ../libtool --mode=link ifort -fPIC -L/opt/hdf5-1.8.3/lib
> -version-info 5:0:0 -o libnetcdff.la -rpath
> /opt/netcdf-4.1-beta1-snapshot2009080400/lib fort-attio.lo
> fort-control.lo fort-dim.lo fort-genatt.lo fort-geninq.lo fort-genvar.lo
> fort-lib.lo fort-misc.lo fort-v2compat.lo fort-vario.lo fort-var1io.lo
> fort-varaio.lo fort-varmio.lo fort-varsio.lo fort-nc4.lo
> ../libsrc4/libnetcdf.la ../f90/libnetcdff90.la
> libtool: link: ifort -shared -nofor_main .libs/fort-attio.o
> .libs/fort-control.o .libs/fort-dim.o .libs/fort-genatt.o
> .libs/fort-geninq.o .libs/fort-genvar.o .libs/fort-lib.o
> .libs/fort-misc.o .libs/fort-v2compat.o .libs/fort-vario.o
> .libs/fort-var1io.o .libs/fort-varaio.o .libs/fort-varmio.o
> .libs/fort-varsio.o .libs/fort-nc4.o -Wl,--whole-archive
> ../f90/.libs/libnetcdff90.a -Wl,--no-whole-archive -Wl,-rpath
> -Wl,/home/kb/compile/netcdf-4.1-beta1-snapshot2009080400/libsrc4/.libs
> -Wl,-rpath -Wl,/opt/netcdf-4.1-beta1-snapshot2009080400/lib
> -L/opt/hdf5-1.8.3/lib ../libsrc4/.libs/libnetcdf.so
> -L/opt/hdf5-1.8.3//lib -Wl,-soname -Wl,libnetcdff.so.5 -o
> .libs/libnetcdff.so.5.0.0
> ld: ../f90/.libs/libnetcdff90.a(netcdf4.o): relocation R_X86_64_32S
> against `a local symbol' can not be used when making a shared object;
> recompile with -fPIC
> ../f90/.libs/libnetcdff90.a(netcdf4.o): could not read symbols: Bad
> value
> make[3]: *** [libnetcdff.la] Error 1
> make[3]: Leaving directory
> `/home/kb/compile/netcdf-4.1-beta1-snapshot2009080400/fortran'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory
> `/home/kb/compile/netcdf-4.1-beta1-snapshot2009080400/fortran'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory
> `/home/kb/compile/netcdf-4.1-beta1-snapshot2009080400'
> make: *** [all] Error 2
>
>
> I've tried to set FFLAGS and FCFLAGS to -fPIC without any difference
>
> If I ommit --enable-shared I can compile with Fortran support - but then
> other things break.
>
It's unlikely that you can get the shared build to work without the
static version working, so I suggest we first drop the --enable-shared
and get the static build working, as it is the simpler case. What goes
wrong when you do the static build?
Also, are you setting the flags that intel requires? See here:
http://software.intel.com/en-us/articles/performance-tools-for-software-developers-building-netcdf-with-the-intel-compilers/
Thanks,
Ed
--
Ed Hartnett -- ed@xxxxxxxxxxxxxxxx