[PD-dev] libpd search paths
Joseph Larralde
joseph.larralde at gmail.com
Fri Feb 15 15:11:25 CET 2019
For the moment I'm using the default Makefile of libpd (version tagged
0.11.0), which makes use of the -DHAVE_LIBDL flag.
It can't find the HAVE_LIBPD definition anywhere, though ... is this
normal ?
Sorry for my lack of knowledge of autotools, makefile, etc, but should I
add `HAVE_LIBPD =` at the beginning of the Makefile ? (e.g. after
`LIBPD_IMPLIB =` and `LIBPD_DEF =` lines ?)
Or should it be added to the cflags with -DHAVE_LIBPD ?
I added both and the addon builds fine (I got rid of the char * related
errors by adding the -fpermissive flag), but I still get stuck when
trying to run the js automated tests :
they fail with an `undefined symbol` error, the undefined symbol being
`canvas_undo_undo`.
Sounds familiar to anybody ?
I have no idea how to solve this ...
Thanks,
Joseph
Le 14/02/19 à 14:32, Dan Wilcox a écrit :
> If you're building libpd via a custom Makefile, see the flags used in
> the libpd Makefile. Also, if you're using the libpd Makefile,
> double-check that HAVE_LIBPD is being defined.
>
> On Thu, Feb 14, 2019 at 2:30 PM Joseph Larralde
> <joseph.larralde at gmail.com <mailto:joseph.larralde at gmail.com>> wrote:
>
> Thank you Dan for your explanation.
> And thanks everyone for helping.
>
> Yesterday I tried to recompile the node addon to use it locally
> but got into other trouble.
> I first recompiled libpd with MULTI=false after Christof's
> suggestion (to enable the PDINSTANCE flag) but node-gyp was the
> first wall I was still hitting.
> It seems there are still some slight updates I need to do in the
> addon's code (I got some char * vs const char * error).
> Your 3rd point makes obvious sense and I'll try this in the first
> place today.
>
> Joseph
>
> Le 14/02/19 à 13:07, Dan Wilcox a écrit :
>> A few things:
>>
>> 1. libpd does not use any paths, settings, audio/midi backends,
>> etc from desktop pd. It is only the core and less than "pd
>> without the gui." This is by design as it makes no assumptions
>> about the environment since it can be running in all manner of
>> places. This means it will only search paths relative to an
>> opened patch and those added explicitly by
>> llibpd_add_to_search_path().
>>
>> 2. Loading an external, whether it was compiled against 0.47 or
>> 0.49 should work as, largely, the pd API has not changed that much.
>>
>> 3. libpd needs to be built with -DHAVE_LIBDL in order to be able
>> to load separate, precompiled externals.
>>
>> 4. Some environments do *not* allow loading dynamic libraries for
>> legal/security reasons, ie. iOS. I don't this is the problem, but
>> it's good to know...
>>
>> I image you're issue is more to do with 3.
>>
>> Message: 1
>> Date: Wed, 13 Feb 2019 15:04:19 +0100
>> From: Joseph Larralde <joseph.larralde at gmail.com
>> <mailto:joseph.larralde at gmail.com>>
>> To: Giulio Moro <giuliomoro at yahoo.it
>> <mailto:giuliomoro at yahoo.it>>, Lucas Cordiviola
>> <lucarda27 at hotmail.com
>> <mailto:lucarda27 at hotmail.com>>, pd-dev <pd-dev at lists.iem.at
>> <mailto:pd-dev at lists.iem.at>>
>> Subject: Re: [PD-dev] libpd search paths
>> Message-ID: <2354c1c4-e6db-9143-1402-76dcd37b43a8 at gmail.com
>> <mailto:2354c1c4-e6db-9143-1402-76dcd37b43a8 at gmail.com>>
>> Content-Type: text/plain; charset="utf-8"; Format="flowed"
>>
>> Mmmh you might have found the clue ...
>> Actually I built the externals against pd version 0.49-0 and
>> it makes
>> sense that they load properly with the same version.
>> node-libpd comes with an arm libpd binary which seems to come
>> from an
>> older version of pd (added 1 year ago).
>> I can already tell that it's not an architecture issue because
>> everything is working on my pi : the addon is loading and
>> running
>> abstractions when used in a node program, and pd is loading
>> and running
>> my externals.
>> Only loading my externals from node-libpd doesn't work.
>> Still trying to get a local version of node-libpd to work ...
>> then I'll
>> replace the libpd.so with one that I'll build from the latest
>> version.
>> I can't see another explanation.
>> Do you know something about incompatibilities between
>> different versions
>> of pd ?
>> The libpd.so used by the addon is probably not older than 0.47
>>
>>
>>
>> --
>> Dan Wilcox
>> @danomatika
>> danomatika.com <http://danomatika.com>
>> robotcowboy.com <http://robotcowboy.com>
>
>
>
> --
> Dan Wilcox
> @danomatika
> danomatika.com <http://danomatika.com>
> robotcowboy.com <http://robotcowboy.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20190215/74ac869a/attachment.html>
More information about the Pd-dev
mailing list