PipeWire 0.3.50 compilation error: undefined symbol: __start_pw_mod_pulse_modules
When compile PipeWire 0.3.50 on OpenMandriva Cooker with Clang 14 I see this build error:
ld.lld: error: undefined symbol: __start_pw_mod_pulse_modules
DEBUG util.py:446: >>> referenced by pulse-server.c:0 (../src/modules/module-protocol-pulse/pulse-server.c:0)
DEBUG util.py:446: >>> lto.tmp:(do_load_module)
DEBUG util.py:446: >>> referenced by module.c:0 (../src/modules/module-protocol-pulse/module.c:0)
DEBUG util.py:446: >>> lto.tmp:(do_load_module)
DEBUG util.py:446: >>> the encapsulation symbol needs to be retained under --gc-sections properly; consider -z nostart-stop-gc (see https://lld.llvm.org/ELF/start-stop-gc)
DEBUG util.py:446: ld.lld: error: undefined symbol: __stop_pw_mod_pulse_modules
DEBUG util.py:446: >>> referenced by module.c:268 (../src/modules/module-protocol-pulse/module.c:268)
DEBUG util.py:446: >>> lto.tmp:(do_load_module)
DEBUG util.py:446: >>> referenced by module.c:0 (../src/modules/module-protocol-pulse/module.c:0)
DEBUG util.py:446: >>> lto.tmp:(do_load_module)
DEBUG util.py:446: >>> referenced by module.c:273 (../src/modules/module-protocol-pulse/module.c:273)
DEBUG util.py:446: >>> lto.tmp:(do_load_module)
DEBUG util.py:446: clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
DEBUG util.py:446: [841/843] /usr/bin/clang -o src/modules/libpipewire-module-client-node.so src/modules/libpipewire-module-client-node.so.p/module-client-node.c.o src/modules/libpipewire-module-client-node.so.p/module-client-node_remote-node.c.o src/modules/libpipewire-module-client-node.so.p/module-client-node_client-node.c.o src/modules/libpipewire-module-client-node.so.p/module-client-node_protocol-native.c.o src/modules/libpipewire-module-client-node.so.p/module-client-node_v0_client-node.c.o src/modules/libpipewire-module-client-node.so.p/module-client-node_v0_transport.c.o src/modules/libpipewire-module-client-node.so.p/module-client-node_v0_protocol-native.c.o src/modules/libpipewire-module-client-node.so.p/spa_spa-node.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,libpipewire-module-client-node.so -Os -fomit-frame-pointer -g3 -gdwarf-4 -Wstrict-aliasing=2 -pipe -Wformat -Werror=format-security -fstack-protector-all --param=ssp-buffer-size=4 -m64 -mtune=generic -flto -Wl,-O2 -Wl,--no-undefined -flto -Os -fomit-frame-pointer -g3 -gdwarf-4 -Wstrict-aliasing=2 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fstack-protector-all --param=ssp-buffer-size=4 -m64 -mtune=generic -flto '-Wl,-rpath,$ORIGIN/:$ORIGIN/../pipewire' -Wl,-rpath-link,/builddir/build/BUILD/pipewire-0.3.50/build/src/modules -Wl,-rpath-link,/builddir/build/BUILD/pipewire-0.3.50/build/src/pipewire src/modules/libpipewire-module-protocol-native.so src/pipewire/libpipewire-0.3.so.0.350.0 -lm -ldl -Wl,--end-group -pthread
DEBUG util.py:446: ninja: build stopped: subcommand failed.
DEBUG util.py:444: error: Bad exit status from /var/tmp/rpm-tmp.VVeUmG (%build)
Full build log available here: https://file-store.openmandriva.org/api/v1/file_stores/cc7b60fb892e413e4fa094df7e2887985d551d3b.log?show=true
Worth to add: Previous PipeWire 0.3.49 still compiles fine.
Info:
- PipeWire 0.3.50
- Media-session
- OS: OpenMandriva Cooker
- Arch: x86_64
- Compiler: LLVM/Clang 14
- Linker: LLD
- LTO: Enabled
Edited by Damian Marcin Szymański