Bug 283305 - x11-toolkits/libwnck3: poudriere build failed at linker stage on FreeBSD 14.2-STABLE, LLVM 19
Summary: x11-toolkits/libwnck3: poudriere build failed at linker stage on FreeBSD 14.2...
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-gnome (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-12-13 12:00 UTC by Sergey V. Koupreyenko
Modified: 2025-02-02 17:27 UTC (History)
7 users (show)

See Also:
bugzilla: maintainer-feedback? (gnome)


Attachments
tentative patch for libwnck3 with llvm19 (623 bytes, patch)
2024-12-16 14:35 UTC, Thomas Mueller
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey V. Koupreyenko 2024-12-13 12:00:40 UTC
Here are the poudriere build log fragments:

=>> Building x11-toolkits/libwnck3
build started at Fri Dec 13 11:10:56 MSK 2024
port directory: /usr/ports/x11-toolkits/libwnck3
package name: libwnck3-3.36.0_2
building for: FreeBSD freebsd.fractel.priv 14.2-STABLE FreeBSD 14.2-STABLE 1402501 amd64
maintained by: gnome@FreeBSD.org
Makefile datestamp: -rw-r--r--  1 root wheel 779 Jan 25  2024 /usr/ports/x11-toolkits/libwnck3/Makefile
Poudriere version: poudriere-git-3.4.2
Host OSVERSION: 1402501
Jail OSVERSION: 1402501
Job Id: 01

---Begin Environment---
SHELL=/bin/sh
OSVERSION=1402501
UNAME_v=FreeBSD 14.2-STABLE 1402501
UNAME_r=14.2-STABLE
BLOCKSIZE=K
MAIL=/var/mail/root
MM_CHARSET=UTF-8
LANG=C.UTF-8
STATUS=1
HOME=/root
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
MAKE_OBJDIR_CHECK_WRITABLE=0
LOCALBASE=/usr/local
USER=root
POUDRIERE_NAME=poudriere-git
LIBEXECPREFIX=/usr/local/libexec/poudriere
POUDRIERE_VERSION=3.4.2
MASTERMNT=/poudriere/data/.m/14-stable-amd64-default-amd64/ref
LC_COLLATE=C
POUDRIERE_BUILD_TYPE=bulk
PACKAGE_BUILDING=yes
SAVED_TERM=tmux-256color
GID=0
OUTPUT_REDIRECTED_STDERR=4
OUTPUT_REDIRECTED=1
UID=0
PWD=/poudriere/data/.m/14-stable-amd64-default-amd64/01/.p
OUTPUT_REDIRECTED_STDOUT=3
P_PORTS_FEATURES=FLAVORS SUBPACKAGES SELECTED_OPTIONS
MASTERNAME=14-stable-amd64-default-amd64
SCRIPTPREFIX=/usr/local/share/poudriere
SCRIPTNAME=bulk.sh
OLDPWD=/poudriere/data/.m/14-stable-amd64-default-amd64/ref/.p/pool
POUDRIERE_PKGNAME=poudriere-git-3.4.2
SCRIPTPATH=/usr/local/share/poudriere/bulk.sh
POUDRIEREPATH=/usr/local/bin/poudriere
---End Environment---

---Begin Poudriere Port Flags/Env---
PORT_FLAGS=
PKGENV=
FLAVOR=
MAKE_ARGS=
---End Poudriere Port Flags/Env---

---Begin OPTIONS List---
===> The following configuration options are available for libwnck3-3.36.0_2:
     STARTUP=on: Startup notification support
===> Use 'make config' to modify these settings
---End OPTIONS List---

--MAINTAINER--
gnome@FreeBSD.org
--End MAINTAINER--

--CONFIGURE_ARGS--
--prefix /usr/local  --infodir share/info --auto-features=enabled -Dpython.bytecompile=-1 -Db_colorout=never --buildtype release  --optimization plain  --strip -Dgtk_doc=false  -Dinstall_tools=false -Dstartup_notification=enabled _build
--End CONFIGURE_ARGS--

--CONFIGURE_ENV--
PKG_CONFIG=pkgconf XDG_DATA_HOME=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work  XDG_CACHE_HOME=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/.cache  HOME=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh CMAKE_PREFIX_PATH="/usr/local"
--End CONFIGURE_ENV--

--MAKE_ENV--
GI_SCANNER_DISABLE_CACHE=1 NINJA_STATUS="[%p %s/%t] " XDG_DATA_HOME=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work  XDG_CACHE_HOME=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/.cache  HOME=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES DESTDIR=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/stage PREFIX=/usr/local  LOCALBASE=/usr/local  CC="cc" CFLAGS="-O2 -pipe  -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing "  CPP="cpp" CPPFLAGS="-isystem /usr/local/include"  LDFLAGS=" -fstack-protector-strong " LIBS="-L/usr/local/lib"  CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include " BSD_INSTALL_PROGRAM="install  -s -m 555"  BSD_INSTALL_LIB="install  -s -m 0644"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444"
--End MAKE_ENV--

--PLIST_SUB--
 GTK2_VERSION="2.10.0"  GTK3_VERSION="3.0.0"  GTK4_VERSION="4.0.0" OSREL=14.2 PREFIX=%D LOCALBASE=/usr/local  RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/libwnck"  EXAMPLESDIR="share/examples/libwnck"  DATADIR="share/libwnck"  WWWDIR="www/libwnck"  ETCDIR="etc/libwnck"
--End PLIST_SUB--

--SUB_LIST--
 PREFIX=/usr/local LOCALBASE=/usr/local  DATADIR=/usr/local/share/libwnck DOCSDIR=/usr/local/share/doc/libwnck EXAMPLESDIR=/usr/local/share/examples/libwnck  WWWDIR=/usr/local/www/libwnck ETCDIR=/usr/local/etc/libwnck
--End SUB_LIST--

---Begin make.conf---
KERNCONF=	GENERIC

.if ${.CURDIR:M*/math/openblas}
TARGET_CPU_ARCH=	NEHALEM
.endif
USE_PACKAGE_DEPENDS=yes
BATCH=yes
WRKDIRPREFIX=/wrkdirs
PORTSDIR=/usr/ports
PACKAGES=/packages
DISTDIR=/distfiles
FORCE_PACKAGE=yes
PACKAGE_BUILDING=yes
PACKAGE_BUILDING_FLAVORS=yes
####  ####
DEFAULT_VERSIONS+=	llvm=19
####  ####
WITH_PKGNG=		yes
NO_PORTSUPDATE=		yes
NO_IGNORE=		yes

LICENSES_ACCEPTED=	GPLv2+ MSPAT

DEFAULT_VERSIONS+=      apache=2.4
DEFAULT_VERSIONS+=      java=21
DEFAULT_VERSIONS+=      linux=rl9
DEFAULT_VERSIONS+=      mysql=8.4
DEFAULT_VERSIONS+=      perl5=5.38
DEFAULT_VERSIONS+=      pgsql=16
DEFAULT_VERSIONS+=      php=8.3
DEFAULT_VERSIONS+=      python=3.11
DEFAULT_VERSIONS+=      python3=3.11
DEFAULT_VERSIONS+=      ruby=3.2
DEFAULT_VERSIONS+=      samba=4.19
DEFAULT_VERSIONS+=      ssl=base
####  ####
KERNCONF=	GENERIC

.if ${.CURDIR:M*/math/openblas}
TARGET_CPU_ARCH=	NEHALEM
.endif
#### Misc Poudriere ####
.include "/etc/make.conf.ports_env"
DISABLE_MAKE_JOBS=poudriere
---End make.conf---

. . .

[ 17% 24/135] /usr/local/bin/meson --internal symbolextractor /wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/_build libwnck/libwnck-3.so.0.3.0 libwnck/libwnck-3.so.0.3.0 libwnck/libwnck-3.so.0.3.0.p/libwnck-3.so.0.3.0.symbols 
[ 18% 25/135] env PKG_CONFIG_PATH=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/_build/meson-uninstalled PKG_CONFIG=/usr/local/bin/pkgconf CC=cc /usr/local/bin/g-ir-scanner --quiet --no-libtool --namespace=Wnck --nsversion=3.0 --warn-all --output libwnck/Wnck-3.0.gir --c-include=libwnck/libwnck.h -I/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/libwnck -I/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/_build/libwnck -I/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/. -I/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/_build/. --filelist=/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/_build/libwnck/libwnck-3.so.0.3.0.p/Wnck_3.0_gir_filelist --include=GObject-2.0 --include=GdkPixbuf-2.0 --include=Gtk-3.0 --pkg-export=libwnck-3.0 --cflags-begin -I/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/. -I/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/_build/. '-DG_LOG_DOMAIN="Wnck"' -DWNCK_I_KNOW_THIS_IS_UNSTABLE '-DWNCK_LOCALEDIR="/usr/local/share/locale"' -DWNCK_COMPILATION -DSN_API_NOT_YET_FROZEN=1 -I/usr/local/include/cairo -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -D_THREAD_SAFE -I/usr/local/include/gtk-3.0 -I/usr/local/include/pango-1.0 -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/at-spi2-atk/2.0 -I/usr/local/include/at-spi-2.0 -I/usr/local/include/atk-1.0 -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/usr/local/include/libepoll-shim -I/usr/local/include/fribidi -I/usr/local/include/harfbuzz -I/usr/local/include/gio-unix-2.0 -I/usr/local/include/startup-notification-1.0 -I/usr/local/include/gobject-introspection-1.0 --cflags-end --add-include-path=/usr/local/share/gir-1.0 -L/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/_build/libwnck --library wnck-3 -L/usr/local/lib --extra-library=m -L/usr/local/lib --extra-library=cairo --extra-library=Xext --extra-library=Xrender --extra-library=X11 --extra-library=glib-2.0 --extra-library=intl --extra-library=gobject-2.0 --extra-library=gtk-3 --extra-library=gdk-3 --extra-library=z --extra-library=pangocairo-1.0 --extra-library=pango-1.0 --extra-library=harfbuzz --extra-library=atk-1.0 --extra-library=cairo-gobject --extra-library=gdk_pixbuf-2.0 --extra-library=gio-2.0 --extra-library=startup-notification-1 --extra-library=XRes --extra-library=girepository-1.0 --sources-top-dirs /wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/ --sources-top-dirs /wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/_build/
[ 19% 26/135] /usr/local/bin/g-ir-compiler libwnck/Wnck-3.0.gir --output libwnck/Wnck-3.0.typelib --includedir=/usr/local/share/gir-1.0
[ 20% 27/135] cc -Ilibwnck/wnckprop.p -Ilibwnck -I../libwnck -I. -I.. -I/usr/local/include/cairo -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include/gtk-3.0 -I/usr/local/include/pango-1.0 -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/at-spi2-atk/2.0 -I/usr/local/include/at-spi-2.0 -I/usr/local/include/atk-1.0 -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/usr/local/include/libepoll-shim -I/usr/local/include/fribidi -I/usr/local/include/harfbuzz -I/usr/local/include/gio-unix-2.0 -I/usr/local/include/startup-notification-1.0 -fdiagnostics-color=never -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -pthread -D_THREAD_SAFE '-DG_LOG_DOMAIN="Wnck"' -DWNCK_I_KNOW_THIS_IS_UNSTABLE '-DWNCK_LOCALEDIR="/usr/local/share/locale"' -DWNCK_COMPILATION -DSN_API_NOT_YET_FROZEN=1 -MD -MQ libwnck/wnckprop.p/wnckprop.c.o -MF libwnck/wnckprop.p/wnckprop.c.o.d -o libwnck/wnckprop.p/wnckprop.c.o -c ../libwnck/wnckprop.c
[ 20% 28/135] cc  -o libwnck/wnckprop libwnck/wnckprop.p/wnckprop.c.o -Wl,--as-needed -Wl,--no-undefined -fstack-protector-strong -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include '-Wl,-rpath,$ORIGIN/:/usr/local/lib' -Wl,-rpath-link,/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/_build/libwnck -Wl,-rpath-link,/usr/local/lib -Wl,--start-group libwnck/libwnck-3.so.0.3.0 -Wl,--version-script,/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/libwnck/libwnck-3.map -lm /usr/local/lib/libcairo.so /usr/local/lib/libXext.so /usr/local/lib/libXrender.so /usr/local/lib/libX11.so /usr/local/lib/libglib-2.0.so /usr/local/lib/libintl.so /usr/local/lib/libgobject-2.0.so /usr/local/lib/libgtk-3.so /usr/local/lib/libgdk-3.so /usr/lib/libz.so /usr/local/lib/libpangocairo-1.0.so /usr/local/lib/libpango-1.0.so /usr/local/lib/libharfbuzz.so /usr/local/lib/libatk-1.0.so /usr/local/lib/libcairo-gobject.so /usr/local/lib/libgdk_pixbuf-2.0.so /usr/local/lib/libgio-2.0.so /usr/local/lib/libstartup-notification-1.so /usr/local/lib/libXRes.so -Wl,--end-group
FAILED: libwnck/wnckprop 
cc  -o libwnck/wnckprop libwnck/wnckprop.p/wnckprop.c.o -Wl,--as-needed -Wl,--no-undefined -fstack-protector-strong -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include '-Wl,-rpath,$ORIGIN/:/usr/local/lib' -Wl,-rpath-link,/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/_build/libwnck -Wl,-rpath-link,/usr/local/lib -Wl,--start-group libwnck/libwnck-3.so.0.3.0 -Wl,--version-script,/wrkdirs/usr/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/libwnck/libwnck-3.map -lm /usr/local/lib/libcairo.so /usr/local/lib/libXext.so /usr/local/lib/libXrender.so /usr/local/lib/libX11.so /usr/local/lib/libglib-2.0.so /usr/local/lib/libintl.so /usr/local/lib/libgobject-2.0.so /usr/local/lib/libgtk-3.so /usr/local/lib/libgdk-3.so /usr/lib/libz.so /usr/local/lib/libpangocairo-1.0.so /usr/local/lib/libpango-1.0.so /usr/local/lib/libharfbuzz.so /usr/local/lib/libatk-1.0.so /usr/local/lib/libcairo-gobject.so /usr/local/lib/libgdk_pixbuf-2.0.so /usr/local/lib/libgio-2.0.so /usr/local/lib/libstartup-notification-1.so /usr/local/lib/libXRes.so -Wl,--end-group
ld: error: non-exported symbol 'environ' in '/usr/lib/crt1.o' is referenced by DSO '/lib/libc.so.7'
ld: error: non-exported symbol '__progname' in '/usr/lib/crt1.o' is referenced by DSO '/lib/libc.so.7'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
*** Error code 1

Stop.
make: stopped in /usr/ports/x11-toolkits/libwnck3
=>> Cleaning up wrkdir
===>  Cleaning for libwnck3-3.36.0_2
build of x11-toolkits/libwnck3 | libwnck3-3.36.0_2 ended at Fri Dec 13 11:12:17 MSK 2024
build time: 00:01:21
!!! build failure encountered !!!
Comment 1 Thomas Mueller 2024-12-16 14:35:54 UTC
Created attachment 255896 [details]
tentative patch for libwnck3 with llvm19
Comment 2 Thomas Mueller 2024-12-16 14:36:49 UTC
I've been observing the same issue on 13.4-STABLE with llvm19.

The attached patch lets me build libwnck3 and its consumers (xfce4 in my case) without errors.
Comment 3 Sergey V. Koupreyenko 2024-12-16 15:02:33 UTC
(In reply to Thomas Mueller from comment #2)
Thank you, Thomas! Your patch solved the issue!

I placed it in the the "files" subdirectory of the port with name "patch-libwnck_meson.build".
Now poudriere builds the port without errors.
Comment 4 Stephan Muhs 2024-12-30 15:28:09 UTC
Same build issue here with direct build on FreeBSD 13.4-STABLE and llvm19. The patch posted by Thomas Mueller (thank you!) worked for me as well, allowing the build to complete successfully.
Comment 5 Lars Henrik Ørn 2024-12-31 15:52:40 UTC
Same error when building with synth as well. Just so you know.

Happy new year
Comment 6 Dennis Clarke 2025-01-21 15:31:05 UTC
Merely a comment that this port is still a linker stage fail and
it blocks the XFCE4 desktop :


.
.
.
[04:11:44] Failed ports: x11-toolkits/libwnck3:build
[04:11:44] Skipped ports: deskutils/xfce4-notifyd sysutils/xfce4-power-manager x11-fm/thunar x11-wm/xfce4 x11-wm/xfce4-desktop x11-wm/xfce4-panel x11-wm/xfce4-session x11-wm/xfce4-wm x11/libxfce4windowing
[14samd64-2025Q1] [2025-01-21_06h28m23s] [committing] Queued: 1573 Built: 1563 Failed: 1    Skipped: 9    Ignored: 0    Fetched: 0    Tobuild: 0     Time: 04:11:43
[04:11:44] Logs: /poudriere/data/logs/bulk/14samd64-2025Q1/2025-01-21_06h28m23s
[04:11:44] Cleaning up
[04:11:44] Unmounting file systems

titan# find /poudriere/data/logs/bulk/14samd64-2025Q1/2025-01-21_06h28m23s -type f | grep 'fail' | grep -v 'stat'
/poudriere/data/logs/bulk/14samd64-2025Q1/2025-01-21_06h28m23s/.poudriere.ports.failed
titan# 
titan# cat /poudriere/data/logs/bulk/14samd64-2025Q1/2025-01-21_06h28m23s/.poudriere.ports.failed
x11-toolkits/libwnck3 libwnck3-3.36.0_2 build linker_error 203

titan# cat `( find /poudriere/data/logs/bulk/14samd64-2025Q1/2025-01-21_06h28m23s -type f | grep 'skip' | grep -v 'stat' )` | sort 
deskutils/xfce4-notifyd xfce4-notifyd-0.9.6_1 libwnck3-3.36.0_2
sysutils/xfce4-power-manager xfce4-power-manager-4.20.0 libwnck3-3.36.0_2
x11-fm/thunar thunar-4.20.1 libwnck3-3.36.0_2
x11-wm/xfce4 xfce-4.20 libwnck3-3.36.0_2
x11-wm/xfce4-desktop xfce4-desktop-4.20.0 libwnck3-3.36.0_2
x11-wm/xfce4-panel xfce4-panel-4.20.0 libwnck3-3.36.0_2
x11-wm/xfce4-session xfce4-session-4.20.0 libwnck3-3.36.0_2
x11-wm/xfce4-wm xfce4-wm-4.20.0 libwnck3-3.36.0_2
x11/libxfce4windowing libxfce4windowing-4.20.0 libwnck3-3.36.0_2
titan# 

So this is more than a small issue as it blocks one of the big three desktops.