Jaime Oliver wrote: > Hello all, > > I am trying to compile a simple external (non-signal one) in Fedora in > the following way: > > I put a folder with the .c file, m_pd.h and the makefile (attached) in > the extra folder,
it is _really_ bad style to bundle the m_pd.h file with your code. imo, the more correct way would be to tell the compiler where to find the header-file (that is matching the Pd installation on your system) you can do so by adding the "-I" flag to the compiler flags; if you have installed Pd properly, you should find the m_pd.h file either in /usr/include or in /usr/local/include anyhow. if you have everything in <pd>/extra/analista it should find the header in <pd>/src/ already, as you already have the "-I../../src" added. > > [EMAIL PROTECTED] analista]$ make 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 analista.o -c analista.c > ld -export_dynamic -shared -o analista.pd_linux analista.o -lc -lm > ld: analista.o: relocation R_X86_64_32 against `a local symbol' can not > be used when making a shared object; recompile with -fPIC the error message is very clear here: "recompile with -fPIC". edit the makefile and add "-fPIC" to the compiler-flags (usually: CFLAGS) and re-compile. this is needed only on x86_64 (your skeleton makefile seems to be done for i386 only, so it's missing this flags), but it doesn't really hurt on i386. > analista.o: could not read symbols: Bad value > make: *** [analista.pd_linux] Error 1 > > > > ------------------------------------------------------------------------ > > _______________________________________________ > [email protected] mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
