[openib-general] OFED-1.0 fails install on AMD64

Eitan Zahavi eitan at mellanox.co.il
Fri Jun 23 01:48:14 PDT 2006


Hi Don,

Sorry for my late response. ibutils compilation (of libibdmcom) is breaking with the
error message:

 > relocation R_X86_64_32 against `__gnu_internal::freelist_key' can not be
 > used when making a shared object; recompile with -fPIC

For the command:
 > /bin/sh ../libtool --tag=CXX --mode=link g++ -O2
 > -DIBDM_IBNL_DIR='"/usr/local/ofed/lib64"' -I/usr/include -O2 -g -pipe
 > -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m64 -mtune=nocona   -o
 > libibdmcom.la -rpath /usr/local/ofed/lib64 -version-info "2:1:1"
 > Fabric.lo SubnMgt.lo TraceRoute.lo CredLoops.lo TopoMatch.lo SysDef.lo
 > LinkCover.lo Congestion.lo ibnl_parser.lo ibnl_scanner.lo
 > g++ -shared -nostdlib

So obviously one has to figure out why -shared did not cause -fPIC ?
Also not clear why this does not break on other machines. Anyways,
reproducing the problem is my first target.

One obvious thing to try is to set CFLAGS=-fPIC

As I do not have access to the exact type of your machine : FSM Labs v 2.2.3 with the 2.6.16 kernel
(as the weekend started over hear) I guess I will be able to reproduce only Sun/Mon.

Eitan

Don Snedigar wrote:
> I just downloaded the OFED-1.0 and the install was going fine until
> ibutils.  At that point, the install fails with :
>  
> Open MPI RPM will be created during the installation process
>  
> 
> Building ibutils RPM. Please wait...
>  
> Running rpmbuild --rebuild --define '_topdir /var/tmp/OFEDRPM' --define
> 'configure_options --prefix=/usr/local/ofed
> --mandir=/usr/local/ofed/share/man
> --cache-file=/var/tmp/OFED/ibutils.cache
> --with-osm=/var/tmp/OFED/usr/local/ofed --enable-ibmgtsim' --define
> '_prefix /usr/local/ofed' --define '_libdir /usr/local/ofed/lib64'
> --define '_mandir %{_prefix}/share/man' --define 'build_root
> /var/tmp/OFED' /home/snedigar/OFED-1.0/SRPMS/ibutils-1.0-0.src.rpm
> -
> ERROR: Failed executing "rpmbuild --rebuild --define '_topdir
> /var/tmp/OFEDRPM' --define 'configure_options --prefix=/usr/local/ofed
> --mandir=/usr/local/ofed/share/man
> --cache-file=/var/tmp/OFED/ibutils.cache
> --with-osm=/var/tmp/OFED/usr/local/ofed --enable-ibmgtsim' --define
> '_prefix /usr/local/ofed' --define '_libdir /usr/local/ofed/lib64'
> --define '_mandir %{_prefix}/share/man' --define 'build_root
> /var/tmp/OFED' /home/snedigar/OFED-1.0/SRPMS/ibutils-1.0-0.src.rpm"
>  
> See log file: /tmp/OFED.28656.log
> 
>  
> I dug down into the log file it indicates and found :
>  
>  g++ -DHAVE_CONFIG_H -I. -I. -I.. -O2
> -DIBDM_IBNL_DIR=\"/usr/local/ofed/lib64\" -I/usr/include -O2 -g -pipe
> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m64 -mtune=nocona -MT
> ibnl_scanner.lo -MD -MP -MF .deps/ibnl_scanner.Tpo -c ibnl_scanner.cc
> - -o .libs/ibnl_scanner.o
> ibnl_scanner.ll: In function 'int ibnl_lex()':
> ibnl_scanner.ll:197: warning: ignoring return value of 'size_t
> fwrite(const void*, size_t, size_t, FILE*)', declared with attribute
> warn_unused_result
>  g++ -DHAVE_CONFIG_H -I. -I. -I.. -O2
> -DIBDM_IBNL_DIR=\"/usr/local/ofed/lib64\" -I/usr/include -O2 -g -pipe
> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m64 -mtune=nocona -MT
> ibnl_scanner.lo -MD -MP -MF .deps/ibnl_scanner.Tpo -c ibnl_scanner.cc -o
> ibnl_scanner.o >/dev/null 2>&1
> /bin/sh ../libtool --tag=CXX --mode=link g++ -O2
> -DIBDM_IBNL_DIR='"/usr/local/ofed/lib64"' -I/usr/include -O2 -g -pipe
> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m64 -mtune=nocona   -o
> libibdmcom.la -rpath /usr/local/ofed/lib64 -version-info "2:1:1"
> Fabric.lo SubnMgt.lo TraceRoute.lo CredLoops.lo TopoMatch.lo SysDef.lo
> LinkCover.lo Congestion.lo ibnl_parser.lo ibnl_scanner.lo  
> g++ -shared -nostdlib
> /usr/lib/gcc/x86_64-redhat-linux/4.0.0/../../../../lib64/crti.o
> /usr/lib/gcc/x86_64-redhat-linux/4.0.0/crtbeginS.o  .libs/Fabric.o
> .libs/SubnMgt.o .libs/TraceRoute.o .libs/CredLoops.o .libs/TopoMatch.o
> .libs/SysDef.o .libs/LinkCover.o .libs/Congestion.o .libs/ibnl_parser.o
> .libs/ibnl_scanner.o  -L/usr/lib/gcc/x86_64-redhat-linux/4.0.0
> -L/usr/lib/gcc/x86_64-redhat-linux/4.0.0/../../../../lib64
> -L/usr/lib/gcc/x86_64-redhat-linux/4.0.0/../../.. -L/lib/../lib64
> -L/usr/lib/../lib64 -lstdc++ -lm -lc -lgcc_s
> /usr/lib/gcc/x86_64-redhat-linux/4.0.0/crtendS.o
> /usr/lib/gcc/x86_64-redhat-linux/4.0.0/../../../../lib64/crtn.o  -m64
> -mtune=nocona -Wl,-soname -Wl,libibdmcom.so.1 -o
> .libs/libibdmcom.so.1.1.1
> /usr/bin/ld:
> /usr/lib/gcc/x86_64-redhat-linux/4.0.0/libstdc++.a(mt_allocator.o):
> relocation R_X86_64_32 against `__gnu_internal::freelist_key' can not be
> used when making a shared object; recompile with -fPIC
> /usr/lib/gcc/x86_64-redhat-linux/4.0.0/libstdc++.a: could not read
> symbols: Bad value
> collect2: ld returned 1 exit status
> make[3]: *** [libibdmcom.la] Error 1
> make[3]: Leaving directory
> `/var/tmp/OFEDRPM/BUILD/ibutils-1.0/ibdm/datamodel'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/var/tmp/OFEDRPM/BUILD/ibutils-1.0/ibdm'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/var/tmp/OFEDRPM/BUILD/ibutils-1.0/ibdm'
> make: *** [all-recursive] Error 1
> error: Bad exit status from /var/tmp/rpm-tmp.16738 (%install)
>  
> 
> RPM build errors:
>     Bad exit status from /var/tmp/rpm-tmp.16738 (%install)
> ERROR: Failed executing "rpmbuild --rebuild --define '_topdir
> /var/tmp/OFEDRPM' --define 'configure_options --prefix=/usr/local/ofed
> --mandir=/usr/local/ofed/share/man
> --cache-file=/var/tmp/OFED/ibutils.cache
> --with-osm=/var/tmp/OFED/usr/local/ofed --enable-ibmgtsim' --define
> '_prefix /usr/local/ofed' --define '_libdir /usr/local/ofed/lib64'
> --define '_mandir %{_prefix}/share/man' --define 'build_root
> /var/tmp/OFED' /home/snedigar/OFED-1.0/SRPMS/ibutils-1.0-0.src.rpm"
> 
> Can anyone shed any light on this ?   
>  
> Machine is dual Opteron, 2 gig memory, kernel 2.6.16
>  
> Don Snedigar
> Calpont Corp.
> 214-618-9516
>  
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
> 
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general





More information about the general mailing list