[PD] Gem on Arch Linux (was: Gem / [pix_movie] trouble: "no movie decoding backends found")

Carlos Franke carlos_franke at posteo.de
Sat Feb 16 21:52:01 CET 2019


I had partial success on a different route: re-packaging the Debian Gem
binaries for Arch. Not so much with compilation.

One preliminary remark, because I totally forgot about it before: I'm
not exactly using Arch Linux, but Manjaro, which is based on Arch.
Technically Manjaro uses its own package repositories, and even though
they are for the most part based on Arch's, there is always the
possibility that something that works on my Manjaro system will not
work on a pure Arch install, or the other way around.


========

Compilation:

> >   /usr/lib/pd/extra/Gem/Gem.pd_linux: /usr/lib/pd/extra/Gem/Gem.pd_linux:
> >   undefined symbol: _Z25dispatchGemWindowMessagesR10WindowInfo  
> 
> 
> that looks like a Gem that was partially compiled without multicontext
> support. (?)

Blindly going from this tip, I tried compiling Gem with the configure
option "--disable-multicontext", but now I'm getting a compile error
(copied below). 

I realised that building Gem on Arch/Manjaro is probably beyond my
present skills, and I probably won't have enough time to jump in and
learn as I go (also judging from the Gmerlin compilation issues
discussed in the other sidethread). If somebody wants to give me
directions on what to try, though, I'm happy to test things.


gemkeyboard.cpp: In Konstruktor »gemkeyboard::gemkeyboard()«:
gemkeyboard.cpp:36:23: Fehler: ungültige Umwandlung von »void
(*)(char*, int, int, void*)« in »KEYBOARD_CB« {aka »void (*)(const
char*, int, int, void*)«} [-fpermissive]
setKeyboardCallback(&gemkeyboard::keyboardCallback, this); ^~~~~~~~~~~~
In file included from gemkeyboard.cpp:19: ../../src/Gem/Event.h:77:56:
Anmerkung:   Argument 1 von »void setKeyboardCallback(KEYBOARD_CB,
void*)« wird initialisiert GEM_EXTERN extern void
setKeyboardCallback(KEYBOARD_CB callback, ~~~~~~~~~~~~^~~~~~~~
gemkeyboard.cpp: In Destruktor »virtual gemkeyboard::~gemkeyboard()«:
gemkeyboard.cpp:46:26: Fehler: ungültige Umwandlung von »void
(*)(char*, int, int, void*)« in »KEYBOARD_CB« {aka »void (*)(const
char*, int, int, void*)«} [-fpermissive]
removeKeyboardCallback(&gemkeyboard::keyboardCallback, this);
^~~~~~~~~~~~ In file included from
gemkeyboard.cpp:19: ../../src/Gem/Event.h:82:59: Anmerkung:   Argument
1 von »void removeKeyboardCallback(KEYBOARD_CB, void*)« wird
initialisiert GEM_EXTERN extern void removeKeyboardCallback(KEYBOARD_CB
callback, ~~~~~~~~~~~~^~~~~~~~ make[3]: *** [Makefile:726:
libControls_la-gemkeyboard.lo] Fehler 1


========

Using Debian binaries for Arch:

I tried my luck with the "debtap" tool[1], which is meant to help
generating Arch packages from .deb files, or even automate this to a
degree.

With some adjustments (mostly renaming dependencies), I managed to
install Gem 0.94, 0.94_pre1 and 0.93.3 from Debian packages on my
system this way. However, with 0.94 and 0.94_pre1, when I create a
[gemwin], I get runtime errors about "gemdefaultwindow.pd" and
"gemdefaultwindow.pat" not being found. (gemwin.pd is found and the
[gemwin] objected appears as if created correctly in the graphical
interface.)

Indeed "gemdefaultwindow.pd" is not packaged with Gem 0.94(_pre1),
instead there is "gemdefaultwindow-glx.pd"[2], but Pd/Gem still seems to
search for it. Any ideas why?


The Gem 0.93.3 package, however, does have gemdefaultwindow.pd, which
led me to try that version. The only problem I ran into was that
libGLEW.so.2.0 was not found, because the version of glew on my system
is more recent (2.1.0). Tentatively, I symlinked

    ln -s libGLEW.so.2.1 libGLEW.so.2.0 in /usr/lib

… and success! At least the few example sketches I tested work fine
now with Gem 0.93.3.

Obviously this is not a long-term solution (as far as piggybacking on
Debian packages for Arch can be a long-term solution at all…). I would
prefer to resolve the above error with version 0.94.


[1] https://github.com/helixarch/debtap
[2] https://packages.debian.org/sid/amd64/gem/filelist
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: Digitale Signatur von OpenPGP
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20190216/6e996fbe/attachment.sig>


More information about the Pd-list mailing list