maintainer-feedback requested: [Bug 274108] devel/libnotify: fix build with lld 17
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 274108] devel/libnotify: fix build with lld 17"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 26 Sep 2023 14:24:53 UTC
Bugzilla Automation <bugzilla@FreeBSD.org> has asked freebsd-desktop (Team) <desktop@FreeBSD.org> for maintainer-feedback: Bug 274108: devel/libnotify: fix build with lld 17 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274108 --- Description --- Building devel/libnotify with lld 17 results in the following link error: cc -o libnotify/libnotify.so.4.0.0 libnotify/libnotify.so.4.0.0.p/meson-generated_.._notify-enum-types.c.o libnotify/libnotify.so.4.0.0.p/meson-generated_.._notify-marshal.c.o libnotify/libnotify.so.4.0.0.p/notify.c.o libnotify/libnotify.so.4.0.0.p/notification.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,libnotify.so.4 -fstack-protector-strong -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wl,-rpath,/usr/local/lib -Wl,-rpath-link,/usr/local/lib -Wl,--version-script,/wrkdirs/share/dim/ports/devel/libnotify/work/libnotify-0. 8.2/libnotify/libnotify.map /usr/local/lib/libgdk_pixbuf-2.0.so /usr/local/lib/libgobject-2.0.so /usr/local/lib/libglib-2.0.so /usr/local/lib/libintl.so /usr/local/lib/libgio-2.0.so -Wl,--end-group ld: error: version script assignment of 'global' to symbol '__progname' failed: symbol not defined ld: error: version script assignment of 'global' to symbol 'environ' failed: symbol not defined cc: error: linker command failed with exit code 1 (use -v to see invocation) This is because lld 17 defaults to errors when undefined symbols are referenced in linker version scripts. Apparently the __progname and environ symbols (which usually come from libc, not libnotify.so) were explicitly added in: commit 0b0b10cff8d7b5ed08d11c6fa4d66e1977d6eb79 Author: Baptiste Daroussin <bapt@FreeBSD.org> Date: 2019-12-16T19:40:37+01:00 Fix build with old binutils. Somehow linker scripts should not hide __progname and environ from symbols. Reported by: kib but it is unclear what the original error was, or how old "old" is, and there is no reference to a PR. In any case, I think the devel/libnotify/files/patch-libnotify_libnotify.map file can simply be deleted now.