Re: [netcdfgroup] compiling on a 64 bit machine with ifort support

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



  • 2009 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: