freebsd / pkg

Package management tool for FreeBSD. Help at #pkg on Libera Chat or pkg@FreeBSD.org
Other
748 stars 279 forks source link

shlib tracking=yes install errors in science/paraview #249

Closed mexas closed 12 years ago

mexas commented 12 years ago

pkg -vvv

version: 1.0-beta14 abi: freebsd:10:ia64:64 db dir: /var/db/pkg cache dir: /var/cache/pkg ports dir: /usr/ports Log into syslog: yes Assume always yes: no Handle rc scripts: no Track shlibs: yes Automatic dependency tracking: no Custom keywords directory: none Developer mode: no Repository: ftp://ftp.freebsd.org/pub/pkgng

I get lots of:

pkg: accessing shared library libvtkCommon.so.pv3.10 failed -- Shared object "libvtkCommon.so.pv3.10" not found, required by "pkg"

installing under science/paraview.

The full install log:

http://seis.bris.ac.uk/~mexas/paraview-pkgng.log

infracaninophile commented 12 years ago

I can confirm that I get the same output:

pkg: accessing shared library libvtkFiltering.so.pv3.10 failed -- Shared object "libvtkFiltering.so.pv3.10" not found, required by "pkg"
pkg: accessing shared library libvtkCommonPythonD.so.pv3.10 failed -- Shared object "libvtkCommonPythonD.so.pv3.10" not found, required by "pkg"
pkg: accessing shared library libvtkPythonCore.so.pv3.10 failed -- Shared object "libvtkPythonCore.so.pv3.10" not found, required by "pkg"
pkg: accessing shared library libvtkCommon.so.pv3.10 failed -- Shared object "libvtkCommon.so.pv3.10" not found, required by "pkg"
pkg: accessing shared library libvtksys.so.pv3.10 failed -- Shared object "libvtksys.so.pv3.10" not found, required by "pkg"

(and, man this port is a beast. It took all night to compile it and its dependencies)

This appears to be mostly cosmetic -- it doesn't prevent the package installing successfully.

Problem occurs during the autodeps processing in test_deps() around line 63 of libpkg/pkg-elf.c So, taking one of those objects as an example:

# find /usr/local -name libvtksys.so.pv3.10 
/usr/local/lib/paraview-3.10/libvtksys.so.pv3.10

dlopen() is not finding those files because /usr/local/lib/paraview-3.10 is not on ld.so's search path. At least one of the executables installed by paraview suffers from this. Arguably it is a bug in the port, but I think pkgng should probably handle this sort of thing more gracefully.

# ldd /usr/local/bin/kwProcessXML
/usr/local/bin/kwProcessXML:
    libvtkCommon.so.pv3.10 => not found (0)
    libvtksys.so.pv3.10 => not found (0)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x80081f000)
    libm.so.5 => /lib/libm.so.5 (0x800b1a000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x800d38000)
    libc.so.7 => /lib/libc.so.7 (0x800f45000)
mexas commented 12 years ago

I don't really understand what you are talking about (I'm just a user of paraview), but your patch to #244 helps here too:

===> Running ldconfig /sbin/ldconfig -m /usr/local/lib ===> Registering installation for paraview-3.10.1 Installing paraview-3.10.1... done ===> SECURITY REPORT: This port has installed the following files which may act as network servers and may therefore pose a remote security risk to the system. /usr/local/lib/paraview-3.10/libvtkCommon.so.pv3.10

  If there are vulnerabilities in these programs there may be a security
  risk to the system. FreeBSD makes no guarantee about the security of
  ports included in the Ports Collection. Please type 'make deinstall'
  to deinstall the port if this is a concern.

  For more information, and contact details about the security
  status of this software, see the following webpage: 

http://www.paraview.org/

===> Cleaning for paraview-3.10.1

===>>> Re-installation of paraview-3.10.1 complete

pkg -vvv

version: 1.0-beta14 abi: freebsd:10:ia64:64 db dir: /var/db/pkg cache dir: /var/cache/pkg ports dir: /usr/ports Log into syslog: yes Assume always yes: no Handle rc scripts: no Track shlibs: yes Automatic dependency tracking: no Custom keywords directory: none Developer mode: no Repository: ftp://ftp.freebsd.org/pub/pkgng

i.e. I can reinstall this port with no pkg-related errors.

Thanks

infracaninophile commented 12 years ago

Interesting. All those error messages about accessing shared libraries went away? There haven't been any changes in pkgng to affect that. Can you show me the output of:

% ldconfig -r | grep search

and did you have to change anything, eg. in /etc/rc.conf ?

mexas commented 12 years ago

On Fri, Jun 01, 2012 at 05:30:20AM -0700, Matthew Seaman wrote:

Interesting. All those error messages about accessing shared libraries went away? There haven't been any changes in pkgng to affect that. Can you show me the output of:

% ldconfig -r | grep search

ldconfig -r |grep search

    search directories: /lib:/usr/lib:/usr/lib/compat:/usr/local/lib:/usr/local/kde4/lib:/usr/local/lib/R/lib:/usr/local/lib/gcc46:/usr/local/lib/gcc47:/usr/local/lib/graphviz:/usr/local/lib/nss:/usr/local/lib/qt4
    574:-lsearchclient.0 => /usr/local/lib/libsearchclient.so.0

#

and did you have to change anything, eg. in /etc/rc.conf ?

no, just applied your patch from #244, and it solved xpdf, gmp, ... and paraview.

I'll rebuild it again, just to be sure.

Anton Shterenlikht Room 2.6, Queen's Building Mech Eng Dept Bristol University University Walk, Bristol BS8 1TR, UK Tel: +44 (0)117 331 5944 Fax: +44 (0)117 929 4423

infracaninophile commented 12 years ago

This should be fixed by 3e1b8d4a7d1ba46f768d13565c63fee1ab80c93c et seq.