From da736f9f44e45ceda20d65049957a097c6833763 Mon Sep 17 00:00:00 2001 From: "benjamin.drung@gmail.com" Date: Mon, 18 Nov 2013 14:26:44 +0000 Subject: [PATCH] libvamp: Fix linkage against dl for hostsdk library. src/vamp-hostsdk/PluginLoader.cpp uses the dlopen function. On some platforms you have to link against dl for this function. configure checks for dlopen and adds -ldl to LIBS if you have to link against dl. We need to pass this LIBS variable when linking the hostsdk library. --- lib-src/audacity-patches.txt | 2 +- lib-src/libvamp/Makefile.in | 6 +++- lib-src/libvamp/fix-linkage-against-dl.patch | 30 ++++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 lib-src/libvamp/fix-linkage-against-dl.patch diff --git a/lib-src/audacity-patches.txt b/lib-src/audacity-patches.txt index 0ca28df49..dc5d4be37 100644 --- a/lib-src/audacity-patches.txt +++ b/lib-src/audacity-patches.txt @@ -126,7 +126,7 @@ libvamp ------- Library to load and use VAMP plug-ins. http://www.vamp-plugins.org/ Version in Audacity SVN: 2.5 -Patches: none +Patches: fix-linkage-against-dl.patch: Fix linkage against dl for hostsdk library. Upstream Version: 2.5 libvorbis diff --git a/lib-src/libvamp/Makefile.in b/lib-src/libvamp/Makefile.in index 6125cb776..15f19f1e0 100644 --- a/lib-src/libvamp/Makefile.in +++ b/lib-src/libvamp/Makefile.in @@ -61,6 +61,10 @@ PLUGIN_EXT = .so # HOST_LIBS = ./libvamp-hostsdk.a @SNDFILE_LIBS@ @LIBS@ +# Libraries required for the host. +# +HOSTSDK_LIBS = @LIBS@ + # Libraries required for the RDF template generator. # RDFGEN_LIBS = ./libvamp-hostsdk.a @LIBS@ @@ -239,7 +243,7 @@ $(SDK_DYNAMIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS) $(CXX) $(LDFLAGS) $(SDK_DYNAMIC_LDFLAGS) -o $@ $(SDK_OBJECTS) $(HOSTSDK_DYNAMIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS) - $(CXX) $(LDFLAGS) $(HOSTSDK_DYNAMIC_LDFLAGS) -o $@ $(HOSTSDK_OBJECTS) + $(CXX) $(LDFLAGS) $(HOSTSDK_DYNAMIC_LDFLAGS) -o $@ $(HOSTSDK_OBJECTS) $(HOSTSDK_LIBS) $(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(SDK_STATIC) $(PLUGIN_HEADERS) $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS) diff --git a/lib-src/libvamp/fix-linkage-against-dl.patch b/lib-src/libvamp/fix-linkage-against-dl.patch new file mode 100644 index 000000000..4fdc35e32 --- /dev/null +++ b/lib-src/libvamp/fix-linkage-against-dl.patch @@ -0,0 +1,30 @@ +Description: Fix linkage against dl for hostsdk library. + src/vamp-hostsdk/PluginLoader.cpp uses the dlopen function. On some platforms + you have to link against dl for this function. configure checks for dlopen + and adds -ldl to LIBS if you have to link against dl. We need to pass this + LIBS variable when linking the hostsdk library. + +Index: Makefile.in +=================================================================== +--- Makefile.in (revision 12949) ++++ Makefile.in (working copy) +@@ -61,6 +61,10 @@ + # + HOST_LIBS = ./libvamp-hostsdk.a @SNDFILE_LIBS@ @LIBS@ + ++# Libraries required for the host. ++# ++HOSTSDK_LIBS = @LIBS@ ++ + # Libraries required for the RDF template generator. + # + RDFGEN_LIBS = ./libvamp-hostsdk.a @LIBS@ +@@ -239,7 +243,7 @@ + $(CXX) $(LDFLAGS) $(SDK_DYNAMIC_LDFLAGS) -o $@ $(SDK_OBJECTS) + + $(HOSTSDK_DYNAMIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS) +- $(CXX) $(LDFLAGS) $(HOSTSDK_DYNAMIC_LDFLAGS) -o $@ $(HOSTSDK_OBJECTS) ++ $(CXX) $(LDFLAGS) $(HOSTSDK_DYNAMIC_LDFLAGS) -o $@ $(HOSTSDK_OBJECTS) $(HOSTSDK_LIBS) + + $(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(SDK_STATIC) $(PLUGIN_HEADERS) + $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS)