<div dir="ltr"><div>Hi all,</div><div><br></div><div>Here's another list which I have been using to build purr-data on both Raspbian and Ubuntu Mate for the Raspberry Pi, so this should work on *any* current Debian (10+) and Ubuntu (20.04+) system. This is probably the most definitive list, since I actually tested it quite recently.<br></div><div><br></div><div>sudo apt install build-essential bison flex libgtk2.0-dev libgtk-3-dev python2-dev flite1-dev ladspa-sdk libasound2-dev libjack-jackd2-dev libbluetooth-dev libcairo2-dev libgl1-mesa-dev libglew1.6-dev libgsl-dev libmagick++-dev libavifile-0.7-dev libdc1394-22-dev libfftw3-dev libfluidsynth-dev libftgl-dev libgmerlin-avdec-dev libgsm1-dev libjpeg-dev libmp3lame-dev libmpeg3-dev libquicktime-dev libraw1394-dev libsmpeg-dev libspeex-dev libstk0-dev libtiff5-dev libv4l-dev libdv4-dev libiec61883-dev libxv-dev libvorbis-dev libgconf2-dev libnss3-dev libxss-dev liblua5.3-dev</div><div><br></div><div>(On Ubuntu 20.10 and later you can replace liblua5.3-dev with liblua5.4-dev to get the latest Lua version for the pd-lua plugin.)<br></div><div><br></div><div>With the above dependencies installed, running `make` in the toplevel source directory should just work. Note that if you have a multi-core system, you might want to run something like `make GEM_MAKEFLAGS=-j4` which will speed up the build considerably. A `make check` afterwards will run the regression tests.</div><div><br></div><div> To use the debuild stuff that I'm using for my OBS builds, you'll also need debuild and friends which can be installed as follows:</div><div><br></div><div>sudo apt install devscripts pbuilder</div><div><br></div><div>You should then be able to run debuild as follows (please check debuild/Makefile first for details):</div><div><br></div><div>cd debuild<br>make debchange<br>make debsrc-us    # to build a Debian source package for upload to, say, OBS or Launchpad<br></div><div>make deb-us         # to build a binary package ready to be installed<br></div><div><br></div><div>This is the preferred method if all you want is a Debian package. It will leave an unsigned source or binary package in the debuild directory, and it won't touch any of the sources in the main source directory. Run `make debclean` to get rid of the build artifacts again. If you want signed packages, leave away the -us suffix, but then you'll have to jump through some additional hoops first, see debuild/Makefile for details.</div><div><br></div><div>This will even work on Arch/Manjaro if you have the Debian packaging tools installed. (That's how I do my scripted OBS uploads on my main development system which is running Manjaro.)<br></div><div><br></div><div>HTH,</div><div>Albert</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Apr 11, 2021 at 12:51 PM Albert Graef <<a href="mailto:aggraef@gmail.com">aggraef@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Apr 11, 2021 at 10:39 AM Rukshan J. Senanayaka <<a href="mailto:rjsenanayaka@gmail.com" target="_blank">rjsenanayaka@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Two of the packages were not supporting Ubuntu 20.04 so I had to manually install them.</div></div></blockquote><div><br></div><div>The problem with such dependency lists on Debian/Ubuntu is that the package names and versioning keep changing all the time, so any such list falls victim to bitrot rather sooner than later. Specifically, nobody has been using slv2 any more for a *very* long time, that dependency probably dates back to the days of Ubuntu 12.04 and pd-l2ork 1 (and AFAICT has never been needed to compile Purr Data anyway).<br></div><div> <br></div>Marcelo, Jonathan already pointed you to the wiki, which tells you how to install a ready-made binary package for your system from the package repositories that we maintain on the OBS. That's the easiest way to go. There are packages for all recent Ubuntu and Debian releases, so make sure you find the right repository for your system (xUbuntu_20.04 in your case). Once you've added the repository as described in the wiki, `apt update` and then `apt install purr-data` will install Purr Data **and** all required dependencies (of which there are quite a few). It will also make sure that you always get the latest version if you use Ubuntu's update tool or `apt` to update your system.</div><div class="gmail_quote"><br></div><div class="gmail_quote">If you want or need to compile the sources yourself, the wiki has some instructions for that, too: <a href="https://github.com/agraef/purr-data/wiki/Installation#installing-from-source" target="_blank">https://github.com/agraef/purr-data/wiki/Installation#installing-from-source</a>. But you will have to figure out the right build dependencies first. Your best bet for that is currently the list of build dependencies in the control file straight from the source: <a href="https://git.purrdata.net/jwilkes/purr-data/-/blob/master/debuild/debian/control" target="_blank">https://git.purrdata.net/jwilkes/purr-data/-/blob/master/debuild/debian/control</a>. I maintain this to do the OBS builds, so this is *always* up-to-date and I *know* that it works because otherwise the OBS builds break. ;-) There are some alternative dependencies in there (delimited with the `|` character), to account for different Debian and Ubuntu versions, but as far as I can tell, the following list of build dependencies should work on modern Ubuntu systems (20.04 or later):</div><div class="gmail_quote"><br></div><div class="gmail_quote">autoconf automake libtool pkg-config bison flex libgtk2.0-dev libgtk-3-dev python2-dev flite1-dev ladspa-sdk libasound2-dev libjack-dev libbluetooth-dev libcairo2-dev libgl1-mesa-dev libglew1.6-dev libgsl-dev libmagick++-dev libavifile-0.7-dev libdc1394-22-dev libfftw3-dev libfluidsynth-dev libftgl-dev libgmerlin-avdec-dev libgsm1-dev libjpeg-dev liblua5.3-dev libmp3lame-dev libmpeg3-dev libquicktime-dev libraw1394-dev libsmpeg-dev libspeex-dev libstk0-dev libtiff5-dev libv4l-dev libdv4-dev libiec61883-dev libxv-dev libxxf86vm-dev libvorbis-dev zlib1g-dev rsync libgconf2-dev libnss3-dev libxtst-dev libxss-dev</div><div class="gmail_quote"><br></div><div class="gmail_quote">Maybe someone could verify that this list actually works on Ubuntu 20.04 (and fiddle around with it if it doesn't, using the aforementioned debuild/debian/control file for guidance), so that we can update the outdated list in the README to the modern times.<br></div><div class="gmail_quote"><br></div><div class="gmail_quote">Best,<br></div><div class="gmail_quote">Albert</div><div class="gmail_quote"></div><br>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Dr. Albert Gr"af<br>Computer Music Research Group, JGU Mainz, Germany<br>Email: <a href="mailto:aggraef@gmail.com" target="_blank">aggraef@gmail.com</a>, web: <a href="https://agraef.github.io/" target="_blank">https://agraef.github.io/</a></div></div></div></div></div></div></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Dr. Albert Gr"af<br>Computer Music Research Group, JGU Mainz, Germany<br>Email: <a href="mailto:aggraef@gmail.com" target="_blank">aggraef@gmail.com</a>, web: <a href="https://agraef.github.io/" target="_blank">https://agraef.github.io/</a></div></div></div></div></div></div>