Pd-0.43.0 on Linux/x86_64 can't seem to find its help files. I have the path in ~/.pdsettings :
path1: /opt/pkg/share/doc/pd/doc
while Pd is installed in /opt/pkg/bin/ . Here's what I see in Pd's console when trying to get help - for example - on a "float":
tried float-help.pd and failed tried /opt/pkg/lib/pd/share/doc/pd/doc/5.reference/float-help.pd and failed tried /home/ndr/pd-externals/float-help.pd and failed tried /usr/local/lib/pd-externals/float-help.pd and failed tried /opt/pkg/lib/pd/extra/float-help.pd and failed tried help-float.pd and failed tried /opt/pkg/lib/pd/share/doc/pd/doc/5.reference/help-float.pd and failed tried /home/ndr/pd-externals/help-float.pd and failed tried /usr/local/lib/pd-externals/help-float.pd and failed tried /opt/pkg/lib/pd/extra/help-float.pd and failed tried float.pd and failed tried /opt/pkg/lib/pd/share/doc/pd/doc/5.reference/float.pd and failed tried /home/ndr/pd-externals/float.pd and failed tried /usr/local/lib/pd-externals/float.pd and failed tried /opt/pkg/lib/pd/extra/float.pd and failed sorry, couldn't find help patch for "float.pd"
So, Pd isn't even looking in /opt/pkg/share/... - path1 notwithstanding.
What else does Pd need to be able to find its own help files?
TIA, Andrea
On 09/02/16 20:55, Andrea wrote:
Pd-0.43.0 on Linux/x86_64 can't seem to find its help files.
How did you install it? (Works fine for me on Debian Wheezy, both from packages and compiled from source, so I think this is more likely to be a packaging problem rather than a Pd bug.)
I have the path in ~/.pdsettings :
path1: /opt/pkg/share/doc/pd/doc
while Pd is installed in /opt/pkg/bin/ . Here's what I see in Pd's console when trying to get help - for example - on a "float":
[snip]
So, Pd isn't even looking in /opt/pkg/share/... - path1 notwithstanding.
Pd has a separate help path.
What else does Pd need to be able to find its own help files?
From the command line (or ~/.pdrc) you can use -helppath instead of -path, not sure what the syntax is for ~/.pdsettings (sorry).
$ pd -helppath /opt/ -verbose -stderr [...snip...] tried ./osc~-help.pd and failed tried /opt/osc~-help.pd and failed tried /home/claude/opt/lib/pd/doc/5.reference/osc~-help.pd and succeeded
(2nd line shows it looking in the argument directory, 3rd line is from 'make install' into my preferred prefix)
You could maybe create a symlink to the correct location, as the puredata(-doc) Debian package seems to do.
On 02/09/2016 09:55 PM, Andrea wrote:
Pd-0.43.0
Pd-0.43??? current Pd is Pd-0.46; 0.43 is *several* years old.
on Linux/x86_64
this is a kernel. it does not say very much about your system.
while Pd is installed in /opt/pkg/bin/
esp, /opt/pkg/bin is *not* a standard path for Pd. Pd usually installs into *standard* /usr/local/ paths, and uses a hierarchy like this:
${prefix}/bin/pd ${prefix}/lib/pd/doc/
the pd binary will search for help-patches for built-ins relative to its location ("../lib/pd/doc");
so which is your system? suse, arch, foonix,...? who installed Pd into these non-standard paths (a package? a friend? you?). go blame them :-)
can't seem to find its help files. I have the path in ~/.pdsettings :
path1: /opt/pkg/share/doc/pd/doc
this is a search-path for *objectclasses* (abstractions, externals,...). it is *not* a search-path for help-patches.
So, Pd isn't even looking in /opt/pkg/share/... - path1 notwithstanding.
you *can* add a help-path using the cmdline flag "-helppath":
pd -helppath /opt/pkg/share/doc/pd/doc/5.reference
(you can also add the "-helppath" to the "flags:" line in .pdsettings.)
but you *really* should fix your Pd *installation* instead.
mgasd IOhannes
More findings on this problem. The -helppath option is unfortunately not a complete solution, because Pd doesn't "dive" into the specified path's subdirectories. So, to make it work, I'd have to issue:
$ pd -helppath /opt/pkg/share/doc/pd/doc/5.reference
...but what if I need help from ../4.data.structures instead?
Pd seems to dive into subdirectories only when looking into its apparently hard-coded help paths.
I worked around the issue with:
# ln -s /opt/pkg/share/ /opt/pkg/lib/pd/
as hinted by Claude Heiland-Allen (thanks!). But this really shouldn't be needed, IMO.
In reply to some of IOhannes m zmölnig's remarks:
Pd-0.43??? current Pd is Pd-0.46; 0.43 is *several* years old.
Where can I find a ChangeLog to verify that this problem was dealt with in more recent Pd versions? I'd rather avoid compiling it "by hand" only to find the problem's still there.
esp, /opt/pkg/bin is *not* a standard path for Pd.
OK, but that's a Pd problem. Aside from /opt being explicitly mentioned in hier(7), none of the software I installed in /opt has a problem with this (except Pd). That includes Firefox, among many others. The concept of "standard path" is actually foreign to Unix[-like systems]. Common practices, at most.
so which is your system? suse, arch, foonix,...?
Slackware, but that is irrelevant: I didn't install Pd via Slackware's package manager, I installed it via Pkgsrc¹ (hence the ad-hoc hierarchy).
More comments and hints are always welcome.
Cheers, Andrea
Note: ¹ http://www.pkgsrc.org/
On 2016-02-10 12:02, Andrea wrote:
In reply to some of IOhannes m zmölnig's remarks:
Pd-0.43??? current Pd is Pd-0.46; 0.43 is *several* years old.
Where can I find a ChangeLog to verify that this problem was dealt with in more recent Pd versions?
there is none (apart from the git history). well, actually there is src/CHANGELOG.txt, but it seems to be hardly ever updated.
I'd rather avoid compiling it "by hand" only to find the problem's still there.
i'm pretty sure that *this* problem has not been dealt with.
but the question remains: why do you install an outdated *unsupported* version of Pd in the first place?
esp, /opt/pkg/bin is *not* a standard path for Pd.
OK, but that's a Pd problem. Aside from /opt being explicitly mentioned in hier(7), none of the software I installed in /opt has a problem with this (except Pd).
ok, i was not exact. Pd does not care whether it is installed into /opt or /home/andrea or /usr/local. however it does care for the *relative* structure of it's own paths.
so if you have a prefix=/opt and install everything into ${prefix}/bin/pd ${prefix}/lib/pd/
then Pd should work without a problem. i just tried to install it into /opt/pd (by passing the "--prefix=/opt/pd" arg to configure) and running /opt/pd/bin/pd does indeed work as expected.
Slackware, but that is irrelevant: I didn't install Pd via Slackware's package manager, I installed it via Pkgsrc¹ (hence the ad-hoc hierarchy).
then blame pgksrc (or rather, the packager of Pd for pkgsrc) for using a layout that is incompatible with Pd. i'm pretty sure that any other multi-file application will break if you make up some random filesystem layout and put the support files there instead of into places where it doesn't know about them.
btw, i haven't been able to locate the "pd" package on the pkgsrc website.
fgmasdr IOhannes
On 2016-02-10 12:02, Andrea wrote:
More findings on this problem. The -helppath option is unfortunately not a complete solution, because Pd doesn't "dive" into the specified path's subdirectories. So, to make it work, I'd have to issue:
$ pd -helppath /opt/pkg/share/doc/pd/doc/5.reference
...but what if I need help from ../4.data.structures instead?
you don't. the "-helppath" is there to get the reference help-patches for a given path. it's not there to point to general documentation. "4.data.structures" does not contain any help-patch.
if you want to have "4.data.structures" appear in the help-browser, add "/opt/pkg/share/doc/pd/doc" to the path (the thing you already had done when you started this thread).
if you want to be able to both browse the documentation via the help browser AND to find the reference help patches for built-in objects AND you want an unsupported layout of the Pd documentation, then you have to pass *both* the "-helppath" and the "-path" options, possibly multiple times. i think this is a rather small price to pay for any fs-layout you want.
Pd seems to dive into subdirectories only when looking into its apparently hard-coded help paths.
Pd never recurses into any subdirectories.
gsmdr IOhannes