pkgsrc-Users archive

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

macOS 12.x (Monterey) vs. pkgsrc



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



Home | Main Index | Thread Index | Old Index