[PD] Error: invalid command name "pd"

Jonathan Wilkes jancsika at yahoo.com
Fri Aug 16 06:17:15 CEST 2013


On 07/30/2013 03:03 PM, Ed Kelly wrote:
>> First click "Details >>" on your error message and post the output.
> Doh! Of course. Sorry, I naturally distrust error reports having been brought up on Window$.
>
>
> Error messages are all the same in my patch:
>
> invalid command name "pd"
> invalid command name "pd"
>      while executing
> "pd [concat #hammergui _vised .x988db98.c 1 \;]"
>      invoked from within
> "if {[hammergui_ispatcher .x988db98.c]}   {pd [concat #hammergui _vised .x988db98.c 1 \;]}"
>      (command bound to event)
>
>
> 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:
1) Run your patch
2) Note the errors and place in the tcl code where they happen
3) 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
>>
>>    




More information about the Pd-list mailing list