I posted this exact message to the Vamp forum, noticed the dates of the
last posts, there, and decided to try here instead.
I'm having a most unusual problem compiling the Vamp-SDK on my machine.
This has actually been an on-going problem for some time now. Looking
over the Vamp forums, I see one other person seems to have successfully
compiled and installed Vamp on his 64-bit Ubuntu install, so I'm
wondering what keeps going wrong here.
The first thing I did was to edit the Makefile to install to /usr
instead of /usr/local. That was simple enough. Then when I run make, I
get the following output (notice the error at the end):
-----
g++ -O2 -Wall -I. -fPIC -c -o vamp-sdk/PluginAdapter.o
vamp-sdk/PluginAdapter.cpp
g++ -O2 -Wall -I. -fPIC -c -o vamp-sdk/RealTime.o vamp-sdk/RealTime.cpp
ar r vamp-sdk/libvamp-sdk.a vamp-sdk/PluginAdapter.o vamp-sdk/RealTime.o
g++ -O2 -Wall -I. -fPIC -c -o vamp-sdk/PluginHostAdapter.o
vamp-sdk/PluginHostAdapter.cpp
g++ -O2 -Wall -I. -fPIC -c -o
vamp-sdk/hostext/PluginBufferingAdapter.o
vamp-sdk/hostext/PluginBufferingAdapter.cpp
g++ -O2 -Wall -I. -fPIC -c -o vamp-sdk/hostext/PluginChannelAdapter.o
vamp-sdk/hostext/PluginChannelAdapter.cpp
g++ -O2 -Wall -I. -fPIC -c -o
vamp-sdk/hostext/PluginInputDomainAdapter.o
vamp-sdk/hostext/PluginInputDomainAdapter.cpp
g++ -O2 -Wall -I. -fPIC -c -o vamp-sdk/hostext/PluginLoader.o
vamp-sdk/hostext/PluginLoader.cpp
g++ -O2 -Wall -I. -fPIC -c -o vamp-sdk/hostext/PluginWrapper.o
vamp-sdk/hostext/PluginWrapper.cpp
ar r vamp-sdk/libvamp-hostsdk.a vamp-sdk/PluginHostAdapter.o
vamp-sdk/hostext/PluginBufferingAdapter.o
vamp-sdk/hostext/PluginChannelAdapter.o
vamp-sdk/hostext/PluginInputDomainAdapter.o
vamp-sdk/hostext/PluginLoader.o vamp-sdk/hostext/PluginWrapper.o
vamp-sdk/RealTime.o
ranlib vamp-sdk/libvamp-sdk.a
ranlib vamp-sdk/libvamp-hostsdk.a
g++ -static-libgcc -shared -Wl,-Bsymbolic -Wl,-soname=libvamp-sdk.so.1
-o vamp-sdk/libvamp-sdk.so vamp-sdk/PluginAdapter.o vamp-sdk/RealTime.o
g++ -static-libgcc -shared -Wl,-Bsymbolic
-Wl,-soname=libvamp-hostsdk.so.2 -o vamp-sdk/libvamp-hostsdk.so
vamp-sdk/PluginHostAdapter.o vamp-sdk/hostext/PluginBufferingAdapter.o
vamp-sdk/hostext/PluginChannelAdapter.o
vamp-sdk/hostext/PluginInputDomainAdapter.o
vamp-sdk/hostext/PluginLoader.o vamp-sdk/hostext/PluginWrapper.o
vamp-sdk/RealTime.o
g++ -O2 -Wall -I. -fPIC -c -o examples/SpectralCentroid.o
examples/SpectralCentroid.cpp
g++ -O2 -Wall -I. -fPIC -c -o examples/PercussionOnsetDetector.o
examples/PercussionOnsetDetector.cpp
g++ -O2 -Wall -I. -fPIC -c -o examples/AmplitudeFollower.o
examples/AmplitudeFollower.cpp
g++ -O2 -Wall -I. -fPIC -c -o examples/ZeroCrossing.o
examples/ZeroCrossing.cpp
g++ -O2 -Wall -I. -fPIC -c -o examples/plugins.o examples/plugins.cpp
g++ -static-libgcc -shared -Wl,-Bsymbolic
-Wl,--version-script=vamp-plugin.map -o examples/vamp-example-plugins.so
examples/SpectralCentroid.o examples/PercussionOnsetDetector.o
examples/AmplitudeFollower.o examples/ZeroCrossing.o examples/plugins.o
vamp-sdk/libvamp-sdk.a /usr/lib/gcc/x86_64-linux-gnu/4.2.3/libstdc++.a
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/4.2.3/libstdc++.a(functexcept.o):
relocation R_X86_64_32 against `std::bad_typeid::~bad_typeid()' can not
be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-linux-gnu/4.2.3/libstdc++.a: could not read symbols:
Bad value
collect2: ld returned 1 exit status
make: *** [examples/vamp-example-plugins.so] Error 1
-----
Is it trying to tell me that libstdc++ is compiled incorrectly on my
machine? It's the one that comes with every Ubuntu 64-bit system. Any
help would be greatly appreciated. Thank you!
My system:
AMD64 X2 with Kubuntu 64-bit, 2.4.24-19-rt kernel, 2GB DDR-800 RAM,
SATA2 hard disks.
Regards,
Darren Landrum