where is Pd's "-stdlib"? (was Re: request sponsor/upload for pd-pdstring)
Hans-Christoph Steiner
hans at at.or.at
Mon Oct 3 17:06:58 UTC 2011
On Oct 3, 2011, at 3:54 AM, IOhannes m zmoelnig wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> @pd-dev: in the course of making packages for debian, we discovered
> another slight problem with the "-stdpath" and "-stdlib" flags for
> declare (and probably this also expands to the "-nostdpath" startup
> flag). following is an excerpt of the discussion in the debian
> packaging
> team:
>
>
> On 2011-10-01 14:11, Roman Haefeli wrote:
>>
>> On Fri, 2011-09-30 at 17:02 +0200, IOhannes m zmölnig wrote:
>>>
>>> i'm not entirely sure though (given the nastiness of [declare])
>>> if you think that it is a bug in "puredata-core", please file a
>>> bugreport.
>>
>> Yeah, that is indeed the case. Before filing a bug report, I'd like
>> to
>> clear up the meanings of the different paths.
>>
>> /usr/lib/pd/extra
>> Am I right in assuming that this path is supposed to be searched by
>> all flavors of Pd (all packages that provide the virtual package
>> pd)?
>> This also the path where usually external libraries are installed to
>> because from there they can be loaded from any flavor of pd?
>>
>> /usr/lib/puredata/extra
>> is only searched by puredata / pd from the puredata package?
>> This is where libraries are installed that only are suitable for
>> the pd provided by the puredata package?
>>
>> /usr/lib/pd-extended/extra
>> is only searched by pdextended / pd from the pd-extended package?
>> Libs that are only useful with pdextended go there?
>>
>> If that is the case, then there is definitely a bug in the puredata-
>> core
>> package as it is ignoring /usr/lib/pd/extra.
>
> it might as well be a bug in puredata upstream (that's why i want to
> discuss it; probably a more appropriate place for discussion is the
> pd-dev mailinglist which i include in the recipients)
>
> imho, the issue boils down to the question "what are stdpaths?" (and i
> assume that "stdlibs" are std because they live in "stdpaths").
>
> for the sake of simplicity, i will only talk about the "linux" version
> of Pd (and with Pd i mean Pd-vanilla)
>
> before Pd-0.43 (vanilla!), there was only a single "stdpath", which
> was
> the path were the Pd binaries lived in. this usually was
> /usr/local/lib/pd/ or /usr/lib/pd/
>
> since 0.43, a few more paths have been added, namely:
> /usr/local/lib/pd-externals and ~/pd-externals
> on Debian and derivatives, yet another path is added: since Pd is
> installed into /usr/lib/puredata/ (in order to allow pd-extended live
> side by side with puredata), the path "/usr/lib/pd" is also added as a
> "common system-managed search path".
>
> now all these paths are handled separately from the user defined
> search-paths; e.g. they do not show up in the path dialog, and they
> can
> be disabled with the "-nostdpaths" flag.
>
> otoh, [declare] has not adapted to these changes.
> if you add "-stdpath extra/foo", it will only search in
> /usr/local/lib/pd/extra/foo (given that pd is installed in
> /usr/local/lib/pd), but it will not search in
> /usr/local/lib/pd-externals/extra/foo nor in ~/pd-externals/extra/foo.
> (the same applies for the additional Debian-specific search path
> /usr/lib/pd/extra/foo).
> hence i do think that the problem is general problem with Pd-vanilla
> (and not specific to Debian; it only shows here)
My guess is that [declare] should be adapted to consider as stdpath
the same stuff that -nostdpaths does.
>> This also means, that currently all Pd libraries in unstable that
>> install to /usr/lib/pd/extra (most of them do) are currently
>> broken, as
>> there is no proper way to actually load them in pd (you still can
>> specify the absolute path to the library, which renders your patch
>> unportable to other OS').
>
> you could also simply start Pd with "-lib foo" and it will just work.
> so i wouldn't consider "all broken".
> obviously, we lack the possibility to express a library dependency
> within the patch, which is a shame (but which is also due to the
> current
> broken implementation of [declare] in general).
>
>
> anyhow, what i'm mainly asking is, whether "std" prefixed declare
> options and the "std" prefixed cmdline flags are supposed to work on
> the
> same "standard". if so, does this mean to be exclusive (e.g. only have
> the Pd install path) or inclusive (additionally have
> /usr/local/lib/pd-externals/ and ~/pd-externals/ (and on debian the
> additional /usr/lib/pd/extra/)
>
> i generally tend towards an inclusive solution, though i'm not 100%
> sure
> whether this is the user expectancy with regards to ~/pd-externals/
[import foo] will load libraries from all paths, I think. Or at least
it should. I never understood [declare]'s -stdpath and -stdlib, that
lead to me writing [import].
.hc
----------------------------------------------------------------------------
Terrorism is not an enemy. It cannot be defeated. It's a tactic.
It's about as sensible to say we declare war on night attacks and
expect we're going to win that war. We're not going to win the war on
terrorism. - retired U.S. Army general, William Odom
More information about the pkg-multimedia-maintainers
mailing list