thestk / rtaudio

A set of C++ classes that provide a common API for realtime audio input/output across Linux (native ALSA, JACK, PulseAudio and OSS), Macintosh OS X (CoreAudio and JACK), and Windows (DirectSound, ASIO, and WASAPI) operating systems.
Other
1.49k stars 317 forks source link

soname version bump for RtAudio-6.0.0 #405

Closed umlaeute closed 1 year ago

umlaeute commented 1 year ago

RtAudio-5.2.0 built a dynamic library librtaudio.so.6.0.2 RtAudio-6.0.0 builds a dynamic library librtaudio.so.6.0.0 (regardless of buildsystem; I tried with autotools, Cmake and meson)

so obviously the (full) soname version *decreased from 6.0.2 to 6.0.0 :thinking:

what makes matters (much) worse however, is that RtAudio-6.0.0 not only breaks API (as mentioned in the release notes), but also the library's ABI: an application that links against librtaudio.so.6 from RtAudio-5.2.0 (e.g. jacktrip) no longer loads with the librtaudio.so.6 provided by RtAudio-6.0.0

$ jacktrip
jacktrip: symbol lookup error: jacktrip: undefined symbol: _ZN7RtAudioC1ENS_3ApiE
$ echo _ZN7RtAudioC1ENS_3ApiE | c++filt 
RtAudio::RtAudio(RtAudio::Api)

Therefore, I would like to ask^Wurge you to bump the soversion of librtaudio to 7. see

note that release version and soversion need not be the same.

dvzrv commented 1 year ago

I came here to ask for the same @garyscavone, packaging this project for Arch Linux. Others may accidentally upgrade this for their downstream distribution, which would break consumers.

Please release a 6.0.1 with a soname bump so that it becomes clear what is going on.

garyscavone commented 1 year ago

Done!