[PD] comments with trailing | ?

IOhannes m zmoelnig zmoelnig at iem.at
Thu Aug 7 12:14:16 CEST 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

thanks for the detailed description.

On 2014-08-07 00:24, Jonathan Wilkes via Pd-list wrote:
> 4) ./src/pd
> 
> Oops... Error in startup script: couldn't read file 
> "/home/pd-0.45-5/src/tcl//pd-gui.tcl": no such file or directory

this would be trivial to fix in Pd.
i haven't done this because i considered the problem an edge case (the
idea being, that we shouldn't add too much cruft to the source base to
cater for the needs of very few people, esp. as there are simple
workarounds).

my usual workaround for this is:
$ cd src
$ ln -s ../tcl .

> 
> Which-- as I already stated in an old thread-- requires me to do
> this from the main pd directory: cp src/pd .
> 
> Then run ./pd
> 
> Now it runs.  Great!
> 

[...]

> So I don't get an updated binary in the src/ directory with "make",
> and I do get an updated binary when doing "make && make clean".
> 

actually no, the last part is not quite correct (though the effect is
the same).

it seems that all the problems come from compiling Pd with the
included "portaudio", which enables a number of hacks to properly load
the included library (rather than one provided by the system).
this boils down to ./src/pd *not* being a binary at all, but instead
being a wrapper script, that launches the actual binary that is hidden
in ./src/.libs.
now when you copy the script ./src/pd to ./ and call it, it will
- - try to launch ./.libs/pd
and if that fails it will
- - (magically) find the correct binary in ./src/.libs/ and create a
local copy in ./.libs/; and then launch it.

now when you do your changes to clip_float() and recompile, that
binary in ./src/.libs/ gets updated nicely, but when you call ./pd it
will still use it's outdated copy of the binary.
when running "make clean" the ./.libs/ folder (containing the outdated
copy) is deleted and later re-popuplated with the now-current binary.


i understand that this is a quite convoluted process, and that not
everyone wants to pile up the knowledge to understand and debug this
(and probably not even read my above explanation).



i can offer 3 possible "solutions":

- - disable "portaudio" when building Pd. this basically disables the
wrapper-script trickery and gives you a "src/pd" *binary* that can be
run without any hacks.
obviously this is not very practical if you *want* portaudio.

- - use symlinks from ./src/tcl to ./tcl, and call ./src/pd;
 (rather than copying ./src/pd to ./ and then call ./pd)
add this information to the documentation

- - add code to Pd that searches for the tcl-files in the correct place,
even when called from the wrapper script.

gfsd
IOhannes




-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iQIcBAEBCAAGBQJT41F1AAoJELZQGcR/ejb43K8P+wZzYCPoN5J6g1CPC3K69Wrj
3nsyDm3ugJaGVSi/CJ7Gr+CVM/gkpckbSLvmCtABDRW0etFOVrdvaF42xlA/smT9
2bD4AzCzlXc/PWerEdjaKCoP/FiVZj5a99r2moJttMMlj5WU6PS1Q1+pPxEUh98r
FPMj+J069u1cArn57oTRFlKthW5yPNBdGBD7AVrvhkHC0kENmdQxqzQiioDHUsOQ
xTA62K0t4HU70s85gDSbEiGI8qIda4k50sDsAPNrYnGqiyi+AXN9C2BeKEVD/Nx3
/Fmg0YDlzkMMrdjlY1YKwIHohC1S0ynrHs2zuCkzPCzeU0gAo1u5PHpNwExMy5Mq
h98yBWAdSuhLBGlyZAindGopHiES9julDO3NghQyVDSXFQmoGnQig+bVwuS938P6
+l+BTk49kSoltiC9rYP+zusSQ0rFS5ytkyQPJXdegA93hvnroamTNEb0IL80V0dK
PCtUX2ngjMweBhJBbUrvD/MHzTaX6mIEgd1TX0xMk5wkeDwJNhFrlpnGWasAulhk
YX6ti0mZ9WnDBE4wlXZ4yVulx6eWa896J+aIL4/GcCf0XnKGETdh92DSBWGvLZjN
dwsXDAM5IxKhI95F6xU6MJ4y8y8W8U1iPe6rL2DxOKylhr8em8X0+R4CVyXg2QoQ
GLLBbHlrYH2TvQP3b5oB
=BURL
-----END PGP SIGNATURE-----



More information about the Pd-list mailing list