Hi,
Is an installation of a /recent/ version of Pd vanilla (0.49 or 0.50) possible on an older linux computer? and is this somehow related to the libc6 versions of the operating systems?
I am trying to install Pd 0.50.2 on two older Ubuntu Studio laptops, one has Ubuntu 14.04, the other Ubuntu 16.04. When I try to install the deb package from https://deb.debian.org/debian/pool/main/p/puredata/%C2%A0 I get a dependencies error, saying that I need a higher version of libc6.
Is it a solution to try compiling the Pd source code on both machines? or is the only solution to upgrade the whole Ubuntu Studio version? (...which isn't possible on one of these machines).
Hans
On 13.01.20 15:13, info@hansroels.be wrote:
Is it a solution to try compiling the Pd source code on both machines?
Give this a try, it is definitely not too painful and the instructions are also pretty clear. Bonus is that you can configure it with the audio and midi backends you need/use and remove the legacy backends which are just another possible source of error.
m.
Hi,
On 13/01/2020 14:13, info@hansroels.be wrote:
Is an installation of a /recent/ version of Pd vanilla (0.49 or 0.50) possible on an older linux computer?
Should be possible.
I am trying to install Pd 0.50.2 on two older Ubuntu Studio laptops, one has Ubuntu 14.04, the other Ubuntu 16.04.
When I try to install the deb package from https://deb.debian.org/debian/pool/main/p/puredata/
Pd is atomised into many tiny debs, you'd need all of them...
I get a dependencies error, saying that I need a higher version of libc6.
The chances of random binaries from the internet working are smaller than with Windows I guess.
Is it a solution to try compiling the Pd source code on both machines?
Yes I think so. But it might be awkward with packaged Pd externals (you'd need to keep the old pd around and tell the new Pd where the externals are).
To solve that, you can compile the collection of debs locally. First
add the following two lines (only two lines, without leading space,
email may have wrapped them) to /etc/apt/sources.list
:
deb http://http.debian.net/debian unstable main contrib non-free
deb-src http://http.debian.net/debian unstable main contrib non-free
(Alternatively add deb
+ deb-src
lines for a later version of Ubuntu
Studio that has the version of Pd you want, then modify the below's -t
accordingly.)
Then invoke something like the following as regular user, being careful to do it one line at a time and read the output so you can stop if apt decides to upgrade everything to unstable or remove key parts of your installation:
mkdir build
cd build
sudo apt update
sudo apt-get -t unstable build-dep puredata
apt-get -t unstable --build source puredata
sudo dpkg --auto-deconfigure --install ./*.deb
If the sudo apt-get
is too risky and you decide not to run it after
all, you could try again without -t unstable
and hope that older
versions of the build dependencies are ok.
Then you can edit your sources.list
again and comment out the lines
you added before. Remember to run sudo apt update
after changing it.
If you need to downgrade the packages later, aptitude
works much
better than apt
or apt-get
(it offers choices between different ways
to resolve problems).
or is the only solution to upgrade the whole Ubuntu Studio version? > (...which isn't possible on one of these machines).
The above is roughly what "backports" repositories do, I don't know if there is one for Ubuntu Studio. You can also compile the source from Miller's site "by hand".
On 13.01.20 16:40, Claude Heiland-Allen wrote:
Hi,
On 13/01/2020 14:13, info@hansroels.be wrote:
Is an installation of a /recent/ version of Pd vanilla (0.49 or 0.50) possible on an older linux computer?
Should be possible.
I am trying to install Pd 0.50.2 on two older Ubuntu Studio laptops, one has Ubuntu 14.04, the other Ubuntu 16.04.
When I try to install the deb package from https://deb.debian.org/debian/pool/main/p/puredata/
Pd is atomised into many tiny debs, you'd need all of them...
I get a dependencies error, saying that I need a higher version of libc6.
The chances of random binaries from the internet working are smaller than with Windows I guess.
Is it a solution to try compiling the Pd source code on both machines?
Yes I think so. But it might be awkward with packaged Pd externals (you'd need to keep the old pd around and tell the new Pd where the externals are).
here's an old answer, slightly polished (and hopefully not introducing to many bugs). run each line (apart from the <script>-tags) in your terminal:
<script> export LANG=C MAINREPO=https://deb.debian.org/debian/pool/main/ PDVER=0.50.2-1 sudo apt-get install devscripts mkdir -p build cd build dget -u ${MAINREPO}/p/puredata/puredata_${PDVER}.dsc cd puredata-${PDVER%-*} mk-build-deps -ir dpkg-buildpackage -rfakeroot sudo dpkg -i ../*${PDVER}_*.deb </script>
if there are errors, read them out loud.
gfasdmr IOhannes
I tried applying your script, you can see the error further on in this email.
On 1/13/20 5:11 PM, IOhannes m zmoelnig wrote:
On 13.01.20 16:40, Claude Heiland-Allen wrote:
Hi,
On 13/01/2020 14:13,info@hansroels.be wrote:
Is an installation of a /recent/ version of Pd vanilla (0.49 or 0.50) possible on an older linux computer?
Should be possible.
I am trying to install Pd 0.50.2 on two older Ubuntu Studio laptops, one has Ubuntu 14.04, the other Ubuntu 16.04. When I try to install the deb package from https://deb.debian.org/debian/pool/main/p/puredata/
Pd is atomised into many tiny debs, you'd need all of them...
I get a dependencies error, saying that I need a higher version of libc6.
The chances of random binaries from the internet working are smaller than with Windows I guess.
Is it a solution to try compiling the Pd source code on both machines?
Yes I think so. But it might be awkward with packaged Pd externals (you'd need to keep the old pd around and tell the new Pd where the externals are).
here's an old answer, slightly polished (and hopefully not introducing to many bugs). run each line (apart from the <script>-tags) in your terminal:
<script> export LANG=C MAINREPO=https://deb.debian.org/debian/pool/main/ PDVER=0.50.2-1 sudo apt-get install devscripts mkdir -p build cd build dget -u ${MAINREPO}/p/puredata/puredata_${PDVER}.dsc cd puredata-${PDVER%-*} mk-build-deps -ir dpkg-buildpackage -rfakeroot
dpkg-buildpackage: source package puredata dpkg-buildpackage: source version 0.50.2-1 dpkg-buildpackage: source distribution unstable dpkg-buildpackage: source changed by IOhannes m zmölnig (Debian/GNU) umlaeute@debian.org dpkg-buildpackage: host architecture i386 dpkg-source --before-build puredata-0.50.2 dpkg-source: warning: unknown information field 'Rules-Requires-Root' in input data in general section of control info file dpkg-checkbuilddeps: Unmet build dependencies: debhelper-compat (= 12) portaudio19-dev libjack-dev dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting dpkg-buildpackage: warning: (Use -d flag to override.)
sudo dpkg -i ../*${PDVER}_*.deb </script>
if there are errors, read them out loud.
gfasdmr IOhannes
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management ->https://lists.puredata.info/listinfo/pd-list
On 1/13/20 10:25 PM, info@hansroels.be wrote:
dpkg-source: warning: unknown information field 'Rules-Requires-Root' in input data in general section of control info file
is that the xenial or the bionic host?
dpkg-checkbuilddeps: Unmet build dependencies: debhelper-compat (= 12)
you might want to remove that line from debian/control and instead try $ echo 9 > debian/compat
portaudio19-dev libjack-dev
this i don't understand. according to https://packages.ubuntu.com/ both of these packages are present on both xenial and bionic. you must have the "universe" repository enabled (but afaik, this is standard)
fasrm IOhannes
On 1/13/20 10:57 PM, IOhannes m zmölnig wrote:
On 1/13/20 10:25 PM, info@hansroels.be wrote:
dpkg-source: warning: unknown information field 'Rules-Requires-Root' in input data in general section of control info file
is that the xenial or the bionic host?
The universe repositories of both computers are enabled. I added a log file of the terminal. I think something already went wrong in the previous steps of the scripts. I hope the log files help....
best, Hans
dpkg-checkbuilddeps: Unmet build dependencies: debhelper-compat (= 12)
you might want to remove that line from debian/control and instead try $ echo 9 > debian/compat
portaudio19-dev libjack-dev
this i don't understand. according to https://packages.ubuntu.com/ both of these packages are present on both xenial and bionic. you must have the "universe" repository enabled (but afaik, this is standard)
fasrm IOhannes
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
(This is still about compiling Pd-vanilla on two Ubuntu Studio laptops)
I solved the dependencies by installing the following libraries -before running the script- on both Ubuntu 14 Trusty and Ubuntu 16 Xenial laptops: sudo apt-get install libjack-jackd2-dev sudo apt-get install portaudio19-dev sudo apt-get install equivs sudo apt-get install debhelper
Next I ran the script of IOhannes line by line
export LANG=C MAINREPO=https://deb.debian.org/debian/pool/main/ PDVER=0.50.2-1 sudo apt-get install devscripts mkdir -p build cd build dget -u ${MAINREPO}/p/puredata/puredata_${PDVER}.dsc cd puredata-${PDVER%-*} echo 9 > debian/compat I changed the line "debhelper-compat (= 12)" in debian/control into "debhelper (>= 9)" sudo mk-build-deps -ir
And when I ran the following command "dpkg-buildpackage -rfakeroot" there was a problem on both laptops, "No targets specified and no makefile found." I checked and in the folder build/puredata-0.50.2 there is a Makefile.am file. This is the printout after the "dpkg-buildpackage -rfakeroot" command (exactly the same for both laptops):
dpkg-buildpackage: source package puredata
dpkg-buildpackage: source version 0.50.2-1
dpkg-buildpackage: source distribution unstable
dpkg-buildpackage: source changed by IOhannes m zmölnig (Debian/GNU)
umlaeute@debian.org
dpkg-buildpackage: host architecture i386
dpkg-source --before-build puredata-0.50.2
dpkg-source: warning: unknown information field 'Rules-Requires-Root' in
input data in general section of control info file
fakeroot debian/rules clean
dh clean
dh_testdir
debian/rules override_dh_auto_clean
make[1]: Entering directory /home/hans/build/puredata-0.50.2' rm -f debian/gui-plugins/pd-gui-plugin.1 dh_auto_clean make[1]: Leaving directory
/home/hans/build/puredata-0.50.2'
dh_clean
dpkg-source -b puredata-0.50.2
dpkg-source: warning: unknown information field 'Rules-Requires-Root' in
input data in general section of control info file
dpkg-source: info: using source format 3.0 (quilt)' dpkg-source: info: building puredata using existing ./puredata_0.50.2.orig.tar.gz dpkg-source: info: building puredata in puredata_0.50.2-1.debian.tar.gz dpkg-source: info: building puredata in puredata_0.50.2-1.dsc debian/rules build dh build dh_testdir debian/rules override_dh_auto_configure make[1]: Entering directory
/home/hans/build/puredata-0.50.2'
dh_auto_configure --
--program-transform-name='s/pd$/puredata/'
--libdir=/usr/lib/
--enable-alsa --enable-jack --without-local-portaudio
--without-local-portmidi
CFLAGS="-g -O2 -fstack-protector --param=ssp-buffer-size=4
-Wformat -Werror=format-security" LDFLAGS="-Wl,-Bsymbolic-functions
-Wl,-z,relro -Wl,--as-needed"
make[1]: Leaving directory /home/hans/build/puredata-0.50.2' debian/rules override_dh_auto_build make[1]: Entering directory
/home/hans/build/puredata-0.50.2'
help2man -N -n "enable or disable a Pd GUI plugin"
debian/gui-plugins/pd-gui-plugin > debian/gui-plugins/pd-gui-plugin.1
make CPPFLAGS="-DPD_TIMESTAMP_STRING='"compiled for Debian (0.50.2-1)
on 2020/01/16 at 12:06:08 UTC"' "
make[2]: Entering directory /home/hans/build/puredata-0.50.2' make[2]: *** No targets specified and no makefile found. Stop. make[2]: Leaving directory
/home/hans/build/puredata-0.50.2'
make[1]: *** [override_dh_auto_build] Error 2
make[1]: Leaving directory `/home/hans/build/puredata-0.50.2'
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
best, Hans
On 1/13/20 10:57 PM, IOhannes m zmölnig wrote:
On 1/13/20 10:25 PM, info@hansroels.be wrote:
dpkg-source: warning: unknown information field 'Rules-Requires-Root' in input data in general section of control info file
is that the xenial or the bionic host?
dpkg-checkbuilddeps: Unmet build dependencies: debhelper-compat (= 12)
you might want to remove that line from debian/control and instead try $ echo 9 > debian/compat
portaudio19-dev libjack-dev
this i don't understand. according to https://packages.ubuntu.com/ both of these packages are present on both xenial and bionic. you must have the "universe" repository enabled (but afaik, this is standard)
fasrm IOhannes
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
On 16.01.20 12:52, info@hansroels.be wrote:
Next I ran the script of IOhannes line by line
export LANG=C MAINREPO=https://deb.debian.org/debian/pool/main/ PDVER=0.50.2-1 sudo apt-get install devscripts mkdir -p build cd build dget -u ${MAINREPO}/p/puredata/puredata_${PDVER}.dsc cd puredata-${PDVER%-*} echo 9 > debian/compat I changed the line "debhelper-compat (= 12)" in debian/control into "debhelper (>= 9)"
since you are using quite old debhelper-package, you might also need to install the "dh_autoreconf" package.
if that still doesn't work, you might also need to change the invocation of "dh" in debian/rules to the following (indentation is <TAB> rather than <SPACE>s):
<snip> %: dh $@ --with autoreconf </snip>
gmasdr IOhannes
great, it works, thanks ! I followed your advice of the "dh_autoreconf" package and the adapted debian/rules file and then I could successfully compile Pd 0.50 on both laptops (and on a third laptop with Linux Mint 17.3). In case someone searches info to compile and install recent versions of Pd on older Ubuntu computers I summarized the whole procedure at the end of this email.
Can I help in some way to spread or upload compiled Pd versions for Ubuntu and derivatives? For sure I am not an expert in compiling programs, I just started trying this a week ago but maybe it can help in making Pd available for more people...
best, Hans
------------compiling Pd for Ubuntu 14 or 16 systems First make sure these 5 packages are installed (commands in the terminal like "sudo apt-get install libjack-jackd2-dev" etc.): libjack-jackd2-dev portaudio19-dev equivs debhelper dh-autoreconf
Next execute these commands in the terminal: 1) export LANG=C 2) MAINREPO=https://deb.debian.org/debian/pool/main/ 3) PDVER=0.50.2-1 4) sudo apt-get install devscripts 5) mkdir -p build 6) cd build 7) dget -u ${MAINREPO}/p/puredata/puredata_${PDVER}.dsc 8) cd puredata-${PDVER%-*} 9)a) echo 9 > debian/compat b) in the build/debian folder, search for the 'control' file and in this file change "debhelper-compat (= 12)" into "debhelper (>= 9)" c) in the build/debian folder , search for the 'rules' file and change "dh $@" into "dh $@ --with autoreconf" 10) sudo mk-build-deps -ir 11) dpkg-buildpackage -rfakeroot 12) sudo dpkg -i ../*${PDVER}_*.deb (This last command to install Pd)
On 1/16/20 1:01 PM, IOhannes m zmoelnig wrote:
On 16.01.20 12:52,info@hansroels.be wrote:
Next I ran the script of IOhannes line by line
export LANG=C MAINREPO=https://deb.debian.org/debian/pool/main/ PDVER=0.50.2-1 sudo apt-get install devscripts mkdir -p build cd build dget -u ${MAINREPO}/p/puredata/puredata_${PDVER}.dsc cd puredata-${PDVER%-*} echo 9 > debian/compat I changed the line "debhelper-compat (= 12)" in debian/control into "debhelper (>= 9)"
since you are using quite old debhelper-package, you might also need to install the "dh_autoreconf" package.
if that still doesn't work, you might also need to change the invocation of "dh" in debian/rules to the following (indentation is <TAB> rather than <SPACE>s):
<snip> %: dh $@ --with autoreconf </snip>
gmasdr IOhannes
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management ->https://lists.puredata.info/listinfo/pd-list