Looks like you are using a very old Makefile. I highly recommend using the Library Template. Its well tested, easy to use, very cross-platform, and even decently documented:
https://puredata.info/docs/developer/LibraryTemplate/
Its also very easy to then turn that library into a Debian or Gentoo package. And coming soon: RPMs.
.hc
On 10/04/2012 01:41 PM, Jaime Oliver wrote:
dear all,
I am trying to compile a pd external in ubuntu 12.04 and get:
joliver@crystal:~/watercolor/tracks$ make tracks.pd_linux cc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -o tracks.o -c tracks.c ld -shared -o tracks.pd_linux tracks.o -lc -lm ld: tracks.o: relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC tracks.o: could not read symbols: Bad value make: *** [tracks.pd_linux] Error 1
I have the following in my makefile (with -fPIC and all...):
# ----------------------- LINUX i386 -----------------------
.SUFFIXES: .pd_linux
LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer
-Wall -W -Wshadow -Wstrict-prototypes -Werror
-Wno-unused -Wno-parentheses -Wno-switch -fPICLINUXINCLUDE = -I../../src
.c.pd_linux: cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c ld -export_dynamic -shared -o $*.pd_linux $*.o -lc -lm strip --strip-unneeded $*.pd_linux rm $*.o
What could I be missing?
best,
J
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list