You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug portaudio-2.0.pc installed by Autotools and CMake builds vary, making predictable linking hard to attain.
Due to #918, an installation built with CMake is not functional because:
only static library installed
dependent libraries are not enumerated via pkg-config leading to linking errors.
User then must add platform-specific libs to link an application. Would shared library be also installed then it would just work, masking the issue. Developers who link statically know what to do but on average, as a developer, I'm presented with Undefined symbols error.
To Reproduce
Build with Autotools and attempt (static) link - it works.
Build with CMake - it doesn't, a lot of undefined symbols.
Expected behavior
If only static version is installed then linking against PortAudio must not require enumerating all dependent libraries - that should be handled via pkg-config.
Actual behavior
/opt/local/lib/go/pkg/tool/darwin_amd64/link: running /usr/bin/clang failed: exit status 1
Undefined symbols for architecture x86_64:
"_AudioComponentFindNext", referenced from:
_OpenAndSetupOneAudioUnit in libportaudio.a[15](pa_mac_core.c.o)
"_AudioComponentInstanceDispose", referenced from:
_CloseStream in libportaudio.a[15](pa_mac_core.c.o)
_CloseStream in libportaudio.a[15](pa_mac_core.c.o)
_OpenAndSetupOneAudioUnit in libportaudio.a[15](pa_mac_core.c.o)
"_AudioComponentInstanceNew", referenced from:
_OpenAndSetupOneAudioUnit in libportaudio.a[15](pa_mac_core.c.o)
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
(this is a Go app but the toolchain uses pkg-config internally)
Desktop:
OS: any, in this case macOS
PortAudio version: master HEAD
The text was updated successfully, but these errors were encountered:
arkadijs
changed the title
Installed pkg-config files vary between autotools and CMake
Installed pkg-config files vary between Autotools and CMake
Aug 2, 2024
But the earlier changes mean no static library is installed?
Am I correct to say that in our 19.7 release CMake built both static and dynamic libraries and installed them correctly? Whereas the current master builds only static or dynamic (not both), and does not install either correctly?
Describe the bug
portaudio-2.0.pc
installed by Autotools and CMake builds vary, making predictable linking hard to attain.Due to #918, an installation built with CMake is not functional because:
pkg-config
leading to linking errors.User then must add platform-specific libs to link an application. Would shared library be also installed then it would just work, masking the issue. Developers who link statically know what to do but on average, as a developer, I'm presented with Undefined symbols error.
Autotools:
(missing
-lm
, BTW)CMake:
To Reproduce
Build with Autotools and attempt (static) link - it works.
Build with CMake - it doesn't, a lot of undefined symbols.
Expected behavior
If only static version is installed then linking against PortAudio must not require enumerating all dependent libraries - that should be handled via
pkg-config
.Actual behavior
(this is a Go app but the toolchain uses
pkg-config
internally)Desktop:
The text was updated successfully, but these errors were encountered: