Dear list, I get an unwanted beheaviour with the location of the externals libraries installed on pd 0.47.1. Pd was compiled from sources, on ubuntu 16.04 linux running on the odroid-c2 board (armv8-64)
I installed the externals I needed via apt-get install pd-name_package. The package got installed in /usr/lib/pd/extra. I have added such folder in the search path.
Now in pd I want to use some of those externals, let's say "packOSC". At this stage If I create an object with "osc/packOSC" it works.
I want to avoid using the name of the package before each external I need to use. So I created an object with "declare -stdpath /usr/lib/pd/extra/osc".
The problem is that pd seems to ignore that command, or the analog ones with -path and -lib.
So I tried to set the startup flags e.g. -lib /usr/lib/pd/extra/osc but when I launch pd I get "can't load library"
Any suggestion or workaround? Is there maybe a bug?
Thanks in advance
Best
Angelo
I`m not a Linux user so not sure:
I want to avoid using the name of the package before each external I need to
use. So I created an object with "declare -stdpath /usr/lib/pd/extra/osc".
Isn't this [declare -stdpath osc] ?
So I tried to set the startup flags e.g. -lib /usr/lib/pd/extra/osc but when I
launch pd I get "can't load library"
Sure on this, Osc is not a lib. Libs are Gem and Zexy 2.2.6svn ...
try:
-path /usr/lib/pd/extra/osc
But probably with the above [declare] you got it.
Mensaje telepatico asistido por maquinas.
From: Pd-list pd-list-bounces@lists.iem.at on behalf of Angelo Arcadi angelo.arcadi.mailinglist@gmail.com Sent: Friday, August 5, 2016 11:01 PM To: pd-list@lists.iem.at Subject: [PD] External libraries not found via declare object or startup flags (pd 0.47.1, linux)
Dear list, I get an unwanted beheaviour with the location of the externals libraries installed on pd 0.47.1. Pd was compiled from sources, on ubuntu 16.04 linux running on the odroid-c2 board (armv8-64)
I installed the externals I needed via apt-get install pd-name_package. The package got installed in /usr/lib/pd/extra. I have added such folder in the search path.
Now in pd I want to use some of those externals, let's say "packOSC". At this stage If I create an object with "osc/packOSC" it works.
I want to avoid using the name of the package before each external I need to use. So I created an object with "declare -stdpath /usr/lib/pd/extra/osc".
The problem is that pd seems to ignore that command, or the analog ones with -path and -lib.
So I tried to set the startup flags e.g. -lib /usr/lib/pd/extra/osc but when I launch pd I get "can't load library"
Any suggestion or workaround? Is there maybe a bug?
Thanks in advance
Best
Angelo
Dear list, still I am having troubles in loading the externals so I suspect that either I have not understood something fundamental or there is a bug or something needed to be done during configuring/building pd. Just to remind you, I am using an odroid C2 board running ubuntu 16.04, and I built the last version of pd 0.47.1.
These are the trials I did. In each trial I Inserted in the preferences the path /usr/lib/extra (where the externals are present). For the sake of sempilicity I refer to the library cyclone and its object gate
Trial 1:
"declare". Result: it works
Trial 2:
Result: error couldn't create gate
However, if I create the object "cyclone/gate" it still works. Notably, if I then create an object "gate" (not "cyclone/gate") the object can be created without errors.
Trial 3:
Result: error couldn't create gate
Trial 4:
Result: error couldn't create gate
Trial 5:
Result: error couldn't create gate
Trial 6:
Result: error couldn't create gate
Trial 7:
/usr/lib/extra/cyclone" Result: error couldn't create gate
Trial 8:
Result: error couldn't create gate
Trial 9:
Result: error couldn't create gate
Can anyone suggest how can I solve this problem? I would like to avoid to place cyclone in front of every object gate, etc.
Thanks in advance
Best
Angelo
On Fri, Aug 5, 2016 at 7:30 PM, Lucas Cordiviola lucarda27@hotmail.com wrote:
I`m not a Linux user so not sure:
*I want to avoid using the name of the package before each external I need to *
*use. So I created an object with "declare -stdpath /usr/lib/pd/extra/osc".*
Isn't this [declare -stdpath osc] ?
*So I tried to set the startup flags e.g. -lib /usr/lib/pd/extra/osc but when I *
*launch pd I get "can't load library"*
Sure on this, Osc is not a lib. Libs are Gem and Zexy 2.2.6svn …
try:
-path /usr/lib/pd/extra/osc
But probably with the above [declare] you got it.
Mensaje telepatico asistido por maquinas.
*From:* Pd-list pd-list-bounces@lists.iem.at on behalf of Angelo Arcadi angelo.arcadi.mailinglist@gmail.com *Sent:* Friday, August 5, 2016 11:01 PM *To:* pd-list@lists.iem.at *Subject:* [PD] External libraries not found via declare object or startup flags (pd 0.47.1, linux)
Dear list, I get an unwanted beheaviour with the location of the externals libraries installed on pd 0.47.1. Pd was compiled from sources, on ubuntu 16.04 linux running on the odroid-c2 board (armv8-64)
I installed the externals I needed via apt-get install pd-name_package. The package got installed in /usr/lib/pd/extra. I have added such folder in the search path.
Now in pd I want to use some of those externals, let's say "packOSC". At this stage If I create an object with "osc/packOSC" it works.
I want to avoid using the name of the package before each external I need to use. So I created an object with "declare -stdpath /usr/lib/pd/extra/osc".
The problem is that pd seems to ignore that command, or the analog ones with -path and -lib.
So I tried to set the startup flags e.g. -lib /usr/lib/pd/extra/osc but when I launch pd I get "can't load library"
Any suggestion or workaround? Is there maybe a bug?
Thanks in advance
Best
Angelo
Dear Iohannes, list, first of all I noticed that in my previous message I wrote /usr/lib/extra while instead I was loading /usr/lib/pd/extra of course.
Secondly, I enabled the verbose option as Iohannes suggested and I noticed the following:
1- creating the objects "declare -stdpath cyclone" or "declare -path cyclone" does not work, one need to create the objects "declare -sdtpath /usr/lib/pd/extra/cyclone" or "declare -path /usr/lib/pd/extra/cyclone".
2- HOWEVER, if I do the following:
/usr/lib/pd/extra/cyclone" (or "declare -path /usr/lib/pd/extra/cyclone")
present (the subpatch is in the same folder of the main patch).
Result: gate can't be created. It seems to me that the problem is that pd loads only at the very last the subpatch "loadlib", after having searched all other possibilities for creating the object gate.
Why does this happen? Is there a way to force pd to search first for the "loadlib" subpatch?
Here the Verbose so you can notice:
tried /home/odroid/Desktop/prove_pd/gate_loadlibrary.pd and succeeded tried /home/odroid/Desktop/prove_pd/gate.so and failed tried /home/odroid/Desktop/prove_pd/gate.pd_linux and failed tried /home/odroid/Desktop/prove_pd/gate/gate.so and failed tried /home/odroid/Desktop/prove_pd/gate/gate.pd_linux and failed tried /home/odroid/Desktop/prove_pd/gate.pd and failed tried /home/odroid/Desktop/prove_pd/gate.pat and failed tried /home/odroid/Desktop/prove_pd/gate/gate.pd and failed tried /usr/lib/pd/extra/gate.so and failed tried /usr/lib/pd/extra/gate.pd_linux and failed tried /usr/lib/pd/extra/gate/gate.so and failed tried /usr/lib/pd/extra/gate/gate.pd_linux and failed tried /usr/lib/pd/extra/gate.pd and failed tried /usr/lib/pd/extra/gate.pat and failed tried /usr/lib/pd/extra/gate/gate.pd and failed tried /home/odroid/.local/lib/pd/extra/gate.so and failed tried /home/odroid/.local/lib/pd/extra/gate.pd_linux and failed tried /home/odroid/.local/lib/pd/extra/gate/gate.so and failed tried /home/odroid/.local/lib/pd/extra/gate/gate.pd_linux and failed tried /home/odroid/.local/lib/pd/extra/gate.pd and failed tried /home/odroid/.local/lib/pd/extra/gate.pat and failed tried /home/odroid/.local/lib/pd/extra/gate/gate.pd and failed tried /home/odroid/pd-externals/gate.so and failed tried /home/odroid/pd-externals/gate.pd_linux and failed tried /home/odroid/pd-externals/gate/gate.so and failed tried /home/odroid/pd-externals/gate/gate.pd_linux and failed tried /home/odroid/pd-externals/gate.pd and failed tried /home/odroid/pd-externals/gate.pat and failed tried /home/odroid/pd-externals/gate/gate.pd and failed tried /usr/local/lib/pd-externals/gate.so and failed tried /usr/local/lib/pd-externals/gate.pd_linux and failed tried /usr/local/lib/pd-externals/gate/gate.so and failed tried /usr/local/lib/pd-externals/gate/gate.pd_linux and failed tried /usr/local/lib/pd-externals/gate.pd and failed tried /usr/local/lib/pd-externals/gate.pat and failed tried /usr/local/lib/pd-externals/gate/gate.pd and failed tried /usr/local/lib/pd/extra/gate.so and failed tried /usr/local/lib/pd/extra/gate.pd_linux and failed tried /usr/local/lib/pd/extra/gate/gate.so and failed tried /usr/local/lib/pd/extra/gate/gate.pd_linux and failed tried /usr/local/lib/pd/extra/gate.pd and failed tried /usr/local/lib/pd/extra/gate.pat and failed tried /usr/local/lib/pd/extra/gate/gate.pd and failed gate ... couldn't create tried /home/odroid/Desktop/prove_pd/load_usrlibpdextracyclone.so and failed tried /home/odroid/Desktop/prove_pd/load_usrlibpdextracyclone.pd_linux and failed tried /home/odroid/Desktop/prove_pd/load_usrlibpdextracyclone/load_usrlibpdextracyclone.so and failed tried /home/odroid/Desktop/prove_pd/load_usrlibpdextracyclone/load_usrlibpdextracyclone.pd_linux and failed tried /home/odroid/Desktop/prove_pd/load_usrlibpdextracyclone.pd and succeeded tried /home/odroid/Desktop/prove_pd/load_usrlibpdextracyclone.pd and succeeded opened 0 MIDI input device(s) and 0 MIDI output device(s).
Any suggestion?
On Wed, Aug 10, 2016 at 3:19 PM, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 08/10/2016 09:12 PM, Angelo Arcadi wrote:
still I am having troubles in loading the externals so I suspect that either I have not understood something
start Pd in verbose mode and watch the Pd-console how and where it searches for the object. make conclusions.
gfmards IOhannes
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/ listinfo/pd-list
On 08/10/2016 10:39 PM, Angelo Arcadi wrote:
Dear Iohannes, list, first of all I noticed that in my previous message I wrote /usr/lib/extra while instead I was loading /usr/lib/pd/extra of course.
Secondly, I enabled the verbose option as Iohannes suggested and I noticed the following:
1- creating the objects "declare -stdpath cyclone" or "declare -path cyclone" does not work, one need to create the objects "declare -sdtpath /usr/lib/pd/extra/cyclone" or "declare -path /usr/lib/pd/extra/cyclone".
there seems to be indeed a bug here:
standard-paths (those searched without you passing '-path' on the cmdline).
since you must add "-path /usr/lib/pd/extra" to Pd's search-paths somewhere, there is currently no way to tell Pd to also use this path :-(
like always, the fix should be simple: but first it needs to be decided what the desired behaviour should actually be...
Any suggestion?
here's a workaround for now:
TL;DR: use [declare -path cyclone -stdpath cyclone -lib cyclone] together with "libdir".
"libdir" is a library-loader object that loads directories-as-libraries if they conform to the libdir format (like cyclone; generally all the libraries that have a <libraryname>-meta.pd patch).
preferences) - pd-libdir is available via apt. this will work, because the libdir library will install itself into /usr/lib/pd/extra/libdir/libdir.pd_linux, and when loading "libdir", Pd will search (among other things) for libdir/libdir.pd_linux in (among other paths) /usr/lib/pd/extra/
the dependency on cyclone. the "-path" and "-stdpath" portions are unused in your setup (but might work for people with more straight-forward setups). the "-lib" portion will trigger the libdir loading mechanis, which will search all the paths (among them /usr/lib/pd/extra/) for cyclone/cyclone-meta.pd, and will eventually find it as /usr/lib/pd/extra/cyclone/cyclone-meta.pd - and then it will add /usr/lib/pd/extra/cyclone/ to the (canvas-local) search path.
i know that [declare -path cyclone -stdpath cyclone -lib cyclone] looks like a joke (while you are there, add "-stdlib cyclone" as well, that should be fool-proof)
fmasdr IOhannes
Dear Iohannes, thanks for your valuable answers as always.
I will follow your indications but at the moment I found another workaround: I don't use any declare object and I add in Preferences->Path all the paths of the folders I intend to use. They are all inside /usr/lib/pd/extra (e.g. cyclone). Why Pd does not allow to load recursively also the subfolders of a folder indicated in the Preferences->Path? It would be great since one could just add the path /usr/lib/pd/extra... actually this should also be automatically loaded, without the need for the user to setup the Path in the Preferences, since deken automatically places the externals there.
I was wondering, is there a chance to solve the bug? If yes, when more or less?
Best
Angelo
On Wed, Aug 10, 2016 at 6:10 PM, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 08/10/2016 10:39 PM, Angelo Arcadi wrote:
Dear Iohannes, list, first of all I noticed that in my previous message I wrote /usr/lib/extra while instead I was loading /usr/lib/pd/extra of course.
Secondly, I enabled the verbose option as Iohannes suggested and I noticed the following:
1- creating the objects "declare -stdpath cyclone" or "declare -path cyclone" does not work, one need to create the objects "declare -sdtpath /usr/lib/pd/extra/cyclone" or "declare -path /usr/lib/pd/extra/cyclone".
there seems to be indeed a bug here:
- [declare -path] adds the new path *only* to the current directory.
- [declare -stdpath] tries adding the new path *only* to the
standard-paths (those searched without you passing '-path' on the cmdline).
since you must add "-path /usr/lib/pd/extra" to Pd's search-paths somewhere, there is currently no way to tell Pd to also use this path :-(
like always, the fix should be simple: but first it needs to be decided what the desired behaviour should actually be...
Any suggestion?
here's a workaround for now:
TL;DR: use [declare -path cyclone -stdpath cyclone -lib cyclone] together with "libdir".
"libdir" is a library-loader object that loads directories-as-libraries if they conform to the libdir format (like cyclone; generally all the libraries that have a <libraryname>-meta.pd patch).
- add '/usr/lib/pd/extra' to your general search paths (in Pd's
preferences)
- add 'libdir' to the automatically loaded libraries (in Pd's
preferences) - pd-libdir is available via apt. this will work, because the libdir library will install itself into /usr/lib/pd/extra/libdir/libdir.pd_linux, and when loading "libdir", Pd will search (among other things) for libdir/libdir.pd_linux in (among other paths) /usr/lib/pd/extra/
- use [declare -path cyclone -stdpath cyclone -lib cyclone] to declare the
dependency on cyclone. the "-path" and "-stdpath" portions are unused in your setup (but might work for people with more straight-forward setups). the "-lib" portion will trigger the libdir loading mechanis, which will search all the paths (among them /usr/lib/pd/extra/) for cyclone/cyclone-meta.pd, and will eventually find it as /usr/lib/pd/extra/cyclone/cyclone-meta.pd - and then it will add /usr/lib/pd/extra/cyclone/ to the (canvas-local) search path.
i know that [declare -path cyclone -stdpath cyclone -lib cyclone] looks like a joke (while you are there, add "-stdlib cyclone" as well, that should be fool-proof)
fmasdr
IOhannes
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/li stinfo/pd-list
Angelo Arcadi wrote:
Dear Iohannes, thanks for your valuable answers as always.
I will follow your indications but at the moment I found another workaround: I don't use any declare object and I add in Preferences->Path all the paths of the folders I intend to use. They are all inside /usr/lib/pd/extra (e.g. cyclone). Why Pd does not allow to load recursively also the subfolders of a folder indicated in the Preferences->Path? It would be great since one could just add the path /usr/lib/pd/extra... actually this should also be automatically loaded, without the need for the user to setup the Path in the Preferences, since deken automatically places the externals there.
+1 !
best
oliver
be automatically loaded, without the need for the user to setup the Path in the Preferences, since deken automatically places the externals there.
+1 !
I don't understand,
This what you are asking is not already there on Linux. On Windows it does.
Start pd: pd -stdpath -noprefs
Open browser. External folders are not there?
If they are already listed there: create: [cyclone/gate]
now do: [declare -stdpath cyclone]
now create [gate]
////////////
Please post back as there is some confusion around:
IOhannes wrote this:
there seems to be indeed a bug here:
[declare -path] adds the new path *only* to the current directory.
[declare -stdpath] tries adding the new path *only* to the
standard-paths (those searched without you passing ' path' on the cmdline).
since you must add "-path /usr/lib/pd/extra" to Pd's search-paths
why adding this -path?
somewhere, there is currently no way to tell Pd to also use this path :-(
like always, the fix should be simple: but first it needs to be decided what the desired behaviour should actually be...
Salutti, Lucarda.
Mensaje telepatico asistido por maquinas.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
From: Pd-list pd-list-bounces@lists.iem.at on behalf of oliver oliver@klingt.org
Sent: Wednesday, August 10, 2016 10:38 PM
To: pd-list@mail.iem.at
Subject: Re: [PD] External libraries not found via declare object or startup flags (pd 0.47.1, linux)
Angelo Arcadi wrote:
Dear Iohannes, thanks for your valuable answers as always.
I will follow your indications but at the moment I found another workaround: I don't use any declare object and I add in Preferences->Path all the paths of the folders I intend to use. They are all inside /usr/lib/pd/extra (e.g. cyclone). Why Pd does not allow to load recursively also the subfolders of a folder indicated in the Preferences->Path? It would be great since one could just add the path /usr/lib/pd/extra... actually this should also be automatically loaded, without the need for the user to setup the Path in the Preferences, since deken automatically places the externals there.
+1 !
best
oliver
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list Info Page lists.puredata.info Pd (standing for Pure Data) is a Max-like graphical realtime-computermusic language, written by Miller S. Puckette (et al.) This mailinglist is meant as a platform ...
On 2016-08-11 09:35, Lucas Cordiviola wrote:
I don't understand,
This what you are asking is not already there on Linux. On Windows it does.
the problem is with a non-straightfoward setup and some manual overrides i suggested which now give more trouble than benefits.
fgamsdr IOhannes
On 2016-08-11 00:38, oliver wrote:
Why Pd does not allow to load recursively also the subfolders of a folder indicated in the Preferences->Path? It would be great since one could just add the path /usr/lib/pd/extra...
ah yes, the joys of recursively adding / to the recursively searched paths...
actually this should also be automatically loaded, without the need for the user to setup the Path in the Preferences, since deken automatically places the externals there.
ah no, it does not. deken *suggests* placing the objects into paths that are searched for by the currently running installation of Pd. it also prefers to install it into a per-user specific directory (~/.local/lib/pd/extra) rather than a system-wide dir (/usr/lib/pd/extra), mostly because most users do not have write-access to the system-wide dirs. also note, that a Pd installed as /usr/local/bin/pd will *never automatically* search /usr/lib/pd/extra (and deken running inside this Pd will never suggest to install anything into /usr/lib/pd/extra)
i think your trouble started when i suggested that you could install Pd-libraries via the system package manager and use the deken-apt plugin to integrate the system package manger into deken. this does not go together well with a self-compiled Pd residing in /usr/local/, as the system package manager explicitely installs packages into /usr/lib/pd and is really meant for a Pd installation provided by the system package manager as well.
so it's probably time to reverse my suggestion of using apt and/or deken-apt together with your self-compiled Pd.
the proper options i see are to either use a self-compiled Pd XOR a system-provided Pd consistently. #1 totally switch to self-compiled Pd
already uploaded binaries for your architecture, and if not, do that yourself...
#2 switch to a system installed Pd
#2a assuming that the reason for using a self-compiled Pd in the first place was that your distro lacks a recent-enough Pd (e.g. you'd like to use Pd-0.47 and your ubuntu only comes with Pd-0.46), you can pretty easily create "backported" debs for your system. since i have explained that a number of times on this list, i will skip it for now and refer you to the list-archives, e.g. [1] (obviouly you have to change the actual version number according to what is currently cooking [2])
hjm IOhannes
[1] https://lists.puredata.info/pipermail/pd-list/2014-11/108380.html [2] https://packages.debian.org/source/sid/puredata