2011/11/11 Mathieu Bouchard <matju@artengine.ca>
Le 2011-11-11 à 17:56:00, tim vets a écrit :


I don't really remember the steps exactly, do you? 

You could use the « svn diff » command, or if it's not from SVN, then unpack another copy (make sure you don't overwrite) and then do a diff of the two Makefiles with a command similar to :

 diff -u fux_kinect_orig/Makefile fux_kinect_tim/Makefile

I kept a backup copy of the original Makefile:

--- ./Makefile_bu 2011-11-07 16:11:09.640301259 +0100
+++ ./Makefile 2011-11-07 16:20:43.620301265 +0100
@@ -30,7 +30,7 @@
 
 all:
  g++ $(LDFLAGS) $(INCLUDES) $(CPPFLAGS) -o $(SOURCES).o -c $(SOURCES).cpp
- g++ -o $(SOURCES).$(EXTENSION) -undefined dynamic_lookup -dynamiclib -mmacosx-version-min=10.3 -undefined dynamic_lookup -framework QuickTime -framework Carbon -framework AGL -framework OpenGL ./*.o -L/sw/lib -lstdc++ -ldl -lz -lm -lpthread -lfreenect -L$(PD_DIR)/bin -L$(PD_DIR)
+ g++ -o $(SOURCES).$(EXTENSION) -shared ./*.o -L/sw/lib -lstdc++ -ldl -lz -lm -lpthread -lfreenect -L$(PD_DIR)/bin -L$(PD_DIR)
  rm -fr ./*.o
 deploy:
  mkdir build/$(SOURCES)

to my embarrassment I notice that I didn't even change the first lines:

# change to your local directories!
PD_APP_DIR = /Applications/Pd-extended.app/Contents/Resources
PD_DIR = /Users/xcorex/Documents/Documents/Projects/Puredata/PdSource/Pd-0.42.5-extended/pd
GEM_DIR = /Users/xcorex/Documents/Documents/Projects/Puredata/PdSource/Pd-0.42.5-extended/Gem

but it built anyway. 
Does that mean it found what it needs regardless of those lines, 
or that my build is just some sort of dummy altogether?
Tim


 
if the newer lines appear as «-» instead of «+», you have to change the order of filenames (I get it wrong 50 % of the time)


That 'undefined symbol' thing probably happened now only because I was trying with a new build of latest Gem, which doesn't seem to work itself here. I now replaced it back with my previous Gem.pd_linux, and it behaves like before: I try to create [fux_kinect], and pd hangs, without ever finishing creating the object, and without messages.

You can use gdb like this :

 gdb --args pdextended fux_kinect-help.pd

and then use the «run» command to start pd, and press Ctrl+c to force it to quit when it's hung, then use the «where» command to see a backtrace. Then post the backtrace here.


I could probably look up the Valgrind output, if it's relevant. gr, Tim

For a hang, it's better to use GDB.

GDB and Valgrind are largely complementary.

There's also a GUI for Valgrind if it helps you. I don't know about GUIs for GDB (except the quite old DDD), but there might be one or several.


 ______________________________________________________________________
| Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC