Hi All,

I just got a Bela Mini and have compiled some PD externals for it and thought I would contribute a more verbose guide for others. I hope this is helpful and that people can help show me some other ways of achieving this so I can learn too.

a


  1. Download PD-Extended Source Code. We will use this to transfer to the Bela and then build externals on the board. I downloaded the source from here: https://puredata.info/downloads/pd-extended

  2. Unzip the package. This ended up in the Downloads folder for me.

  3. Open a terminal. CD to the externals folder of PD-Extended
    > cd Downloads/
    > cd pd-extended/

  4. Copy the externals folder to the Bela's pd-externals folder in the projects directory. Make sure you have it plugged in and have a working network connection first. You may have to create the pd-externals folder first by SSHing into the Bela.
    > scp -r externals/ root@192.168.7.2:/root/Bela/projects/pd-externals/

  5. SSH into the Bela.
    > ssh root@192.168.7.2

  6. Move to the externals folder.
    > cd Bela/projects/pd-externals/externals

  7. Move to the folder of your choice and run the build files. Mileage will vary. bsaylor and sigpack are easy and sound great.
    > cd bsaylor
    > make PD_INCLUDE=/usr/local/include/libpd/

  8. Copy the resulting .pd_linux binaries into the pd-externals folder.
    > cp *pd_linux /root/Bela/projects/pd-externals/

  9. Load a PD project with the externals in it and enjoy.

3 months later

Thanks for posting this, so helpful!

4 years later

Thank you that was really helpful. Some of the library like 'Gem' were a bit tricky to compile, the src in the folder /usr/local/include/libpd/ don't seem to be complete and I had to upload the src folder included with pd-extended into the bela

That's probably still OK, compile-wise, but how are you going to use Gem if there is no video output from the board?

i thought pd-extended had long been abandoned?
not that there's no useful libs in there..

    Remork i thought pd-extended had long been abandoned?

    that's correct. But Pd's headers (which are in the src folder that has been copied over) are backwards compatible for many many many years. Any new feature is added in a backwards-compatible way, so any external that doesn't require new features should build fine with even an old header; if it requires a new feature it won't build, so you'd know that.

    Remork not that there's no useful libs in there..

    Most of those should be available via deken. Btw, something I may have not mentioned is that if you find an external on deken that was built for armv7, then you can probably just install it on Bela as it is.

    10 months later

    I hate to reanimate the dead but I'm developing on an Intel Mac and have a darwin build of a specific library (arraycopy from pd-maxlib) but for the life of me can't seem to get the build to run on the Bela. I've added the location /usr/local/include/libpd to my PATH but I'm getting an error stating that the m_pd.h can't be found.

    === EDIT ===

    The magic sauce was this line cribbed from elsewhere in the forums:
    make PDINCLUDEDIR=/usr/local/include/libpd/