hi,
on ubuntu-studio 12.04 / 64bit i get this error when using readanysf~ in pd (no problem compiling the external):
readanysf~.pd_linux: undefined symbol: bgav_select_track readanysf~ ... couldn't create
i have installed: libgavl1 1.2.0-4 libmerlin-avdec1 1.1.0
how can i fix this error? pat
On Don, 2012-06-28 at 03:29 -0400, patrick wrote:
hi,
on ubuntu-studio 12.04 / 64bit i get this error when using readanysf~ in pd (no problem compiling the external):
readanysf~.pd_linux: undefined symbol: bgav_select_track readanysf~ ... couldn't create
i have installed: libgavl1 1.2.0-4 libmerlin-avdec1 1.1.0
It seems to be a linking order problem. IOhannes already fixed it in the Debian git repository, but I haven't had time (or was too lazy) to notify upstream or push out a new package.
This is the patch written by IOhannes, that needs to be applied to Makefile:
Author: IOhannes m zmölnig
Description: get linking order right (objects/libs that depends on other
libs
should come before the dependencies)
--- pd-readanysf.orig/Makefile
+++ pd-readanysf/Makefile
@@ -31,7 +31,7 @@
#PD_CXXFLAGS += -O1 -funroll-loops -fomit-frame-pointer
# -Wall -W -Wshadow
# -Wno-unused -Wno-parentheses -Wno-switch
-PD_LDFLAGS = -L/usr/local/lib -lpthread -lgavl -lgmerlin_avdec
+PD_LDFLAGS = -L/usr/lib -lgmerlin_avdec -lgavl -lpthread
else
# assume darwin here
STRIP=strip -x
@@ -55,11 +55,12 @@
all: $(TARGET)
pd_linux: src/readanysf~.cpp objs/FifoVideoFrames.o objs/FifoAudioFrames.o objs/ReadMedia.o
g++ -shared -o readanysf~.pd_linux $(PD_CXXFLAGS)
$(PD_LDFLAGS) \
g++ -shared -o readanysf~.pd_linux $(PD_CXXFLAGS) \
src/readanysf~.cpp \
objs/FifoAudioFrames.o \
objs/FifoVideoFrames.o \
objs/ReadMedia.o
objs/ReadMedia.o \
$(PD_LDFLAGS)
$(STRIP) readanysf~.pd_linux
pd_darwin: src/readanysf~.cpp objs/FifoVideoFrames.o objs/FifoAudioFrames.o objs/ReadMedia.o