[PD] Building ELSE for Pd Vanilla (here RPi OS 11 32-bit)

Linux Rouen Normandie linux.rouen at free.fr
Thu Aug 3 19:01:36 CEST 2023


Hello Alexandre,

No luck from the beginning with Errors starting from line 51 with:
pi at RPi400:~/Downloads/pd-else-master $ make install objectsdir=~/else-build
Using 'sudo' before the command is not better.

Note-1: Of course, the pd-else-master.zip, downloaded today from your 
Else Git has been decompressed.
Note-2: Neither '/home/pi/else-build/else' nor '/home/pi/else-build' 
have been created.
Note-3: You can see that here the architecture is for 'armv7' (on my RPi 
400 / RPi OS11 32-bit).

See the terminal output in the here attached file.
Any idea how to fix that?

Thanks.
Best, Joseph
= = = = = = = = = =

Le 02/08/2023 à 04:29, Alexandre Torres Porres a écrit :
> cool, just try the current master, as I think I solved some issues for 
> building these objects there and I'm still adding new features and 
> will release the final update with them anyway...
>
> Em ter., 1 de ago. de 2023 às 19:32, Linux ROUEN Normandie 
> <linux.rouen at free.fr> escreveu:
>
>     Thanks for your clarifications. It's clearer and my understanding
>     has increased a bit.
>     Now I will make my home work, including the 3 [~] objects, hoping
>     I will not face to an unbreakable wall.
>     Let's see. I will keep you posted...
>
>     --------------------
>     Best, Joseph
>     --------------------
>
>     Le 01/08/2023 à 01:41, Alexandre Torres Porres a écrit :
>>     Em seg., 31 de jul. de 2023 às 16:47, Linux Rouen Normandie
>>     <linux.rouen at free.fr> escreveu:
>>
>>         Hello Alexandre,
>>         Well, I'm back with 5 basic (-questions-) for "dummies"
>>         embedded into your here below Building instructions...
>>
>>
>>     Maybe not the best place to discuss this, but then I could
>>     actually use some help form others, as, like I just said in the
>>     other subject/thread, my experience with linux and raspberry pi
>>     is limited.
>>
>>     I have a VM in a mac that runs ubuntu and I'm able to cross
>>     compile in it for raspberry pis thanks to a friend who set it up
>>     for me, but I was never able to use it to compile these new three
>>     objects that need more steps.
>>
>>     Anyway, thanks for your interest and help, let's dig in...
>>
>>         => So I installed pd-lib-builder-0.6.0-1 from Add/Remove
>>         Software (RPi OS 11 32-bit / RPi 400), done.
>>
>>
>>     I do provide pd-lib-builder in a subfolder of the ELSE source
>>     code, so you don't really need to bother installing it yourself.
>>
>>         1. Installing with pdlibbuilder
>>         Go to the pd-else folder /(-Which folder? The decompressed
>>         downloaded source code file?-)/
>>
>>
>>     Yup. If you're cloning from github you should have this "pd-else"
>>     folder. If you download the source from the github site you get
>>     something like "pd-else-master" or "pd-else-1.0-rc9-pre-test"
>>     (preferred for what you want, which is building this release).
>>     Just just go to this directory on your terminal to run the make code.
>>
>>         and use "objectsdir" to set an /absolute/ path for your
>>         build, something like:
>>             make install objectsdir=~/else-build
>>         Then move it (-What?-)
>>
>>
>>     move the built and generated folder. In this case it would be a
>>     folder called "else" created inside a "else-build" subfolder in
>>     the source code of ELSE.
>>
>>     I actually do "objectsdir=../" and look for the 'else' folder in
>>     the same folder as the source code of ELSE...
>>
>>     So, when you're done generating your folder, move it to install
>>     it as any external library into your preferred externals folder.
>>
>>         from there to your preferred install folder for Pd /(-What do
>>         you mean by 'your Preferred install folder for Pd'?-)/
>>
>>
>>     Wherever you like. I use the ~/Documents/Pd/externals folder.
>>
>>         and add it to the path /(-How and to which one?-)/.
>>
>>
>>     Add the else folder (wherever it is) to the user added search
>>     paths, that you can set under preferences ==> path
>>
>>         2. Installing sfont~, sfz~ and plaits~
>>         (...)
>>         To install them with the rest of ELSE you can build from the
>>         toplevel source directory /(-?-)/
>>
>>
>>     That is the same directory for the regular build, like "pd-else".
>>
>>         using the special 'sfont', 'sfz' and 'plaits' targets:
>>             make sfont sfz plaits pdincludepath=~/pd-0.54-0/src/
>>             make sfont-install sfz-install plaits-install
>>         objectsdir=~/else-build
>>
>>
>>     I don't really use 'pdincludepath'... pdlibbuilder finds it if
>>     you have it. But you gotta have pd-0.54-0 installed, preferably
>>     just this version.
>>
>>     Like I said in the other thread, you need to have 'cmake'
>>     installed, which may be something that comes out of the box in
>>     raspberry pi?
>>
>>     Anyway, that's all I know, that's what I need to do to build it
>>     in my mac, but I have no idea if it'll run smoothly in a
>>     raspberry pi and I'm afraid I won't know what to do if you hit a
>>     wall :)
>>
>>     Hope it works, let us know
>>
>>     thanks
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20230803/b3643389/attachment-0001.htm>
-------------- next part --------------
pi at RPi400:~/Downloads/pd-else-master $ make install objectsdir=~/else-build

