tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

false alert on new pkg_add shlibs check?



I run 'pkgin ar' fairly often as part of updating, as part of trying to
build only what I need, and not rebuilding things that were indirectly
needed in the past.  I use bin-install for DEPENDS_TARGET, and generally
this mostly works.

I just tried to rebuild wip/py-homeassistant which has a straight
DEPENDS on gcc10, on a netbsd-10 amd64 box, with 2024Q3 and wip.  (The
package intends to ensure that gfortran is available at runtime.)

pkgsrc correctly tries to install the gcc10 binary package, and then
objects as required libraries are missing:

  # pkg_add /links/packages/All/gcc10-10.5.0nb2.tgz 
  pkg_add: Missing required library: /usr/pkg/gcc10//lib/./libquadmath.so.0
  pkg_add: Missing required library: /usr/pkg/gcc10//lib/./libstdc++.so.7
  pkg_add: 1 package addition failed

But:

  My package was built on October 15, on the same machine.  I have
  PKG_DEVELOPER=yes.

  I am not doing anything particularly odd, and this pkgsrc instance is
  not otherwise troubled.

  $ tar tfvz /links/packages/All/gcc10-10.5.0nb2.tgz | egrep 'libquadmath|libstdc\+\+'
  -rw-r--r--  0 root   wheel    36738 Oct 15 15:20 gcc10/info/libquadmath.info
  -rw-r--r--  0 root   wheel  2130682 Oct 15 15:20 gcc10/lib/libquadmath.a
  -rwxr-xr-x  0 root   wheel      970 Oct 15 15:20 gcc10/lib/libquadmath.la
  lrwxr-xr-x  0 root   wheel        0 Oct 15 15:20 gcc10/lib/libquadmath.so -> libquadmath.so.0.0
  lrwxr-xr-x  0 root   wheel        0 Oct 15 15:20 gcc10/lib/libquadmath.so.0 -> libquadmath.so.0.0
  -rwxr-xr-x  0 root   wheel  1260208 Oct 15 15:20 gcc10/lib/libquadmath.so.0.0
  -rw-r--r--  0 root   wheel 52938644 Oct 15 15:20 gcc10/lib/libstdc++.a
  -rwxr-xr-x  0 root   wheel      958 Oct 15 15:20 gcc10/lib/libstdc++.la
  lrwxr-xr-x  0 root   wheel        0 Oct 15 15:20 gcc10/lib/libstdc++.so -> libstdc++.so.7.28
  lrwxr-xr-x  0 root   wheel        0 Oct 15 15:20 gcc10/lib/libstdc++.so.7 -> libstdc++.so.7.28
  -rwxr-xr-x  0 root   wheel 20614512 Oct 15 15:20 gcc10/lib/libstdc++.so.7.28
  -rw-r--r--  0 root   wheel     2397 Oct 15 15:20 gcc10/lib/libstdc++.so.7.28-gdb.py
  -rw-r--r--  0 root   wheel 13247278 Oct 15 15:20 gcc10/lib/libstdc++fs.a
  -rwxr-xr-x  0 root   wheel      900 Oct 15 15:20 gcc10/lib/libstdc++fs.la

The format of the 'missing required libraries' is non-canonical, and I
wonder if that string is not matching the PLIST, even though it does
match in terms of "try to open, does it work".

+BUILD_INFO has

  REQUIRES=/usr/pkg/gcc10//lib/./libquadmath.so.0
  REQUIRES=/usr/pkg/gcc10//lib/./libstdc++.so.7

but also

  PROVIDES=/usr/pkg/gcc10/lib/libquadmath.so
  PROVIDES=/usr/pkg/gcc10/lib/libquadmath.so.0
  PROVIDES=/usr/pkg/gcc10/lib/libquadmath.so.0.0
  PROVIDES=/usr/pkg/gcc10/lib/libstdc++.so
  PROVIDES=/usr/pkg/gcc10/lib/libstdc++.so.7
  PROVIDES=/usr/pkg/gcc10/lib/libstdc++.so.7.28

I tried to use -f to override this check but even two -f did not.  The
man page does not explain how to override it, and does not document that
this check is performed.  /usr/sbin/pkg_add worked to install, but
that's obviously not a long-term solution.

It seems that

  it's a bug in the gcc10 package to both REQUIRES and  PROVIDES the
  same file

  it's a bug in the gcc10 package to have non-canonical paths in
  REQUIRES

  it's a bug in pkg_add to not document the check

  it's a bug in pkg_add to not document the check

Is anybody else seeing this?


Home | Main Index | Thread Index | Old Index