From 9a47744fc0849ac42f0a2b206347ce3079dfef28 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 26 Sep 2015 18:42:38 +0200 Subject: remove old gcc ABI (libstc++) test tool --- tools/g++5ABIcheck/Makefile | 6 --- tools/g++5ABIcheck/README | 57 ---------------------- tools/g++5ABIcheck/gcc5stc++test.i386-linux-gnu | Bin 4516 -> 0 bytes tools/g++5ABIcheck/gcc5stc++test.x86_64-linux-gnu | Bin 6064 -> 0 bytes tools/g++5ABIcheck/test.cc | 13 ----- 5 files changed, 76 deletions(-) delete mode 100644 tools/g++5ABIcheck/Makefile delete mode 100644 tools/g++5ABIcheck/README delete mode 100755 tools/g++5ABIcheck/gcc5stc++test.i386-linux-gnu delete mode 100755 tools/g++5ABIcheck/gcc5stc++test.x86_64-linux-gnu delete mode 100644 tools/g++5ABIcheck/test.cc diff --git a/tools/g++5ABIcheck/Makefile b/tools/g++5ABIcheck/Makefile deleted file mode 100644 index 3061785a87..0000000000 --- a/tools/g++5ABIcheck/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -all: - g++ -o gcc5stc++test.`gcc -print-multiarch` test.cc -Wall -std=c++11 -O0 - nm gcc5stc++test.`gcc -print-multiarch` | c++filt | grep -q __cxx11 - strip gcc5stc++test.`gcc -print-multiarch` - -.PHONY: all diff --git a/tools/g++5ABIcheck/README b/tools/g++5ABIcheck/README deleted file mode 100644 index 0017bf8942..0000000000 --- a/tools/g++5ABIcheck/README +++ /dev/null @@ -1,57 +0,0 @@ -g++5 ABI test tool -================== - -This is a simple tool to test a system for g++5's libstdc++ at runtime. - -GCC5.1 introduced a new library ABI for the C++ standard library. -The old 3.4 .. 5.0 ABI is not compatible. - -Some GNU/Linux distributions systems switched to the new ABI already -and compile plugins with the new gcc. - -If a plugin uses a c++ library that is also shipped with ardour-bundles, -the ABI of that library must match. Currently known cases: gtkmm, glibmm. - -e.g. Ingen or eq10q provided by a distro compiled with gcc5 will not -load in Ardour as provided by ardour.org compiled with gcc4 because ardour -ships an incompatible gtkmm, glibmm, cairomm, ... - -The plugin will fail to load. For example: - -``` -suil error: Unable to open UI library /usr/lib/lv2/sapistaEQv2.lv2/gui/eq10qs_gui.so (/usr/lib/lv2/sapistaEQv2.lv2/gui/eq10qs_gui.so: undefined symbol: _ZN4Glib7ustringC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE) -suil error: Unable to open UI library /usr/lib/lv2/vocproc.lv2/vocproc_gui.so (/usr/lib/lv2/vocproc.lv2/vocproc_gui.so: undefined symbol: _ZN3Gtk7Builder13add_from_fileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE) -lilv_lib_open(): error: Failed to open library /usr/lib/lv2/ingen.lv2/libingen_lv2.so (/usr/lib/libingen.so.0: undefined symbol: _ZN4Glib6ModuleC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_11ModuleFlagsEEE) -``` - -ie `Glib::ustring::ustring(std::__cxx11::basic_string, std::allocator > const&)` - - -Compilation ------------ - -This tool must be compiled on a system with gcc5.1 or later. - - make - -will fail the resulting binary does not use the new __cxx11 ABI. -The resulting binary will *not* run on systems with only the old ABI. - -For convenience (packaging gcc4 builds), pre-compiled binaries are included. - - -Check ------ - -The idea is to include the precompiled binaries in the installer - - - Ardour/gcc-4 installer must fail if the binary runs - - Ardour/gcc-5 installer must fail if the binary does not run - - -References ----------- - -https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html -https://wiki.debian.org/GCC5 -https://mail.gnome.org/archives/gtkmm-list/2015-June/thread.html diff --git a/tools/g++5ABIcheck/gcc5stc++test.i386-linux-gnu b/tools/g++5ABIcheck/gcc5stc++test.i386-linux-gnu deleted file mode 100755 index 86788583d7..0000000000 Binary files a/tools/g++5ABIcheck/gcc5stc++test.i386-linux-gnu and /dev/null differ diff --git a/tools/g++5ABIcheck/gcc5stc++test.x86_64-linux-gnu b/tools/g++5ABIcheck/gcc5stc++test.x86_64-linux-gnu deleted file mode 100755 index 8ee0b27e1b..0000000000 Binary files a/tools/g++5ABIcheck/gcc5stc++test.x86_64-linux-gnu and /dev/null differ diff --git a/tools/g++5ABIcheck/test.cc b/tools/g++5ABIcheck/test.cc deleted file mode 100644 index c3a915c029..0000000000 --- a/tools/g++5ABIcheck/test.cc +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include - -void check (std::string const& str) { - std::printf ("%s\n", str.c_str()); -} - -int main (int argc, char **argv) { - std::printf ("gcc %s\n", __VERSION__); - std::string test("gcc5/libstc++11"); - check (test); - return 0; -} -- cgit v1.2.3