Tony,
It looks like you system is really old. Will Intel 11 work with such old
version of gcc?
Anyway... I would try to add -fPIC to the gcc compilation flags first, and then
if it doesn't work, I would use --disable-shared and try to build just HDF5
static libraries.
And I assume szip is shared, right? If not, you will need to build static szip
using -fPIC flag too.
Elena
On Feb 7, 2011, at 7:55 AM, Tony Stocker wrote:
>
> I'm trying to compile HDF5-1.8.5 from source tarball. I've successfully done
> this on other systems, however those systems have slightly newer operating
> systems and software. I'm at a loss on where to proceed next in trying to
> fix this. I've tried to provide all the relevant (and likely quite a bit
> irrelevant) information below.
>
> Info on the system that the compile is failing on, and the compilation
> process:
> ---------------------------
> System & software specifics:
> ---------------------------
> OS: CentOS/Scyld Clusterware
> # cat /etc/redhat-release
> CentOS release 4.8 (Final)
> # cat /etc/scyld-release
> Scyld Beowulf release 43 (43-431g0010 200910051451)
> szip: 2.1 (from source)
> zlib: 1.2.1.2-1.2 (from vendor RPM yum repository)
> f77: Intel Fortran 11.1.073 ifort
> gcc: version 3.4.6 20060404 (Red Hat 3.4.6-11)
> gcc specs:
> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
> --infodir=/usr/share/info --enable-shared --enable-threads=posix
> --disable-checking --with-system-zlib --enable-__cxa_atexit
> --disable-libunwind-exceptions --enable-java-awt=gtk
> --host=x86_64-redhat-linux
> Thread model: posix
>
> -------------------
> Compilation process:
> -------------------
> source /usr/local/intel/Compiler/11.1/073/bin/ifortvars.sh intel64
>
> export F77=ifort ; export F9X=ifort ; export FFLAGS="-mcmodel=medium" ;
> export CFLAGS="-mcmodel=medium -O" ; export
> LD_LIBRARY_PATH=${LD_LIBRARY_PATH}/usr/local/szip/lib ; export LDFLAGS="-lm"
>
> ./configure --prefix=/usr/local/HDF5-1.8.5 --enable-fortran --enable-cxx
> --with-szlib=/usr/local/szip/include,/usr/local/szip/lib > configure.out.log
> 2>&1
>
> make > make.out.log 2>&1
>
> ------------------------------------
> Error Message from make.out.log file:
> ------------------------------------
> /usr/bin/ld: .libs/H5checksum.o: relocation R_X86_64_32S against `a local
> symbol' can not be used when m
> aking a shared object; recompile with -fPIC
> .libs/H5checksum.o: could not read symbols: Bad value
> collect2: ld returned 1 exit status
> make[2]: *** [libhdf5.la] Error 1
> make[2]: Leaving directory `/usr/local/src/hdf5-1.8.5/src'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/usr/local/src/hdf5-1.8.5/src'
> make: *** [all-recursive] Error 1
>
>
> I've searched the HDF forums and found similar relocation R_X86_64_32S
> messages regarding the zlib (20090902 dated post) and mpich (20100224 dated
> post.) However I haven't found any reference to this issue in regards to the
> H5checksum, so I'm not sure which dependent program needs to be recompiled
> with -fPIC, which seems to be the underlying problem. I looked further up in
> the output file for any relevant information regarding H5checksum's
> compilation but it all looks normal to me:
>
> libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/local/szip/include
> -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_BSD_SOURCE -D_POSIX_SOURCE
> -DNDEBUG -UH5_DEBUG_API -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow
> -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings
> -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes
> -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline
> -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn
> -Wpacked -Wdisabled-optimization -Wendif-labels -Wdeclaration-after-statement
> -Wold-style-definition -Winvalid-pch -O3 -fomit-frame-pointer
> -finline-functions -mcmodel=medium -O -MT H5checksum.lo -MD -MP -MF
> .deps/H5checksum.Tpo -c H5checksum.c -o .libs/H5checksum.o
>
>
> I use the same compilation process on CentOS/Clusterware 5.x systems
> successfully. These systems have slightly newer software in some cases.
> Where s/w differs from that listed above, I've listed below. The compilation
> process, including options and export statements is identical.
>
> Information on the systems where compilation seems to work fine:
> OS: CentOS/Scyld Clusterware
> # cat /etc/redhat-release ; cat /etc/scyld-release
> CentOS release 5.5 (Final)
> Scyld ClusterWare release 5.5.0 (5.5.0-550g0007 201010111426)
> zlib: 1.2.3-3 (from vendor RPM yum repository)
> gcc: version 4.1.2 20080704 (Red Hat 4.1.2-48)
> gcc specs:
> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
> --infodir=/usr/share/info --enable-shared --enable-threads=posix
> --enable-checking=release --with-system-zlib --enable-__cxa_atexit
> --disable-libunwind-exceptions --enable-libgcj-multifile
> --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk
> --disable-dssi --enable-plugin
> --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic
> --host=x86_64-redhat-linux
> Thread model: posix
>
>
> So I'm a bit at a loss on what to do next. The compilation process I've been
> using on our newer systems is failing on an older one, which unfortunately
> cannot be upgraded any time soon yet which needs the same version of HDF 5 on
> it.
>
> Any advice or suggestions? I appreciate it.
>
> -Tony
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
>
> _______________________________________________
> Hdf-forum is for HDF software users discussion.
> [email protected]
> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org