Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Sep 2023 18:59:45 +0000
From:      bugzilla-noreply@freebsd.org
To:        desktop@FreeBSD.org
Subject:   maintainer-feedback requested: [Bug 274111] audio/pulseaudio: fix build with lld 17
Message-ID:  <bug-274111-39348-B7OPgB1k9D@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-274111-39348@https.bugs.freebsd.org/bugzilla/>
References:  <bug-274111-39348@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
Bugzilla Automation <bugzilla@FreeBSD.org> has asked freebsd-desktop (Team)
<desktop@FreeBSD.org> for maintainer-feedback:
Bug 274111: audio/pulseaudio: fix build with lld 17
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D274111



--- Description ---
Building audio/pulseaudio with lld 17 results in the following link errors:

cc  -o src/pulse/libpulse.so.0.24.2
src/pulse/libpulse.so.0.24.2.p/channelmap.c.o
src/pulse/libpulse.so.0.24.2.p/context.c.o
src/pulse/libpulse.so.0.24.2.p/direction.c.o
src/pulse/libpulse.so.0.24.2.p/error.c.o
src/pulse/libpulse.so.0.24.2.p/ext-device-manager.c.o
src/pulse/libpulse.so.0.24.2.p/ext-device-restore.c.o
src/pulse/libpulse.so.0.24.2.p/ext-stream-restore.c.o
src/pulse/libpulse.so.0.24.2.p/format.c.o
src/pulse/libpulse.so.0.24.2.p/introspect.c.o
src/pulse/libpulse.so.0.24.2.p/mainloop-api.c.o
src/pulse/libpulse.so.0.24.2.p/mainloop-signal.c.o
src/pulse/libpulse.so.0.24.2.p/mainloop.c.o
src/pulse/libpulse.so.0.24.2.p/operation.c.o
src/pulse/libpulse.so.0.24.2.p/proplist.c.o
src/pulse/libpulse.so.0.24.2.p/rtclock.c.o
src/pulse/libpulse.so.0.24.2.p/sample.c.o
src/pulse/libpulse.so.0.24.2.p/scache.c.o
src/pulse/libpulse.so.0.24.2.p/stream.c.o
src/pulse/libpulse.so.0.24.2.p/subscribe.c.o
src/pulse/libpulse.so.0.24.2.p/thread-mainloop.c.o
src/pulse/libpulse.so.0.24.2.p/timeval.c.o
src/pulse/libpulse.so.0.24.2.p/utf8.c.o src/pulse/libpulse.so.0.24.2.p/util=
.c.o
src/pulse/libpulse.so.0.24.2.p/volume.c.o
src/pulse/libpulse.so.0.24.2.p/xmalloc.c.o -L/usr/local/lib -Wl,--as-needed
-Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group
-Wl,-soname,libpulse.so.0 -fstack-protector-strong -O2 -pipe
-fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing
-DLIBICONV_PLUG -isystem /usr/local/include
'-Wl,-rpath,$ORIGIN/..:/usr/local/lib'
-Wl,-rpath-link,/wrkdirs/share/dim/ports/audio/pulseaudio/work/pulseaudio-1=
6.1/
_build/src
-Wl,-rpath-link,/usr/local/lib src/libpulsecommon-16.1.so -Wl,-z,nodelete
-Wl,-version-script=3D/wrkdirs/share/dim/ports/audio/pulseaudio/work/pulsea=
udio-1
6.1/src/pulse/map-file
-lm -pthread /usr/local/lib/libdbus-1.so -ldl -lintl -Wl,--end-group
ld: error: version script assignment of 'PULSE_0' to symbol
'pa_glib_mainloop_free' failed: symbol not defined
ld: error: version script assignment of 'PULSE_0' to symbol
'pa_glib_mainloop_get_api' failed: symbol not defined
ld: error: version script assignment of 'PULSE_0' to symbol
'pa_glib_mainloop_new' failed: symbol not defined
ld: error: version script assignment of 'PULSE_0' to symbol 'pa_simple_drai=
n'
failed: symbol not defined
ld: error: version script assignment of 'PULSE_0' to symbol 'pa_simple_flus=
h'
failed: symbol not defined
ld: error: version script assignment of 'PULSE_0' to symbol 'pa_simple_free'
failed: symbol not defined
ld: error: version script assignment of 'PULSE_0' to symbol
'pa_simple_get_latency' failed: symbol not defined
ld: error: version script assignment of 'PULSE_0' to symbol 'pa_simple_new'
failed: symbol not defined
ld: error: version script assignment of 'PULSE_0' to symbol 'pa_simple_read'
failed: symbol not defined
ld: error: version script assignment of 'PULSE_0' to symbol 'pa_simple_writ=
e'
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 refere=
nced
in linker version scripts. Since pulseaudio uses the same linker version sc=
ript
for both the regular libpulse.so, and the other variants,
libpulse-mainloop-glib.so and libpulse-simple.so, some of the symbols are
expected to be undefined, so suppress the errors by adding
-Wl,--undefined-version to LDFLAGS.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-274111-39348-B7OPgB1k9D>