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

Ivica Bukvic ico at vt.edu
Fri Oct 9 08:10:45 EDT 2020


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.eduhcd.icat.vt.eduwww.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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://disis.music.vt.edu/pipermail/l2ork-dev/attachments/20201009/5f42bc76/attachment.html>


More information about the L2Ork-dev mailing list