[L2Ork-dev] Linux dependencies in README.md build guide

Jonathan Wilkes jon.w.wilkes at gmail.com
Fri Oct 9 11:23:52 EDT 2020


Albert,

Following up on this-- when trying to `dpkg -i` my compiled deb
package, I get the following error:

 pd-l2ork depends on python; however:
  Package python is not installed.

But your control file has "python" under the "Suggests" heading.

Does "Suggests" have an alternate meaning in the Debianese dialect of Vogon? :)

-Jonathan

On Fri, Oct 9, 2020 at 8:17 AM Ivica Bukvic <ico at vt.edu> wrote:
>
> Aaand, yet another reply. The python and gtk are needed for wmgui (or something like it) which is a front-end demo app, so it seems to me we would want to remove those as well if we are going to strip the python requirement.
>
> --
> Ivica Ico Bukvic, D.M.A.
> Director, Creativity + Innovation
> Director, Human-Centered Design iPhD
> Institute for Creativity, Arts, and Technology
>
> Virginia Tech
> Creative Technologies in Music
> School of Performing Arts – 0141
> Blacksburg, VA 24061
> (540) 231-6139
> ico at vt.edu
>
> ci.icat.vt.edu
> hcd.icat.vt.edu
> www.icat.vt.edu
> www.performingarts.vt.edu
> l2ork.icat.vt.edu
> ico.bukvic.net
>
>
>
> On Fri, Oct 9, 2020 at 8:12 AM Ivica Bukvic <ico at vt.edu> wrote:
>>
>> Forgot to add, since libcwiid we use is in-house, we could potentially consider removing the python requirement from it. I am, however, really rusty as far as makefiles are concerned and could use help with this one, should anyone feel inclined to assist. Not sure if purr-data is pulling from my github libcwiid repo or maintaining a local copy.
>>
>> Best,
>>
>> Ico
>>
>> --
>> Ivica Ico Bukvic, D.M.A.
>> Director, Creativity + Innovation
>> Director, Human-Centered Design iPhD
>> Institute for Creativity, Arts, and Technology
>>
>> Virginia Tech
>> Creative Technologies in Music
>> School of Performing Arts – 0141
>> Blacksburg, VA 24061
>> (540) 231-6139
>> ico at vt.edu
>>
>> ci.icat.vt.edu
>> hcd.icat.vt.edu
>> www.icat.vt.edu
>> www.performingarts.vt.edu
>> l2ork.icat.vt.edu
>> ico.bukvic.net
>>
>>
>>
>> On Fri, Oct 9, 2020 at 8:10 AM Ivica Bukvic <ico at vt.edu> wrote:
>>>
>>> I haven't tested the recent Bluez 5 version. If you are using newer wiimoteplus that has motion plus integrated, you will want to connect with the sync button found next to the battery. I haven't tested the xwiimote driver, but not so long ago, the in-house libcwiid I maintained was the only driver that allowed for complete access to Wiimote's functionality, including the interleaved mode that uses both plus and nunchuk. It is also rock solid. To this day, we still use it in L2Ork and have tested it with 24 simultaneous Wiimote connections in the same room without any issues.
>>>
>>> I just upgraded my Linux laptop to Ubuntu 20.04 and am happy to test all this. However, I am unable to even build the latest HEAD. Below are relevant errors:
>>>
>>> gcc -g -Wall -W -DHAVE_CONFIG_H -I/home/l2orkist/Downloads/purr-data-build/externals/disis/cwiid/common/include -I../libcwiid -DWMINPUT_CONFIG_DIR=\"/home/l2orkist/Downloads/purr-data-build/packages/linux_make/build/usr/etc/cwiid/wminput\" -DCWIID_PLUGINS_DIR=\"/home/l2orkist/Downloads/purr-data-build/packages/linux_make/build/usr/lib/cwiid/plugins\"    -c -o py_plugin.o py_plugin.c
>>> Package python-2.7 was not found in the pkg-config search path.
>>> Perhaps you should add the directory containing `python-2.7.pc'
>>> to the PKG_CONFIG_PATH environment variable
>>> No package 'python-2.7' found
>>> py_plugin.c:38:10: fatal error: Python.h: No such file or directory
>>>    38 | #include "Python.h"
>>>       |          ^~~~~~~~~~
>>> compilation terminated.
>>>
>>> In trying to install dependencies from the installation guide, I get:
>>>
>>> sudo apt-get install bison flex automake libasound2-dev \
>>> >       libjack-jackd2-dev libtool libbluetooth-dev libgl1-mesa-dev \
>>> >       libglu1-mesa-dev libglew-dev libmagick++-dev libftgl-dev \
>>> >       libgmerlin-dev libgmerlin-avdec-dev libavifile-0.7-dev \
>>> >       libmpeg3-dev libquicktime-dev libv4l-dev libraw1394-dev \
>>> >       libdc1394-22-dev libfftw3-dev libvorbis-dev ladspa-sdk \
>>> >       dssi-dev tap-plugins invada-studio-plugins-ladspa blepvco \
>>> >       swh-plugins mcp-plugins cmt blop slv2-jack omins rev-plugins \
>>> >       libslv2-dev dssi-utils vco-plugins wah-plugins fil-plugins \
>>> >       mda-lv2 libmp3lame-dev libspeex-dev libgsl0-dev \
>>> >       portaudio19-dev liblua5.3-dev python-dev libsmpeg0 libjpeg62-turbo \
>>> >       flite1-dev libgsm1-dev libgtk2.0-dev git libstk0-dev \
>>> >       libfluidsynth-dev fluid-soundfont-gm byacc
>>> E: Package 'slv2-jack' has no installation candidate
>>> E: Package 'libjpeg62-turbo' has no installation candidate
>>>
>>> Any thoughts on how to proceed?
>>>
>>> Best,
>>>
>>> Ico
>>>
>>> --
>>> Ivica Ico Bukvic, D.M.A.
>>> Director, Creativity + Innovation
>>> Director, Human-Centered Design iPhD
>>> Institute for Creativity, Arts, and Technology
>>>
>>> Virginia Tech
>>> Creative Technologies in Music
>>> School of Performing Arts – 0141
>>> Blacksburg, VA 24061
>>> (540) 231-6139
>>> ico at vt.edu
>>>
>>> ci.icat.vt.edu
>>> hcd.icat.vt.edu
>>> www.icat.vt.edu
>>> www.performingarts.vt.edu
>>> l2ork.icat.vt.edu
>>> ico.bukvic.net
>>>
>>>
>>>
>>> On Fri, Oct 9, 2020 at 12:15 AM Albert Graef <aggraef at gmail.com> wrote:
>>>>
>>>> Thanks, Ico.
>>>>
>>>> Yes, it seems that cwiid is the one which needs it. Looking at the source code in externals/disis/cwiid, there's a configure script there which checks for Python, and a septup.py script that gets run during the build. There's no actual Python C API code being linked there, as far as I can tell. But from unsuccessful OBS builds I know that it will fail with an error when running configure and Python is not installed, and I also seem to recall that Python3 didn't work either, it really needs Python2 for some reason. Unfortunately, the OBS doesn't keep logs of older builds, so all this is from the top of my head, but that's how I remember it.
>>>>
>>>> Talking about this external, can anyone running a *current* Linux system (Arch or Ubuntu 20.04+) with a recent Bluez 5 version confirm that disis_wiimote still works there? I'm asking because I could never make it work, it just doesn't find my Wiimote (which works fine with the xwiimote kernel driver). If I'm not mistaken, disis_wiimote still employs some user space drivers and utilities which aren't supported in Bluez 5 any more. But if anyone has it actually working on Bluez 5 then I'd really like to hear about it!
>>>>
>>>> Thanks,
>>>> Albert
>>>>
>>>>
>>>> On Fri, Oct 9, 2020 at 4:51 AM Ivica Bukvic <ico at vt.edu> wrote:
>>>>>
>>>>> I believe that is/was for pyext which requires flext. I thought we were not building flext externals anymore? There may be also a requirement for building the libcwiid since it has some gtk and/or python demo apps that get built with it and which we do not need.
>>>>>
>>>>> Best,
>>>>>
>>>>> Ico
>>>>>
>>>>> --
>>>>> Ivica Ico Bukvic, D.M.A.
>>>>> Director, Creativity + Innovation
>>>>> Institute for Creativity, Arts, and Technology
>>>>>
>>>>> Virginia Tech
>>>>> Creative Technologies in Music
>>>>> School of Performing Arts – 0141
>>>>> Blacksburg, VA 24061
>>>>> (540) 231-6139
>>>>> ico at vt.edu
>>>>>
>>>>> www.icat.vt.edu
>>>>> www.performingarts.vt.edu
>>>>> l2ork.icat.vt.edu
>>>>> ico.bukvic.net
>>>>>
>>>>> On Thu, Oct 8, 2020, 18:26 Jonathan Wilkes <jon.w.wilkes at gmail.com> wrote:
>>>>>>
>>>>>> Also-- bullseye (testing) no longer has a "python" package, just
>>>>>> python2 and python3.
>>>>>>
>>>>>> So if we can just get rid of the python dependency altogether that
>>>>>> would be ideal. (Unless this is some kind of pdpython external...)
>>>>>>
>>>>>> -Jonathan
>>>>>>
>>>>>> On Thu, Oct 8, 2020 at 6:16 PM Jonathan Wilkes <jon.w.wilkes at gmail.com> wrote:
>>>>>> >
>>>>>> > On Thu, Oct 8, 2020 at 5:55 PM Albert Graef <aggraef at gmail.com> wrote:
>>>>>> > >
>>>>>> > > On Thu, Oct 8, 2020 at 11:12 PM Jonathan Wilkes <jon.w.wilkes at gmail.com> wrote:
>>>>>> > >>
>>>>>> > >> 1. Why are slv2-jack and libslv2-dev build dependencies of Purr Data?
>>>>>> > >> What does LV2 support in Jack have to do with Purr Data?
>>>>>> > >
>>>>>> > >
>>>>>> > > I assume that you're talking about the Debian packaging stuff in purr-data/packages/linux_make/debian, which is probably severely outdated (those slv2 deps certainly are). Maybe you want to have a look at my debuild control file (purr-data/debuild/debian/control) and update the control file in linux_make/debian accordingly. The debuild stuff is always up-to-date and known to work with every Debian/Ubuntu version younger than Stretch and Xenial, because I'm using it to build packages on the OBS.
>>>>>> >
>>>>>> > Ah, I see. Hm, rather than the old hard-coded deps I should just put a
>>>>>> > line to fetch those deps from that file.
>>>>>> >
>>>>>> > >
>>>>>> > >> 2. What is python-dev doing in there? If it is actually needed, is the
>>>>>> > >> dependency on Python 2 or Python 3?
>>>>>> > >
>>>>>> > >
>>>>>> > > That's needed to build one of the DISIS externals, I forgot which one it was, but Ico should know. And yes, that's really the Python2 version that it needs, which causes quite some headaches if you want to build Purr on both old and new Debian/Ubuntu versions. But you can have a look at purr-data/debuild/debian/control to see how I solved this in the OBS builds. It would be good if we could just get rid of that Python2 dependency, since Python2 is pretty much on its way out.
>>>>>> >
>>>>>> > Ok, my list vs. your "Build-Depends":
>>>>>> >
>>>>>> > 1. I've got libjack-jackd2-dev while you have libjack-dev. Any benefit
>>>>>> > to one or the other?
>>>>>> >
>>>>>> > 2. I've got libglu1-mesa-dev while you do not. Any reason I still need that one?
>>>>>> >
>>>>>> > 3. I have libgmerlin-avdec-dev while you do not. But we both have
>>>>>> > libgmerlin-avdec-dev.
>>>>>> >
>>>>>> > 4. I have dssi-dev while you do not. But you have dssi-utils under "Depends"
>>>>>> >
>>>>>> > 5. As mentioned I have slv2-jack and libslv2-dev, you don't.
>>>>>> >
>>>>>> > 6. I have libgsl0-dev, you have libgsl-dev
>>>>>> >
>>>>>> > 7. I have portaudio19-dev, you don't.
>>>>>> >
>>>>>> > 8. I have libsmpeg0, you don't.
>>>>>> >
>>>>>> > 9. I have libjpeg62-turbo, you have libjpeg-dev.
>>>>>> >
>>>>>> > 10. I have git, you don't
>>>>>> >
>>>>>> > 11. I have byacc, you don't.
>>>>>> >
>>>>>> > Hm... wonder why we have libgtk2.0-dev-- was that added for nw.js?
>>>>>> >
>>>>>> > -Jonathan
>>>>>> >
>>>>>> >
>>>>>> > >
>>>>>> > > Albert
>>>>>> > >
>>>>>> > >>
>>>>>> > >> -Jonathan
>>>>>> > >> _______________________________________________
>>>>>> > >> L2Ork-dev mailing list
>>>>>> > >> L2Ork-dev at disis.music.vt.edu
>>>>>> > >> https://disis.music.vt.edu/listinfo/l2ork-dev
>>>>>> > >
>>>>>> > >
>>>>>> > >
>>>>>> > > --
>>>>>> > > Dr. Albert Gr"af
>>>>>> > > Computer Music Research Group, JGU Mainz, Germany
>>>>>> > > Email: aggraef at gmail.com, web: https://agraef.github.io/
>>>>>> > > _______________________________________________
>>>>>> > > L2Ork-dev mailing list
>>>>>> > > L2Ork-dev at disis.music.vt.edu
>>>>>> > > https://disis.music.vt.edu/listinfo/l2ork-dev
>>>>>> _______________________________________________
>>>>>> L2Ork-dev mailing list
>>>>>> L2Ork-dev at disis.music.vt.edu
>>>>>> https://disis.music.vt.edu/listinfo/l2ork-dev
>>>>>
>>>>> _______________________________________________
>>>>> L2Ork-dev mailing list
>>>>> L2Ork-dev at disis.music.vt.edu
>>>>> https://disis.music.vt.edu/listinfo/l2ork-dev
>>>>
>>>>
>>>>
>>>> --
>>>> Dr. Albert Gr"af
>>>> Computer Music Research Group, JGU Mainz, Germany
>>>> Email: aggraef at gmail.com, web: https://agraef.github.io/
>>>> _______________________________________________
>>>> L2Ork-dev mailing list
>>>> L2Ork-dev at disis.music.vt.edu
>>>> https://disis.music.vt.edu/listinfo/l2ork-dev
>
> _______________________________________________
> L2Ork-dev mailing list
> L2Ork-dev at disis.music.vt.edu
> https://disis.music.vt.edu/listinfo/l2ork-dev


More information about the L2Ork-dev mailing list