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

Albert Graef aggraef at gmail.com
Fri Oct 9 13:55:46 EDT 2020


On Fri, Oct 9, 2020 at 2:16 PM 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.
>

Yes, I tried all that, didn't work for me. I'm quite sure that it's a
bluez5 compatibility issue, the bluez4 compatibility package didn't do any
good either.

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.
>

Those limitations are long gone, nowadays xwiimote gives access to all
functionality of the wiimote and all its popular extensions. I think that
it's the way to go if disis_wiimote is ever going to be rewritten.

It is also rock solid.
>

Well, not for me. ;-) But if you can get it to work with bluez 5 on Ubuntu
20.04, please do let me know whether you need to do anything special, so
that I can give it another go.

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:
>

You need python2-dev, like I wrote earlier. And just remove those two
outdated dependencies that give you trouble, and install libjpeg-dev
instead. And once you've made it work, we'd appreciate your MR to update
the README.md file accordingly, thanks. :)

Albert

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
>
> _______________________________________________
> 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/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://disis.music.vt.edu/pipermail/l2ork-dev/attachments/20201009/fcc113a8/attachment-0001.html>


More information about the L2Ork-dev mailing list