[PD] compiling GEM

Mathieu Bouchard matju at sympatico.ca
Sat Dec 28 19:40:00 CET 2002

Here is a report of myself trying to compile GEM. I am running Debian 3.0
("woody") on an AMD K62 400.

-------- 1 --------

cd ~/src/gem-0.87/src/Gnu; ./configure --prefix=/home/matju

checking for GLTTFont.h path... dirname: too few arguments
Try `dirname --help' for more information.
configure: error: can't find path to GLTTFont.h

I have it under /usr/include/GL/GLTTFont.h; I also had created symbolic
links in /usr/include/GLTTFont.h last time I made a quick attempt at
installing GEM. I remove them because maybe they're not a too good idea.

Having 'dirname' complaining is a quite bad idea, especially if that's
because of 'too few arguments'... if it can get too few arguments, it
probably can get too many: it seems like a quoting problem to me. what
happens on systems on which there are spaces within filenames?

I also notice that the command to find GLTTFont.h does not honor
C_INCLUDE_PATH, which is plain wrong. Some of my libraries are in
/usr/X11R6, /opt, /home/matju, which are all three listed in that
env-variable, but none of those 3 paths are searched. I suppose this will
cause me problems with some subsequent libraries.

I've found a problem. /usr/include on my system is a symbolic link (that's
a harddisk migration i never finished), so the 'find' command doesn't work
properly on it.

Moving that directory back to the main partition...

Works. Starting to compile.

-------- 2 --------

g++  -L/usr/X11R6/lib -L../../../GemLibs/glm
-L../../../gem-0.84/src/AuxLibs/particle  -o Gem.pd_linux -L/usr/X11R6/lib
-L../../../GemLibs/glm -L../../../gem-0.84/src/AuxLibs/liborb
-L../../../gem-0.84/src/AuxLibs/particle  ../Manips/*.o ../Particles/*.o
../Base/*.o ../MarkEx/*.o ../Pixes/*.o ../Controls/*.o ../Nongeos/*.o
../tv/*.o ../Geos/*.o  -shared -L/usr/lib -lglib -lz -lparticle -lorb
-lgltt -lttf -ljpeg -ltiff -lglm -lmpeg3 -lmpeg -lglib -lpng -lquicktime
-lglut -lGLU -lGL -lm -Wl,-shared -Wl,-export-dynamic -lXxf86vm -lXext
-lX11  -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/GL
-I../../../GemLibs/particle -I../../../GemLibs/liborb
-I../../../GemLibs/glm -I/home/matju/src/pd/src -I..  
/usr/bin/ld: ne peut trouver -lparticle
collect2: ld returned 1 exit status
make: *** [Gem.pd_linux] Erreur 1

Now I don't know why gem-0.84 directories are listed, nor why it
looks for AuxLibs when it's called GemLibs. I thought ./configure would
take care of that part. I tried something:

find ../../../GemLibs -iname '*particle*'

cd ~/src; ln -s gem-0.87 gem-0.84 
cd ~/src/gem-0.87/src; ln -s ../../GemLibs Auxlibs
cd ~/src/gem-0.87/src/Gnu; make

(same error)

no excuse now: -L../../../gem-0.84/src/AuxLibs/particle means that ls -l
../../../gem-0.84/src/AuxLibs/particle should see something called
libparticle.so or libparticle.a. Well it does. But g++ doesn't want to see

now I go in that "particle" dir and created libparticle.so in addition to
.a; still does not work... so i try:

cp libparticle.so ~/lib 

So it now says:

/usr/bin/ld: ne peut trouver -lorb

so i create a liborb.so and put it in ~/lib again. next attempt...


-------- 3 --------

make install
install -d //usr/local//share/doc/gem
install: Ne peut créer le répertoire `//usr/local//share/doc'.: Permission
non accordée
make: *** [installdocs] Erreur 1

Well I never told it that it could install anything in /usr/local. I don't
do that as root and I said "--prefix=/home/matju" before. That's not very
well mannered of it.

At least Makefile has a PREFIX I can change to /home/matju. Trying again.

make install
install -d //home/matju//share/doc/gem
install -m644 ../../doc/* //home/matju//share/doc/gem
install: Ne peut évaluer `../../doc/*' par stat(): Aucun fichier ou
répertoire de ce type
make: *** [installdocs] Erreur 1

Well, gem-doc isn't unpacked. It's bundled separately but it's required
for "make install" to work... unpacking gem-doc ...


-------- 4 --------

pd -lib gem
gem: can't load library

I don't know why I have to do this again:
pd -path /home/matju/lib/pd/externs -lib Gem

but it doesn't complain now.

01.redSquare.pd, clicking on "create":

error: GEM: X server has no OpenGL GLX extension
MAN: create window
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
error: GEM: Unable to create double buffer window
error: GEM: Unable to create window
error: GEM: gemwin: no window made

But I have this file here:

Do I need to add it to some config file?

Looking in /etc/X11/XF86Config ... it's commented out ?

Closing all windows and restarting X11...

doing the same... an empty window appears, and then :

error: GEM: Unable to create single buffer window
error: GEM: Error creating const context
error: GEM: A serious error occured creating const Context
error: GEM: Do not continue!
MAN: create window

Then I click on "1". White square appears. Color and rotation and
everything else works.

-------- 5 --------

I notice that example 2 is almost the same as example 1. Maybe it could
use some kind of demux so that differences between the patches may be
selected using a checkbox (I do that all of the time in my GridFlow

I notice there's a problem with loading two patches at once and trying to
create a new window while the one of the first patch is open (doesn't do
it) and then hitting destroy on that same second patch (segmentation

05.cube.pd does translations so big that the cube is very likely to
disappear from screen on first try.

Well that's all I have to comment on for now. Cool!

Mathieu Bouchard                       http://artengine.ca/matju

More information about the Pd-list mailing list