[PD-dev] ATI + GridFlow + Gem + C++ + Linux = BOOM

Mathieu Bouchard matju at artengine.ca
Sun Aug 23 20:30:45 CEST 2009

Hi Hans,

Could we please get Pd-extended to link the "pd" executable to 
libstdc++.so ? Afaik, this is a fix for a possibly wide category of 
problems but that is currently only "known" to affect GridFlow when 
loading GEM while the driver named "fglrx" is in use (ATI video).

AFAIK, this problem affects any lib that uses the "throw" keyword in C++ 
code, whenever the ATI driver is loaded _before_ the standard library of 
C++, in which case it will provide its own version of a portion of the C++ 
standard library, which is incompatible (sort of like the DLL Hell on 
Windows). This driver is typically loaded by anything linked to OpenGL 
directly or indirectly (usually GEM, but could also be 3DP, 
OpenSceneGraph, etc)

So, what I'm asking, is to link Pd itself to a library that it doesn't 
need, in order to force the bug out, so that this problem doesn't have to 
be addressed anywhere else. I believe that it is far easier to prevent 
this bug from the Pd executable than to make any kind of elaborate circus 
with the loading-order of pdsettings and pdrc and a little dummy .pd_linux 
(which has -lstdc++ without using it, and has an empty _setup).

If you want, you can think of it as the first step for putting GridFlow in 

diff from Claude:

--- pd-0.41-4/src/makefile.in.orig      2008-03-15 00:03:00.000000000 +0000
+++ pd-0.41-4/src/makefile.in   2009-08-23 18:55:35.000000000 +0100
  -121,7 +121,7 @@
         $(CC) $(CFLAGS)  $(STRIPFLAG) -o $(BIN_DIR)/pdreceive u_pdreceive.c

  $(PDEXEC): $(OBJ) $(BIN_DIR)
-       cd ../obj;  $(CC) $(LDFLAGS) $(DBG_CFLAGS) -o $(PDEXEC) $(OBJ) $(LIB)
+       cd ../obj;  $(CC) $(LDFLAGS) $(DBG_CFLAGS) -o $(PDEXEC) $(OBJ) $(LIB) -lstdc++

  $(BIN_DIR)/pd-gui: $(GOBJ) $(GSRC)
         cd ../obj; $(CC) $(INCLUDE) -o $(BIN_DIR)/$(GUINAME) $(GOBJ) $(GLIB)

  _ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801

More information about the Pd-dev mailing list