So I've recently (Feb 25) updated my pkgsrc working directory and started building packages on my new Mac running macOS 12.1 (Monterey), and I've been running into an extraordinary number of problems that I didn't really expect, especially given the relative few packages I've been trying to build (all of which work fine on NetBSD of course). Is anyone else actively using pkgsrc on the latest macOS, or am I venturing out into new territory? Here's one particularly vexing problem that I don't have a known-good solution to yet (just a work-around, shown below): building shared avltree library (version 1.1) clang -shared -o libavltree.so.1.1 -Wl,-force_load libavltree_pic.a ===> Installing for avltree-1.1nb1 => Generating pre-install file lists => Creating installation directories /opt/pkg/bin/install-sh -c -o root -g wheel -m 644 avltree.h /var/package-obj/root/devel/avltree/work/.destdir/opt/pkg/include/avltree.h /opt/pkg/bin/install-sh -c -o root -g wheel -m 600 libavltree.a /var/package-obj/root/devel/avltree/work/.destdir/opt/pkg/lib/libavltree.a touch /var/package-obj/root/devel/avltree/work/.destdir/opt/pkg/lib/libavltree.a chmod 644 /var/package-obj/root/devel/avltree/work/.destdir/opt/pkg/lib/libavltree.a /opt/pkg/bin/install-sh -c -o root -g wheel -m 600 libavltree_p.a /var/package-obj/root/devel/avltree/work/.destdir/opt/pkg/lib/libavltree_p.a touch /var/package-obj/root/devel/avltree/work/.destdir/opt/pkg/lib/libavltree_p.a chmod 644 /var/package-obj/root/devel/avltree/work/.destdir/opt/pkg/lib/libavltree_p.a /opt/pkg/bin/install-sh -c -o root -g wheel -m 644 libavltree.so.1.1 /var/package-obj/root/devel/avltree/work/.destdir/opt/pkg/lib/libavltree.so.1.1 /opt/pkg/bin/install-sh -c -o root -g wheel -m 644 avltree.3 /var/package-obj/root/devel/avltree/work/.destdir/opt/pkg/share/man/man3/avltree.3 /bin/rm -f /var/package-obj/root/devel/avltree/work/.PLIST_deps => Automatic manual page compression => Generating post-install file lists => Checking file-check results for avltree-1.1nb1 => Checking for missing run-time search paths in avltree-1.1nb1 ERROR: lib/libavltree.so.1.1: relative library path: libavltree.so.1.1 ERROR: lib/libavltree.so.1.1: missing library: libavltree.so.1.1 *** Error code 1 Stop. bmake[1]: stopped in /Volumes/work/woods/m-NetBSD-pkgsrc-current/devel/avltree *** Error code 1 Stop. bmake: stopped in /Volumes/work/woods/m-NetBSD-pkgsrc-current/devel/avltree /opt/pkg/bin/pdksh: exit code: 1 # otool -XL libavltree.so.1.1 libavltree.so.1.1 (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.0.0) I'm thinking mk/check/check-shlibs-macho.awk should not complain if then library depends on itself like this? I.e.: --- check-shlibs-macho.awk.~1.9.~ 2022-02-25 13:29:44.287094249 -0800 +++ check-shlibs-macho.awk 2022-03-01 20:11:11.075443076 -0800 @@ -68,6 +68,12 @@ close(depends_file) } +function basename(path, + arr) +{ + return(arr[split(path, arr, "/")]) +} + function checkshlib(DSO, needed, found) { cmd = "otool -XL " shquote(DSO) " 2>/dev/null" while ((cmd | getline) > 0) { @@ -84,6 +90,8 @@ close(cmd) ndirs = split(cross_destdir ":" destdir, check_dirs, ":") for (lib in needed) { + if (lib == basename(DSO)) + continue; # # Ensure we don't have any WRKDIR references. # -- Greg A. Woods <gwoods%acm.org@localhost> Kelowna, BC +1 250 762-7675 RoboHack <woods%robohack.ca@localhost> Planix, Inc. <woods%planix.com@localhost> Avoncote Farms <woods%avoncote.ca@localhost>
Attachment:
pgp0qxi4A8Gyv.pgp
Description: OpenPGP Digital Signature