really fix linux packaging jack check (amend 79dc3882ea)
[ardour.git] / tools / gccabicheck / README
1 g++5 ABI test tool
2 ==================
3
4 This is a simple tool to test a system for g++5's glibmm at runtime.
5
6 GCC5.1 introduced a new ABI for the C++ standard library.
7 The old 3.4 .. 5.0 ABI is not compatible. By default gcc provides a
8 dual ABI, so testing libstc++ itself is not sufficient.
9
10
11 Some GNU/Linux distributions systems switched to the new ABI already
12 and compile *plugins* with the new gcc.
13
14 If a plugin uses a c++ library that is also shipped with ardour-bundles,
15 the ABI of that library must match. Currently known cases: gtkmm, glibmm.
16
17 e.g. Ingen or eq10q provided by a distro compiled with gcc5 will not
18 load in Ardour from ardour.org compiled with gcc4 because ardour
19 ships an incompatible gtkmm, glibmm, cairomm, ...
20
21 Likewise Ardour gcc5-compiled binaries will fail to load plugins that
22 are compiled with gcc4.
23
24 This simiple tool `gcc-glibmm-abi-check` checks for gcc4/gcc5 specific
25 symbols in libglibmm (a common denominator C++ lib), it is intended
26 to be run when deploying ardour binaries.
27
28
29 References
30 ----------
31
32 https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html
33 https://wiki.debian.org/GCC5
34 https://mail.gnome.org/archives/gtkmm-list/2015-June/thread.html