++++ info: using Makefile.pdlibbuilder version 0.6.0
++++ info: making target install in lib else
++++ info: installpath is '/home/pi/else-build/else'
++++ info: making Code_source/Compiled/control/rand.f.o in lib else
cc -DPD -I "/usr/include/pd" -DUNIX  -fPIC -ICode_source/shared -DHAVE_STRUCT_TIMESPEC -ICode_source/shared/aubio/src -Wall -Wextra -Wshadow -Winline -Wstrict-aliasing -O3 -ffast-math -funroll-loops -fomit-frame-pointer -march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard -o Code_source/Compiled/control/rand.f.o -c Code_source/Compiled/control/rand.f.c
Code_source/Compiled/control/rand.f.c: In function ‘setup_rand0x2ef’:
Code_source/Compiled/control/rand.f.c:76:47: warning: cast between incompatible function types from ‘void * (*)(t_symbol *, int,  t_atom *)’ {aka ‘void * (*)(struct _symbol *, int,  struct _atom *)’} to ‘void * (*)(void)’ [-Wcast-function-type]
   76 |     randf_class = class_new(gensym("rand.f"), (t_newmethod)randf_new, 0,
      |                                               ^
++++ info: making Code_source/shared/random.o in lib else
cc -DPD -I "/usr/include/pd" -DUNIX  -fPIC -ICode_source/shared -DHAVE_STRUCT_TIMESPEC -ICode_source/shared/aubio/src -Wall -Wextra -Wshadow -Winline -Wstrict-aliasing -O3 -ffast-math -funroll-loops -fomit-frame-pointer -march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard -o Code_source/shared/random.o -c Code_source/shared/random.c
Code_source/shared/random.c: In function ‘random_init’:
Code_source/shared/random.c:52:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
   52 |     if(*s1 <  2)
      |     ^~
Code_source/shared/random.c:54:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
   54 |  *s2 = 3093459404U ^ seedval;
      |  ^
Code_source/shared/random.c:55:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
   55 |     if(*s2 <  8)
      |     ^~
Code_source/shared/random.c:57:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
   57 |  *s3 = 1821928721U ^ seedval;
      |  ^
Code_source/shared/random.c: In function ‘get_seed’:
Code_source/shared/random.c:62:24: warning: parameter ‘s’ set but not used [-Wunused-but-set-parameter]
   62 | int get_seed(t_symbol *s, int ac, t_atom *av, int n){
      |              ~~~~~~~~~~^
++++ info: linking objects in rand.f.pd_linux for lib else
cc -rdynamic -shared -fPIC -Wl,-rpath,"\$ORIGIN",--enable-new-dtags    -o rand.f.pd_linux Code_source/Compiled/control/rand.f.o Code_source/shared/random.o  -lc -lm   
++++ info: making Code_source/Compiled/control/canvas.bounds.o in lib else
cc -DPD -I "/usr/include/pd" -DUNIX  -fPIC -ICode_source/shared -DHAVE_STRUCT_TIMESPEC -ICode_source/shared/aubio/src -Wall -Wextra -Wshadow -Winline -Wstrict-aliasing -O3 -ffast-math -funroll-loops -fomit-frame-pointer -march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard -o Code_source/Compiled/control/canvas.bounds.o -c Code_source/Compiled/control/canvas.bounds.c
Code_source/Compiled/control/canvas.bounds.c: In function ‘bounds_proxy_any’:
Code_source/Compiled/control/canvas.bounds.c:21:66: warning: parameter ‘ac’ set but not used [-Wunused-but-set-parameter]
   21 | static void bounds_proxy_any(t_bounds_proxy *p, t_symbol *s, int ac, t_atom *av){
      |                                                              ~~~~^~
Code_source/Compiled/control/canvas.bounds.c: In function ‘setup_canvas0x2ebounds’:
Code_source/Compiled/control/canvas.bounds.c:67:55: warning: cast between incompatible function types from ‘void * (*)(t_floatarg)’ {aka ‘void * (*)(float)’} to ‘void * (*)(void)’ [-Wcast-function-type]
   67 |     bounds_class = class_new(gensym("canvas.bounds"), (t_newmethod)bounds_new,
      |                                                       ^
++++ info: linking objects in canvas.bounds.pd_linux for lib else
cc -rdynamic -shared -fPIC -Wl,-rpath,"\$ORIGIN",--enable-new-dtags    -o canvas.bounds.pd_linux Code_source/Compiled/control/canvas.bounds.o  -lc -lm   
++++ info: making Code_source/Compiled/signal/rint~.o in lib else
cc -DPD -I "/usr/include/pd" -DUNIX  -fPIC -ICode_source/shared -DHAVE_STRUCT_TIMESPEC -ICode_source/shared/aubio/src -Wall -Wextra -Wshadow -Winline -Wstrict-aliasing -O3 -ffast-math -funroll-loops -fomit-frame-pointer -march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard -o Code_source/Compiled/signal/rint~.o -c Code_source/Compiled/signal/rint~.c
Code_source/Compiled/signal/rint~.c: In function ‘rint_dsp’:
Code_source/Compiled/signal/rint~.c:23:5: warning: implicit declaration of function ‘signal_setmultiout’ [-Wimplicit-function-declaration]
   23 |     signal_setmultiout(&sp[1], sp[0]->s_nchans);
      |     ^~~~~~~~~~~~~~~~~~
Code_source/Compiled/signal/rint~.c:23:37: error: ‘t_signal’ {aka ‘struct _signal’} has no member named ‘s_nchans’
   23 |     signal_setmultiout(&sp[1], sp[0]->s_nchans);
      |                                     ^~
Code_source/Compiled/signal/rint~.c:24:43: error: ‘t_signal’ {aka ‘struct _signal’} has no member named ‘s_length’
   24 |     dsp_add(rint_perform, 3, (t_int)(sp[0]->s_length * sp[0]->s_nchans),
      |                                           ^~
Code_source/Compiled/signal/rint~.c:24:61: error: ‘t_signal’ {aka ‘struct _signal’} has no member named ‘s_nchans’
   24 |     dsp_add(rint_perform, 3, (t_int)(sp[0]->s_length * sp[0]->s_nchans),
      |                                                             ^~
Code_source/Compiled/signal/rint~.c:21:30: warning: parameter ‘x’ set but not used [-Wunused-but-set-parameter]
   21 | static void rint_dsp(t_rint *x, t_signal **sp){
      |                      ~~~~~~~~^
Code_source/Compiled/signal/rint~.c: In function ‘rint_tilde_setup’:
Code_source/Compiled/signal/rint~.c:36:53: error: ‘CLASS_MULTICHANNEL’ undeclared (first use in this function)
   36 |         (t_newmethod) rint_new, 0, sizeof (t_rint), CLASS_MULTICHANNEL, 0);
      |                                                     ^~~~~~~~~~~~~~~~~~
Code_source/Compiled/signal/rint~.c:36:53: note: each undeclared identifier is reported only once for each function it appears in
make: *** [pd-lib-builder//Makefile.pdlibbuilder:949 : Code_source/Compiled/signal/rint~.o] Erreur 1

pi at RPi400:~/Downloads/pd-else-master $ 


More information about the Pd-list mailing list