Need help with library issue on x86_64

Hans de Goede j.w.r.degoede at hhs.nl
Wed Mar 15 18:14:53 UTC 2006


Are all the .o files for the library compiled with -fPIC? You can 
usually get away with forgetting -fPIC for i386 but not for x86_64.

Regards,

Hans


Orion Poplawski wrote:
> I maintain the hdf5 library for extras.  On a recent update, the FC3/4/5 
> x86_64 version broke (actually, don't know exactly when it broke, but 
> fairly recently):
> 
> *** Warning: This library needs some functionality provided by -lpthread.
> *** I have the capability to make that library automatically link in when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have.
> 
> *** Warning: This library needs some functionality provided by -lssl.
> *** I have the capability to make that library automatically link in when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have.
> 
> *** Warning: This library needs some functionality provided by -lcrypto.
> *** I have the capability to make that library automatically link in when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have.
> 
> *** Warning: This library needs some functionality provided by -lz.
> *** I have the capability to make that library automatically link in when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have.
> 
> *** Warning: This library needs some functionality provided by -lm.
> *** I have the capability to make that library automatically link in when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have.
> *** The inter-library dependencies that have been dropped here will be
> *** automatically added whenever a program is linked with this library
> *** or is declared to -dlopen it.
> gcc -shared  H5.lo H5A.lo H5AC.lo H5B.lo H5C.lo H5D.lo H5Dcontig.lo 
> H5Dcompact.lo H5Defl.lo H5Dio.lo H5Distore.lo H5Dmpio.lo H5Dselect.lo 
> H5Dtest.lo H5E.lo H5F.lo H5Fdbg.lo H5Fmount.lo H5Fsfile.lo H5Fsuper.lo 
> H5FD.lo H5FDcore.lo H5FDfamily.lo H5FDgass.lo H5FDlog.lo H5FDmpi.lo 
> H5FDmpio.lo H5FDmpiposix.lo H5FDmulti.lo H5FDsec2.lo H5FDsrb.lo 
> H5FDstdio.lo H5FDstream.lo H5FL.lo H5FO.lo H5FS.lo H5G.lo H5Gent.lo 
> H5Gnode.lo H5Gstab.lo H5HG.lo H5HGdbg.lo H5HL.lo H5HLdbg.lo H5HP.lo 
> H5I.lo H5MF.lo H5MM.lo H5O.lo H5Oattr.lo H5Obogus.lo H5Ocont.lo 
> H5Odtype.lo H5Oefl.lo H5Ofill.lo H5Olayout.lo H5Omtime.lo H5Oname.lo 
> H5Onull.lo H5Opline.lo H5Osdspace.lo H5Oshared.lo H5Ostab.lo H5P.lo 
> H5Pdcpl.lo H5Pdxpl.lo H5Pfapl.lo H5Pfcpl.lo H5Ptest.lo H5R.lo H5RC.lo 
> H5RS.lo H5S.lo H5Sall.lo H5Shyper.lo H5Smpio.lo H5Snone.lo H5Spoint.lo 
> H5Sselect.lo H5Stest.lo H5SL.lo H5ST.lo H5T.lo H5Tarray.lo H5Tbit.lo 
> H5Tcommit.lo H5Tcompound.lo H5Tconv.lo H5Tcset.lo H5Tenum.lo 
> H5Tfields.lo H5Tfixed.lo H5Tfloat.lo H5Tinit.lo H5Tnative.lo 
> H5Toffset.lo H5Topaque.lo H5Torder.lo H5Tpad.lo H5Tprecis.lo 
> H5Tstrpad.lo H5Tvlen.lo H5TS.lo H5V.lo H5Z.lo H5Zdeflate.lo 
> H5Zfletcher32.lo H5Zshuffle.lo H5Zszip.lo   -Wl,-soname -Wl,libhdf5.so.0 
> -o .libs/libhdf5.so.0.0.0
> 
> As a result, the library does not bring in dependencies automatically:
> 
> $ ldd /usr/lib64/libhdf5.so.0.0.0
> ldd: warning: you do not have execution permission for 
> `/usr/lib64/libhdf5.so.0.0.0'
>         libc.so.6 => /lib64/libc.so.6 (0x00002aaaaacd7000)
>         /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
> 
> It works fine on i386 and ppc.
> 
> I really have no idea where to look next...  This is a libtool issue, 
> right?  On the other platforms the link line lists the libraries:
> 
> gcc -shared  H5.lo H5A.lo H5AC.lo H5B.lo H5C.lo H5D.lo H5Dcontig.lo 
> H5Dcompact.lo H5Defl.lo H5Dio.lo H5Distore.lo H5Dmpio.lo H5Dselect.lo 
> H5Dtest.lo H5E.lo H5F.lo H5Fdbg.lo H5Fmount.lo H5Fsfile.lo H5Fsuper.lo 
> H5FD.lo H5FDcore.lo H5FDfamily.lo H5FDgass.lo H5FDlog.lo H5FDmpi.lo 
> H5FDmpio.lo H5FDmpiposix.lo H5FDmulti.lo H5FDsec2.lo H5FDsrb.lo 
> H5FDstdio.lo H5FDstream.lo H5FL.lo H5FO.lo H5FS.lo H5G.lo H5Gent.lo 
> H5Gnode.lo H5Gstab.lo H5HG.lo H5HGdbg.lo H5HL.lo H5HLdbg.lo H5HP.lo 
> H5I.lo H5MF.lo H5MM.lo H5O.lo H5Oattr.lo H5Obogus.lo H5Ocont.lo 
> H5Odtype.lo H5Oefl.lo H5Ofill.lo H5Olayout.lo H5Omtime.lo H5Oname.lo 
> H5Onull.lo H5Opline.lo H5Osdspace.lo H5Oshared.lo H5Ostab.lo H5P.lo 
> H5Pdcpl.lo H5Pdxpl.lo H5Pfapl.lo H5Pfcpl.lo H5Ptest.lo H5R.lo H5RC.lo 
> H5RS.lo H5S.lo H5Sall.lo H5Shyper.lo H5Smpio.lo H5Snone.lo H5Spoint.lo 
> H5Sselect.lo H5Stest.lo H5SL.lo H5ST.lo H5T.lo H5Tarray.lo H5Tbit.lo 
> H5Tcommit.lo H5Tcompound.lo H5Tconv.lo H5Tcset.lo H5Tenum.lo 
> H5Tfields.lo H5Tfixed.lo H5Tfloat.lo H5Tinit.lo H5Tnative.lo 
> H5Toffset.lo H5Topaque.lo H5Torder.lo H5Tpad.lo H5Tprecis.lo 
> H5Tstrpad.lo H5Tvlen.lo H5TS.lo H5V.lo H5Z.lo H5Zdeflate.lo 
> H5Zfletcher32.lo H5Zshuffle.lo H5Zszip.lo  -lpthread -lssl -lcrypto -lz 
> -lm  -Wl,-soname -Wl,libhdf5.so.0 -o .libs/libhdf5.so.0.0.0
> 




More information about the Fedora-maintainers mailing list