Hey Matju,
From my perspective, adding -lstdc++ has more problems than just
making a simple libstdc++.pd_linux and loading that. For example, the
Debian package will then require libstdc++. Plus it means another
difference from Pd-vanilla. Its not really something I know about,
and therefore would not be a candidate for maintaining it. Someone
else would have to step up on that front. The libstdc++.pd_linux
could easily be included with Gridflow. Or using the libdir format
like Gem perhaps, where it loads a shared library first as part of the
process of loading the lib.
Do you have any documentation on this as a suggested workaround?
.hc
On Aug 23, 2009, at 2:30 PM, Mathieu Bouchard wrote:
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 pd-extended.
diff from Claude:
------------------8<--------cut-here--------8<------------------
--- 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)
------------------8<--------cut-here--------8<------------------
_ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
----------------------------------------------------------------------------
Computer science is no more related to the computer than astronomy is
related to the telescope. -Edsger Dykstra
_______________________________________________
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev