If you update your Bela to ge latest version you should get pd 0.51 . Ia that good enough?
https://learn.bela.io/using-bela/bela-techniques/updating-bela/
There is no pd executable because we only install libpd and don't build the pd binary
Pure Data version/update
giuliomoro I just did an update on my Bela, but I'm still getting 0-48-2. I updated my Bela from the IDE. Is there something I need to do in the terminal as well?
can you show the content of the "version details" dialog, accessible via the the "other system functions" section of the IDE preferences?
giuliomoro Hm, there's doesn't seem to be such an option in "other system functions". Perhaps the IDE needs an update as well? Is there something I can do in the terminal?
Then I guess the update didn't go well , as the IDE should have been updated, too, as part of the procedure. Can you retry the update and report here any messages that are produced in the process?
Maybe use the "update with update_board" procedure from this page this time https://learn.bela.io/using-bela/bela-techniques/updating-bela/
- Edited
giuliomoro I tried to update the board with the script, and this is the output:
DATE=2023-12-17T13:40:41Z
FILENAME=Bela-master
METHOD=update_board
Checking the board is up and running at root@192.168.7.2...Warning: Permanently added '192.168.7.2' (ED25519) to the list of known hosts.
done
Board found at root@192.168.7.2
Updating the Bela core code in root@192.168.7.2:/root/Bela
All the changes to the CORE files in the remote folder /root/Bela will be LOST. The content of these files/folders will be lost:
core include Makefile Makefile.libraries Makefile.linkbela examples Doxyfile scripts resources pru libraries
Your projects stored in /root/Bela/projects should be safe (and surely you have already backed them up somewhere safe, haven't you?).
Are you sure you want to continue? (y/N) y
Updating Bela core files to remote folder /root/Bela
Stopping Bela...done
Updating files...done
Scope
Using library Scope
Using library WSServer
Using library ne10
Midi
Using library Midi
Gui
Using library Gui
Using library WSServer
Trill
Using library Trill
Pipe
Using library Pipe
make: Entering directory '/root/Bela/resources/tools/bela-cape-btn'
gcc bela-cape-btn.c -o bela-cape-btn
bela-cape-btn.c: In function 'run':
bela-cape-btn.c:420:22: error: 'pfd' undeclared (first use in this function)
int result = poll(pfd, 1, pollTime);
^~~
bela-cape-btn.c:420:22: note: each undeclared identifier is reported only once for each function it appears in
Makefile:26: recipe for target 'bela-cape-btn' failed
make: *** [bela-cape-btn] Error 1
make: Leaving directory '/root/Bela/resources/tools/bela-cape-btn'
An error occurred.
Then I updated the IDE with the script and it worked fine. Version details gives me this:
Image:
Unknown
Core code:
Last attempted update on '17 Dec 2023 15:32:18 '
via 'make update (legacy)'
Git desc: '60b39c7-dirty'
Trying to update the board through the IDE now fails with this:
Upload completed, saving update file...
unzipping and validating update...
Validating archive...
uncompressed size: 109452571
Unzipping archive...
Validating unzipped archive...
...done
Applying update...
No process to kill
Copying /root/Bela to /tmp/belaPatch ...
Applying patch in /tmp/belaPatch...
Makefile:760: recipe for target 'update' failed
make: *** [update] Error 1
Error updating the board: `Error: make update failed with code 2`. Please try a different zip archive
right, it seems you may have a very old version of the base image (older than May 2020, is it possible?). At this point you are probably best off reflashing the latest version on an SD card https://github.com/BelaPlatform/bela-image-builder/releases/tag/v0.3.8h and then update that to the latest master
, which should work without issues.
giuliomoro I flashed the Bela image to an SD card (Balena Etcher kept on failing and I had to do it from the terminal, on an 8 GB SD), and following the instructions here (https://learn.bela.io/using-bela/bela-techniques/managing-your-sd-card/#flash-an-sd-card-using-balena-etcher) I booted the board from the SD card using jumper wires, and it booted fine. What's next though? I updated Bela from the IDE, but I think the image was updated on the SD card instead of the on-board eMMC, is that correct?
When I booted again without the SD card, I got the following, when trying to build my project:
Building FormatConvert.S...
...done
Building OscillatorBank_routines.S...
...done
Building math_runfast.c...
...done
Building I2c_Codec.cpp...
Building project ...
Building I2c_Codec.cpp...
...done
Building BelaContextFifo.cpp...
...done
Building Mmap.cpp...
...done
Building RTAudio.cpp...
...done
Building RTAudio.cpp...
...done
Building Tlv320_Es9080_Codec.cpp...
...done
Building Tlv320_Es9080_Codec.cpp...
...done
Building pru/pru_rtaudio.p...
...done
Building pru/pru_rtaudio_irq.p...
...done
Building pru/pru_rtaudio_irq.p...
...done
Building PruBinary.cpp...
...done
Building RTAudioCommandLine.cpp...
mv:
cannot stat 'pru_rtaudio_irq_bin.h': No such file or directory
make: *** [build/pru/pru_rtaudio_irq_bin.h] Error 1
Makefile:501: recipe for target 'build/pru/pru_rtaudio_irq_bin.h' failed
error setting project to run on boot!
...done
Building Mcasp.cpp...
...done
Building AuxTaskNonRT.cpp...
...done
Building JSONValue.cpp...
...done
Building board_detect.cpp...
...done
Building AuxiliaryTasks.cpp...
...done
Building PRU.cpp...
...done
Building DataFifo.cpp...
...done
Building AuxTaskRT.cpp...
...done
Building I2c_MultiI2sCodec.cpp...
...done
Building GPIOcontrol.cpp...
...done
Building I2c_MultiTLVCodec.cpp...
...done
Building PruManager.cpp...
...done
Building MiscUtilities.cpp...
...done
Building I2c_MultiTdmCodec.cpp...
...done
Building Spi_Codec.cpp...
...done
Building Gpio.cpp...
...done
Building Es9080_Codec.cpp...
...done
Building BelaContextSplitter.cpp...
...done
Building DigitalChannelManager.cpp...
...done
Building IirFilter.cpp...
...done
Building JSON.cpp...
...done
Building default_main.cpp...
...done
Building default_libpd_render.cpp...
Makefile:475: recipe for target 'build/core/default_libpd_render.o' failed
Build finished
In file core/default_libpd_render.cpp: no matching function for call to 'sys_doio' column: 7, line: 798
core/default_libpd_render.cpp:798:7: error: no matching function for call to 'sys_doio'
if(!sys_doio(pd_this))
^~~~~~~~
/usr/local/include/libpd/s_stuff.h:168:6: note: candidate function not viable: requires 0 arguments, but 1 was provided
void sys_doio();
^
1 error generated.
make: *** [build/core/default_libpd_render.o] Error 1
How do I update to the latest master with the SD card? Or should I always boot from the SD card? I'd rather not, if it's possible.
Once you boot your board with jumper wires, follow the instructions in "Flashing the eMMC" here to flash the emmc.
giuliomoro I should have scrolled further down in that page... thanks, it worked now. I have a new image with Pd-0.51.