tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
bad package build of gcc10
This message is about the bad package that gave rise to the 'false
alert' thread.
I'm building gcc10 on netbsd-10, pkgsrc-current, with pretty much
everything on zfs, which has been stable. I do have a WRKOBJDIR -- but
that's not odd.
After building a package, 'make replace' errored out with the shlibs
check, leaving no package installed.
Now there's an additional library:
# sudo pkg_add -u /links/packages/All/gcc10-10.5.0nb2.tgz
pkg_add: Missing required library: /usr/pkg/gcc10//lib/./libgcc_s.so.1
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
Rooting around destdir, I found a file that references quadmath:
$ objdump -x work/.destdir/usr/pkg/gcc10/lib/libgfortran.so.5.0|egrep NEED\|RPATH
NEEDED libquadmath.so.0
NEEDED libm.so.0
NEEDED libgcc_s.so.1
NEEDED libc.so.12
RPATH /usr/pkg/gcc10//lib/.:/usr/pkg/gcc10/lib/.:/usr/pkg/gcc10/lib:/usr/pkg/lib
VERNEED 0x0000000000017a98
VERNEEDNUM 0x0000000000000002
and that seems to be the issue: //lib/. instead of /lib, leading to a
REQUIRES that should have been a match to the PROVIDES and hence
omittted. Basically, the checking code is not using the same resolution
rules that the dynamic linker does.
(I'm assuming that an ELF object that needs a lib that is part of the
package does not result in REQUIRES.)
Does anyone know why this RPATH is showing up?
Does the theory that it should have been canonicalized (well, not RPATH,
but the resulting lib) seem valid?
Home |
Main Index |
Thread Index |
Old Index