On 08/16/2013 03:12 AM, Ed Kelly wrote:
I think my problem with this, and when I tried it last time it was the same, is that I get these compile errors even after I've pointed the PD_DIR setting to either:
Did you also add to the line that begins "INCLUDES =" ? That did the trick for me.
-Jonathan
/root/software/pd/src/pd-0.44-0 or /root/software/pd/src/pd-0.44-0/src
When using miXed from the subversion repository. I notice if I download cyclone from http://suita.chopin.edu.pl/~czaja/miXed/externs/cyclone.html and toxy from http://suita.chopin.edu.pl/~czaja/miXed/externs/toxy.html ...they compile OK.
So there is something wrong with the svn version of miXed perhaps? Now I still get my tcl errors from [tot] but I can have a go at fixing the tcl code now. Cheers, Ed
I think the problem is with [tot .] from the miXed library.
Does anyone know how to compile it? It's causing me a headache. Typing
"make" from within the miXed library from the svn repository comes up with errors where it can't seem to find basic functions, e.g.
<some lines> tot.c:(.text+0xbcf): undefined reference to `gensym' tot.c:(.text+0xbff): undefined reference to `canvas_getrootfor' tot.c:(.text+0xc17): undefined reference to `canvas_getrootfor' /tmp/ccctv252.o: In function `tot_getcanvas': tot.c:(.text+0xc5b): undefined reference to `canvas_class' tot.c:(.text+0xc69): undefined reference to `pd_findbyclass' tot.c:(.text+0xc79): undefined reference to `glist_getcanvas' tot.c:(.text+0xcb7): undefined reference to `loud_warning' tot.c:(.text+0xd48): undefined reference to `loud_error'
<some more lines>
Look inside Makefile.common and change the line near (or at) the top that sets PD_DIR. It looks like it's supposed to point to the src directory, but I'm not absolutely sure about that.
then try "make clean" and "make" from inside the "miXed" directory.
If that doesn't work, add to the line in Makefile.common that starts with "INCLUDES = ". You'll want to add a something like this: I"/path/to/the/place/where/m_pd.h/lives"
Then "make clean" and "make".
Now it should create everything without error. All your binaries will be located inside miXed/bin, including [tot] which I guess is what you're after.
At this point, you have to do this:
- Run your patch
- Note the errors and place in the tcl code where they happen
- From the miXed directory, grep -r "part of the erroneous code that
calls pd instead of pdsend" 4) Note the filename that grep returns 5) Go to the corresponding line of the offending file and change "pd" to "pdsend". Also, I think the old "pd" tcl proc had an escaped colon after it, whereas the pdsend proc doesn't require one. I'm not sure whether that makes a difference or not. 6) "make clean" and "make" 7) repeat until you don't get any errors.
If you're feeling generous, do this for all the toxy c files as well as the test files, until the entire library actually works with pd-0.44, then diff against the old toxy and post so we can update the code.
Let me know if you have any problems with getting your patch to work.
-Jonathan
It gives similar outpuit for tot, and for pddplink
? Ed
-Jonathan