Bug 203882 - ports-mgmt/pkg: pkg check -d misses libraries that are symlinks
Summary: ports-mgmt/pkg: pkg check -d misses libraries that are symlinks
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-pkg (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-10-20 04:14 UTC by rkoberman
Modified: 2015-10-31 11:17 UTC (History)
3 users (show)

See Also:
bugzilla: maintainer-feedback? (pkg)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description rkoberman 2015-10-20 04:14:07 UTC
pkg-1.6 does not handle shareable library dependencies that are symlinks.
# pkg check -d gnome-vfs
Checking gnome-vfs: 100%
gnome-vfs has require a missing libraries: libcom_err.so
gnome-vfs has require a missing libraries: libgssapi_krb5.so
gnome-vfs has require a missing libraries: libkrb5.so

All are present and the port works correctly, but, because the port links to a symlink, pkg shows it as missing. Note: This example involves unversioned entries, but it also applies to versioned shareables that are symlinks.
Comment 1 Baptiste Daroussin freebsd_committer freebsd_triage 2015-10-20 06:55:58 UTC
Is that with a new installation or an old setup that got upgraded from at least pkg 1.3?

The reason I'm asking is due to the: 20140826 UPDATING entry
Comment 2 rkoberman 2015-10-20 19:13:55 UTC
This system is a bit over four years old and was converted from the old package system to pkg shortly after it was released, so it significantly pre-dates 1.3.7. I think I followed the UPDATING instructions, but as it was over a year ago, so I am not really certain. 

I just ran a check -Ba and it runs cleanly. check -d still produces the same messages.
Comment 3 rainer 2015-10-20 20:35:50 UTC
Hey, I've got that, too:

(serverrr </root>) 0 # pkg check -da
Checking all packages: 100%
sssd has require a missing libraries: libcom_err.so
sssd has require a missing libraries: libk5crypto.so
sssd has require a missing libraries: libkrb5.so

This is the 2015Q4 cut of packages (but built with my own poudriere).

The libraries are there.

(serverrr </root>) 0 # ll /usr/local/lib/libkrb* /usr/local/lib/libcom_err* /usr/local/lib/libk5crypto.so*
lrwxr-xr-x  1 root  wheel      15 Oct  3 00:55 /usr/local/lib/libcom_err.so -> libcom_err.so.3
-r--r--r--  1 root  wheel   11968 Oct  3 00:55 /usr/local/lib/libcom_err.so.3
lrwxr-xr-x  1 root  wheel      16 Oct  3 00:55 /usr/local/lib/libk5crypto.so -> libk5crypto.so.3
-r--r--r--  1 root  wheel  190656 Oct  3 00:55 /usr/local/lib/libk5crypto.so.3
lrwxr-xr-x  1 root  wheel      12 Oct  3 00:55 /usr/local/lib/libkrb5.so -> libkrb5.so.3
-r--r--r--  1 root  wheel  917584 Oct  3 00:55 /usr/local/lib/libkrb5.so.3
lrwxr-xr-x  1 root  wheel      19 Oct  3 00:55 /usr/local/lib/libkrb5support.so -> libkrb5support.so.0
-r--r--r--  1 root  wheel   52792 Oct  3 00:55 /usr/local/lib/libkrb5support.so.0

This system wasn't that old. Two or three quarters.
Comment 4 Baptiste Daroussin freebsd_committer freebsd_triage 2015-10-20 21:39:25 UTC
that is in fact good thing:
pkg is showing an issue from the krb5 package and e2fsprogs package:
they create libs without a soname which is bad for various reasons.

That makes the programs linked to libfoo.so and not libfoo.so.X[.Y.Z]

Adding in CC both maintainers of e2fsprogs and krb5
Comment 5 commit-hook freebsd_committer freebsd_triage 2015-10-21 06:59:28 UTC
A commit references this bug:

Author: cy
Date: Wed Oct 21 06:59:10 UTC 2015
New revision: 399891
URL: https://svnweb.freebsd.org/changeset/ports/399891

Log:
  Add sonames and minor versioned library names.

  PR:             203882

Changes:
  head/security/krb5/Makefile
  head/security/krb5/files/patch-config__shlib.conf
  head/security/krb5/pkg-plist