Hi all,
I am trying to compile Gridflow 8.4 in a PowerPc with mac osx 10.4.7. I have installed ruby 1.8.4 using fink and also all the other neccesary libraries (libjpeg libjpeg-shlibs libpng-shlibs libpng3 libpng3-shlibs libmpeg libmpeg-shlibs) using fink. My pd version is a precompiled pd-0.38.4-extended-RC8.
when I do ./configure I have the following result
This is the GridFlow 0.8.4 configurator within Ruby version 1.8.4-2005-12-24 [gcc3] GNU C++ Compiler 3 (or 4): --------------------------------------------> found [stl] C++ Standard Template Library: -----------------------------------------> found [gcc64] GNU C++ in 64-bit mode: ----------------------------------------------> missing (gcc: error: 'off_t' was not declared in this scope) [libruby] Ruby as a dynamic library (try #1): --------------------------------> found [librubystatic] Ruby as a static library: ------------------------------------> disabled (using libruby instead) [pentium] Pentium-compatible CPU: --------------------------------------------> missing (powerpc-darwin instead) [mmx] MMX-compatible CPU (using NASM): ---------------------------------------> disabled (would need pentium) [profiler] profiler (speed measurements): ------------------------------------> disabled (would need pentium) [usb] USB Library: -----------------------------------------------------------> missing (where is usb.h ?) [dv1394] DV1394 for Linux: ---------------------------------------------------> missing (gcc compilation error) [x11] X11 Display Protocol: --------------------------------------------------> found [x11_shm] X11 acceleration by shared memory (XSHM plugin): -------------------> found [sdl] Simple Directmedia Layer (experimental support): -----------------------> missing (gcc compilation error) [objcpp] GNU/Apple ObjectiveC++ Compiler: ------------------------------------> found [quartz] Apple Quartz/Cocoa Display: -----------------------------------------> found [aalib] Ascii Art Library: ---------------------------------------------------> missing (where is aalib.h ?) [jpeg] JPEG Library: ---------------------------------------------------------> found [png] PNG Library <libpng12/png.h>: ------------------------------------------> found [videodev] Video4linux Digitizer Driver Interface: ---------------------------> missing (where is linux/videodev.h ?) [mpeg3] HeroineWarrior LibMPEG3 <libmpeg3/libmpeg3.h>: -----------------------> missing (where is libmpeg3/libmpeg3.h ?) [mpeg3] HeroineWarrior LibMPEG3 <libmpeg3.h>: --------------------------------> missing (where is libmpeg3.h ?) [quicktimeapple] Apple's QuickTime: ------------------------------------------> found [quicktimehw] Plaum's LibQuickTime (try #1) <lqt/quicktime.hlqt/colormodels.hlqt/lqt.hlqt/lqt_version.hlqt/lqt_codecinfo.h>:
disabled (using quicktimeapple instead)
[quicktimehw] Plaum's LibQuickTime (try #1) <quicktime/quicktime.hquicktime/colormodels.hquicktime/lqt.hquicktime/lqt_version.hquicktime/lqt_codecinfo.h>:
disabled (using quicktimeapple instead)
[quicktimehw] Plaum's LibQuickTime (try #2) <lqt/quicktime.hlqt/colormodels.hlqt/lqt.hlqt/lqt_version.hlqt/lqt_codecinfo.h>:
disabled (using quicktimeapple instead)
[quicktimehw] Plaum's LibQuickTime (try #2) <quicktime/quicktime.hquicktime/colormodels.hquicktime/lqt.hquicktime/lqt_version.hquicktime/lqt_codecinfo.h>:
disabled (using quicktimeapple instead)
[puredata] Miller Puckette's Pure Data: --------------------------------------> missing (where is m_pd.h ?) [gem09] PureData GEM (source code) with m_holdname: --------------------------> disabled (would need puredata) [gem08] PureData GEM (source code) without m_holdname: -----------------------> disabled (would need puredata) [fftw] FFTW (Fastest Fourier Transform in the West): -------------------------> found
I know that my m_pd.h is in /Applications/Pd-extended.app/Contents/Resources/include/ why is not able to find it? Where I should set it? also I don't know how to use CPLUS_INCLUDE_PATH, LIBRARY_PATH and LD_LIBRARY_PATH.
any help would be extremelly appreciated,
thanks for your time,
fanouris
On Tue, 24 Oct 2006, Fanouris Moraitis wrote:
I am trying to compile Gridflow 8.4 in a PowerPc with mac osx 10.4.7.
It's called 0.8.4, really. Originally, the plan was to get to a point where we'd call it 1.0.0, but for psychological reasons I'll call that release 2.0.0. In the meanwhile, however, version numbers still start with a 0.
[libruby] Ruby as a dynamic library (try #1): found [x11] X11 Display Protocol: found [quartz] Apple Quartz/Cocoa Display: found [puredata] Miller Puckette's Pure Data: missing (where is m_pd.h ?)
The above is what is most important. (of the two display methods above, GridFlow doesn't really require any, but you'll want at least one, and X11 is nicer to use because it has more features)
I know that my m_pd.h is in /Applications/Pd-extended.app/Contents/Resources/include/ why is not able to find it? Where I should set it?
I suggest that you copy that file to /sw/include or something.
also I don't know how to use CPLUS_INCLUDE_PATH, LIBRARY_PATH and LD_LIBRARY_PATH.
I think that I have made it so that you don't have to use those things if you put your things in /sw/include, /sw/lib, etc.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
Thanks for the quick feedback.
It finally worked when i executed the following:
export CPLUS_INCLUDE_PATH=/Applications/Pd-extended.app/Contents/Resources/include/ && ./configure --gem-source /Users/myhomedirectory/pd-extended/Gem/src/
(for the Gem/src I put one that I downloaded from the pd site because they don't have any source code for pd-extended for Mac but I don't know if that makes any difference at all)
well now I get the following mistake:
/usr/bin/ld: -undefined error, -undefined dynamic_lookup or -undefined define_a_way must be used when -twolevel_namespace is in effect
what is that?
thanks,
fanouris
On 10/24/06, Mathieu Bouchard matju@artengine.ca wrote:
On Tue, 24 Oct 2006, Fanouris Moraitis wrote:
I am trying to compile Gridflow 8.4 in a PowerPc with mac osx 10.4.7.
It's called 0.8.4, really. Originally, the plan was to get to a point where we'd call it 1.0.0, but for psychological reasons I'll call that release 2.0.0. In the meanwhile, however, version numbers still start with a 0.
[libruby] Ruby as a dynamic library (try #1): found [x11] X11 Display Protocol: found [quartz] Apple Quartz/Cocoa Display: found [puredata] Miller Puckette's Pure Data: missing (where is m_pd.h ?)
The above is what is most important. (of the two display methods above, GridFlow doesn't really require any, but you'll want at least one, and X11 is nicer to use because it has more features)
I know that my m_pd.h is in /Applications/Pd-extended.app/Contents/Resources/include/ why is not able to find it? Where I should set it?
I suggest that you copy that file to /sw/include or something.
also I don't know how to use CPLUS_INCLUDE_PATH, LIBRARY_PATH and LD_LIBRARY_PATH.
I think that I have made it so that you don't have to use those things if you put your things in /sw/include, /sw/lib, etc.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
Hi Fanouris,
I was getting this error when compiling GridFlow 0.8.4 as well.
On Oct 24, 2006, at 8:56 AM, Fanouris Moraitis wrote:
/usr/bin/ld: -undefined error, -undefined dynamic_lookup or -undefined define_a_way must be used when -twolevel_namespace is in effect
The solution was to copy the entire commandline that invokes the compiler, paste into Text Edit or some such and change the instance of "-undefined suppress" to "-undefined error" and copy-paste it back in your Terminal window. That's what worked for me.. Note that it doesn't work to change "-undefined suppress" in the Makefile or Makefile.in because some other components of GridFlow must explicitly require "-undefined suppress". Good luck! P.S. I'm on 10.3.9 so I'm not sure how different the process is but I don't imagine it is very much.
./d5
Hi d5,
Well if I understood well I did the following:
I follow your advice and I did "make" again in order to get the whole compiler command which is something like
g++ -bundle -undefined suppress -o gridflow.bundle base/main.o base/grid.o base/bitpacking.o base/flow_objects.o base/number.1.o base/number.2.o base/number.3.o base/number.4.o format/x11.o format/quartz.o format/jpeg.o format/png.o format/quicktimeapple.o optional/gem.o optional/fftw.o -L/Users/fan/lib -L/usr/local/lib -L/sw/lib -lm -L/usr/X11R6/lib -lX11 -lXext -lobjc -framework Cocoa -ljpeg -lpng -lz -framework Quicktime -lfftw3f -lfftw3 -L. -lruby -ldl -lcrypt -lm
and then I changed it to
g++ -bundle -undefined error -o gridflow.bundle base/main.o base/grid.o base/bitpacking.o base/flow_objects.o base/number.1.o base/number.2.o base/number.3.o base/number.4.o format/x11.o format/quartz.o format/jpeg.o format/png.o format/quicktimeapple.o optional/gem.o optional/fftw.o -L/Users/fan/lib -L/usr/local/lib -L/sw/lib -lm -L/usr/X11R6/lib -lX11 -lXext -lobjc -framework Cocoa -ljpeg -lpng -lz -framework Quicktime -lfftw3f -lfftw3 -L. -lruby -ldl -lcrypt -lm
but now I get another error
/usr/bin/ld: can't locate file for: -lcrypt collect2: ld returned 1 exit status
I am not so good at compiling stuff so maybe I 've done something wrong!
thanks
On 10/24/06, day 5 day5ive@gmail.com wrote:
Hi Fanouris,
I was getting this error when compiling GridFlow 0.8.4 as well.
On Oct 24, 2006, at 8:56 AM, Fanouris Moraitis wrote:
/usr/bin/ld: -undefined error, -undefined dynamic_lookup or -undefined define_a_way must be used when -twolevel_namespace is in effect
The solution was to copy the entire commandline that invokes the compiler, paste into Text Edit or some such and change the instance of "-undefined suppress" to "-undefined error" and copy-paste it back in your Terminal window. That's what worked for me.. Note that it doesn't work to change "-undefined suppress" in the Makefile or Makefile.in because some other components of GridFlow must explicitly require "-undefined suppress". Good luck! P.S. I'm on 10.3.9 so I'm not sure how different the process is but I don't imagine it is very much.
./d5
Hi,
aslo I read a little bit about lcrypt and it is no supported by MacOs so I tried both to ommit it and replace it with mcrypt but I get the same error
/usr/bin/ld: Undefined symbols: imageStruct::clear() imageStruct::allocate() imageStruct::imageStruct() imageStruct::~imageStruct() GemException::~GemException() GemBase::setModified() GemBase::obj_setupCallback(_class*) GemBase::realStopRendering() GemBase::~GemBase() pixBlock::pixBlock() CPPExtern::m_holdname CPPExtern::m_holder GemPixObj::postrender(GemState*) GemPixObj::processImage(imageStruct&) GemPixObj::processYUVMMX(imageStruct&) GemPixObj::processGrayMMX(imageStruct&) GemPixObj::processRGBAMMX(imageStruct&) GemPixObj::processYUVSSE2(imageStruct&) GemPixObj::setPixModified() GemPixObj::processGraySSE2(imageStruct&) GemPixObj::processRGBASSE2(imageStruct&) GemPixObj::processRGBImage(imageStruct&) GemPixObj::processYUVImage(imageStruct&) GemPixObj::processGrayImage(imageStruct&) GemPixObj::processRGBAImage(imageStruct&) GemPixObj::obj_setupCallback(_class*) GemPixObj::processYUVAltivec(imageStruct&) GemPixObj::processGrayAltivec(imageStruct&) GemPixObj::processRGBAAltivec(imageStruct&) GemPixObj::GemPixObj() GemException::report() const typeinfo for GemException typeinfo for GemPixObj vtable for GemException vtable for GemPixObj operator new(unsigned long, void*, void*) _class_new _class_sethelpsymbol _gensym _pd_new collect2: ld returned 1 exit status
thanks,
On 10/25/06, Fanouris Moraitis fmoraitis@gmail.com wrote:
Hi d5,
Well if I understood well I did the following:
I follow your advice and I did "make" again in order to get the whole compiler command which is something like
g++ -bundle -undefined suppress -o gridflow.bundle base/main.o base/grid.o base/bitpacking.o base/flow_objects.o base/number.1.o base/number.2.o base/number.3.o base/number.4.o format/x11.o format/quartz.o format/jpeg.o format/png.o format/quicktimeapple.o optional/gem.o optional/fftw.o -L/Users/fan/lib -L/usr/local/lib -L/sw/lib -lm -L/usr/X11R6/lib -lX11 -lXext -lobjc -framework Cocoa -ljpeg -lpng -lz -framework Quicktime -lfftw3f -lfftw3 -L. -lruby -ldl -lcrypt -lm
and then I changed it to
g++ -bundle -undefined error -o gridflow.bundle base/main.o base/grid.o base/bitpacking.o base/flow_objects.o base/number.1.o base/number.2.o base/number.3.o base/number.4.o format/x11.o format/quartz.o format/jpeg.o format/png.o format/quicktimeapple.o optional/gem.o optional/fftw.o -L/Users/fan/lib -L/usr/local/lib -L/sw/lib -lm -L/usr/X11R6/lib -lX11 -lXext -lobjc -framework Cocoa -ljpeg -lpng -lz -framework Quicktime -lfftw3f -lfftw3 -L. -lruby -ldl -lcrypt -lm
but now I get another error
/usr/bin/ld: can't locate file for: -lcrypt collect2: ld returned 1 exit status
I am not so good at compiling stuff so maybe I 've done something wrong!
thanks
On 10/24/06, day 5 day5ive@gmail.com wrote:
Hi Fanouris,
I was getting this error when compiling GridFlow 0.8.4 as well.
On Oct 24, 2006, at 8:56 AM, Fanouris Moraitis wrote:
/usr/bin/ld: -undefined error, -undefined dynamic_lookup or -undefined define_a_way must be used when -twolevel_namespace is in effect
The solution was to copy the entire commandline that invokes the compiler, paste into Text Edit or some such and change the instance of "-undefined suppress" to "-undefined error" and copy-paste it back in your Terminal window. That's what worked for me.. Note that it doesn't work to change "-undefined suppress" in the Makefile or Makefile.in because some other components of GridFlow must explicitly require "-undefined suppress". Good luck! P.S. I'm on 10.3.9 so I'm not sure how different the process is but I don't imagine it is very much.
./d5
On Wed, 25 Oct 2006, Fanouris Moraitis wrote:
I follow your advice and I did "make" again in order to get the whole compiler command which is something like
GridFlow 0.8.5 (CVS only) has better support for OSX, but I can't test it now. I made it so that it does -bundle -undefined suppress -flat_namespace and removes -shared -rdynamic (the latter two are Linux-only).
/usr/bin/ld: can't locate file for: -lcrypt collect2: ld returned 1 exit status
GridFlow 0.8.5 is supposed to remove -lcrypt automatically, because it uses the list of libraries that rbconfig recommends, instead of a hardcoded list. -lcrypt is Linux-only in the sense that in OSX -lcrypt is instead a part of -lc.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
Fanouris Moraitis wrote:
Thanks for the quick feedback.
It finally worked when i executed the following:
export CPLUS_INCLUDE_PATH=/Applications/Pd-extended.app/Contents/Resources/include/
&& ./configure --gem-source /Users/myhomedirectory/pd-extended/Gem/src/
(for the Gem/src I put one that I downloaded from the pd site because they don't have any source code for pd-extended for Mac but I don't know if that makes any difference at all)
i suggest using gem's cvs version (i don't know which features of Gem the gridflow<->gem thing uses, but chances are high that you need a recent version of Gem).
well now I get the following mistake:
/usr/bin/ld: -undefined error, -undefined dynamic_lookup or -undefined define_a_way must be used when -twolevel_namespace is in effect
what is that?
i don't know the interna of osx linking, but i don't hink it is a very good idea to change this, if you don't want to ask for trouble. the arguments used in gem are "-bundle -undefined suppress -flat_namespace"
mfg.asdr. IOhannes
thanks for the tip.
So I just change the Makefile line to
PDBUNDLEFLAGS = -bundle -undefined suppress -flat_namespace
and also erased the lcrypt from the LIBS = -L. -lruby -ldl -lm
so now I don't get any linker errors (which at least is something) but I get the following error message:
g++ -DPDSUF=".pd_darwin" -Ibundled/pd -L/Users/fan/lib
-L/usr/local/lib -L/sw/lib -lm -L/usr/X11R6/lib -L/opt/gnome/lib
-L/usr/X11R6/lib64 -L/opt/gnome/lib64 -lX11 -lXext -lobjc -framework
Cocoa -ljpeg -lpng -lz -framework Quicktime -lfftw3f -lfftw3 -lm
-lruby -bundle -flat_namespace -I/sw/include -I/sw/include
-I/usr/local/include -I/Users/fan/include -I. -xc++
-fno-operator-names -fno-omit-frame-pointer -I/usr/X11R6/include
-I/sw/lib/ruby/1.8/powerpc-darwin -I/Users/fan/pd-extended/Gem/src/
-falign-functions=16 -DMACOSX -Wall -Wno-unused -Wunused-variable -g
-fPIC -I. -O2 -funroll-loops -bundle -undefined suppress
-flat_namespace
bridge/puredata.c.fcs -xnone -o gridflow.pd_darwin
/Users/fan/pd-extended/Gem/src/Base/CPPExtern.h:40: warning: 'class
GemException' has virtual functions but non-virtual destructor
/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:723:
error: expected identifier before numeric constant
/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:723:
error: expected `}' before numeric constant
/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:723:
error: expected unqualified-id before numeric constant
/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:4238:
error: expected declaration before '}' token
make: *** [gridflow.pd_darwin] Error 1
does anybody knows what is this?
thanks,
fanouris
On 10/25/06, IOhannes m zmoelnig zmoelnig@iem.at wrote:
Fanouris Moraitis wrote:
Thanks for the quick feedback.
It finally worked when i executed the following:
export CPLUS_INCLUDE_PATH=/Applications/Pd-extended.app/Contents/Resources/include/
&& ./configure --gem-source /Users/myhomedirectory/pd-extended/Gem/src/
(for the Gem/src I put one that I downloaded from the pd site because they don't have any source code for pd-extended for Mac but I don't know if that makes any difference at all)
i suggest using gem's cvs version (i don't know which features of Gem the gridflow<->gem thing uses, but chances are high that you need a recent version of Gem).
well now I get the following mistake:
/usr/bin/ld: -undefined error, -undefined dynamic_lookup or -undefined define_a_way must be used when -twolevel_namespace is in effect
what is that?
i don't know the interna of osx linking, but i don't hink it is a very good idea to change this, if you don't want to ask for trouble. the arguments used in gem are "-bundle -undefined suppress -flat_namespace"
mfg.asdr. IOhannes
Hi, I found an old discussion that you had about the same mistake
/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:723: error: expected identifier before numeric constant /System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:723: error: expected `}' before numeric constant /System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:723: error: expected unqualified-id before numeric constant /System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:4238: error: expected declaration before '}' token make: *** [gridflow.pd_darwin] Error 1
and the solution was to Put #undef T_DATA just after #include "base/grid.h.fcs"
but in which file and where? In OpenTransport.h?(I cannot find #include "base/grid.h.fcs" in OpenTransport.h and it is a system file should I change it?) Should I put it somewere else?
thanks,
fanouris
On 10/25/06, Fanouris Moraitis fmoraitis@gmail.com wrote:
thanks for the tip.
So I just change the Makefile line to
PDBUNDLEFLAGS = -bundle -undefined suppress -flat_namespace
and also erased the lcrypt from the LIBS = -L. -lruby -ldl -lm
so now I don't get any linker errors (which at least is something) but I get the following error message:
g++ -DPDSUF=".pd_darwin" -Ibundled/pd -L/Users/fan/lib -L/usr/local/lib -L/sw/lib -lm -L/usr/X11R6/lib -L/opt/gnome/lib -L/usr/X11R6/lib64 -L/opt/gnome/lib64 -lX11 -lXext -lobjc -framework Cocoa -ljpeg -lpng -lz -framework Quicktime -lfftw3f -lfftw3 -lm -lruby -bundle -flat_namespace -I/sw/include -I/sw/include -I/usr/local/include -I/Users/fan/include -I. -xc++ -fno-operator-names -fno-omit-frame-pointer -I/usr/X11R6/include -I/sw/lib/ruby/1.8/powerpc-darwin -I/Users/fan/pd-extended/Gem/src/ -falign-functions=16 -DMACOSX -Wall -Wno-unused -Wunused-variable -g -fPIC -I. -O2 -funroll-loops -bundle -undefined suppress -flat_namespace
bridge/puredata.c.fcs -xnone -o gridflow.pd_darwin /Users/fan/pd-extended/Gem/src/Base/CPPExtern.h:40: warning: 'class GemException' has virtual functions but non-virtual destructor /System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:723: error: expected identifier before numeric constant /System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:723: error: expected `}' before numeric constant /System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:723: error: expected unqualified-id before numeric constant /System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:4238: error: expected declaration before '}' token make: *** [gridflow.pd_darwin] Error 1does anybody knows what is this?
thanks,
fanouris
On 10/25/06, IOhannes m zmoelnig zmoelnig@iem.at wrote:
Fanouris Moraitis wrote:
Thanks for the quick feedback.
It finally worked when i executed the following:
export CPLUS_INCLUDE_PATH=/Applications/Pd-extended.app/Contents/Resources/include/
&& ./configure --gem-source /Users/myhomedirectory/pd-extended/Gem/src/
(for the Gem/src I put one that I downloaded from the pd site because they don't have any source code for pd-extended for Mac but I don't know if that makes any difference at all)
i suggest using gem's cvs version (i don't know which features of Gem the gridflow<->gem thing uses, but chances are high that you need a recent version of Gem).
well now I get the following mistake:
/usr/bin/ld: -undefined error, -undefined dynamic_lookup or -undefined define_a_way must be used when -twolevel_namespace is in effect
what is that?
i don't know the interna of osx linking, but i don't hink it is a very good idea to change this, if you don't want to ask for trouble. the arguments used in gem are "-bundle -undefined suppress -flat_namespace"
mfg.asdr. IOhannes
On Wed, 25 Oct 2006, Fanouris Moraitis wrote:
/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:723: error: expected identifier before numeric constant make: *** [gridflow.pd_darwin] Error 1 and the solution was to Put #undef T_DATA just after #include "base/grid.h.fcs" but in which file and where?
gridflow.pd_darwin is built from bridge/puredata.c
bridge/puredata.c already contains #undef, but there's a // in front of it to disable, because I didn't remember what it was for, and it was preventing GridFlow from working with Ruby 1.8 again. However, I've redefined T_DATA properly, so now it could be #undef'ed again, for the benefit of OSX users.
This is because T_DATA is defined in both Ruby and OSX's OpenTransport with different meanings and purposes; and because the definitions of T_DATA in Ruby 1.8 and Ruby 1.9 differ as well.
*strangely*, when I'm not #undefing T_DATA and still #defining it again, g++ doesn't give me any warning, even though it *is* a duplicate definition that it would normally warn me about! (anyone understands this?)
In OpenTransport.h?(I cannot find #include "base/grid.h.fcs" in OpenTransport.h and it is a system file should I change it?) Should I put it somewere else?
I don't recommend modifying system files unless you really know what you're doing, but if you really know what you're doing then modifying bridge/puredata.c is a lot easier.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
Hi Mathieu,
I followed your advice and know it is finally compiled!
(for sure I don't know what I am doing! If it wasn't this list I am sure that I wouldn't know what to do. Therefore I am extremely grateful)
The only thing that I had to change was in the Makefile the cp -a to cp -r because the first as it seems is not supported in Os X.
So now that I have my gridflow.pd_darwin i did the following I made the .pdrc file and wrote -lib gridflow also i copied the whole gridflow directory to /Applications/Pd-extended.app/Contents/Resources/extra
and then I started pd but I have the following error from pd
Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/gridflow/gridflow.pd_darwin: dlopen(/Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/gridflow/gridflow.pd_darwin, 10): Symbol not found: __ZN9CPPExtern10m_holdnameE Referenced from: /Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/gridflow/gridflow.pd_darwin Expected in: flat namespace
and also
gridflow: can't load library
thanks, fanouris On 10/26/06, Mathieu Bouchard matju@artengine.ca wrote:
On Wed, 25 Oct 2006, Fanouris Moraitis wrote:
/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:723: error: expected identifier before numeric constant make: *** [gridflow.pd_darwin] Error 1 and the solution was to Put #undef T_DATA just after #include "base/grid.h.fcs" but in which file and where?
gridflow.pd_darwin is built from bridge/puredata.c
bridge/puredata.c already contains #undef, but there's a // in front of it to disable, because I didn't remember what it was for, and it was preventing GridFlow from working with Ruby 1.8 again. However, I've redefined T_DATA properly, so now it could be #undef'ed again, for the benefit of OSX users.
This is because T_DATA is defined in both Ruby and OSX's OpenTransport with different meanings and purposes; and because the definitions of T_DATA in Ruby 1.8 and Ruby 1.9 differ as well.
*strangely*, when I'm not #undefing T_DATA and still #defining it again, g++ doesn't give me any warning, even though it *is* a duplicate definition that it would normally warn me about! (anyone understands this?)
In OpenTransport.h?(I cannot find #include "base/grid.h.fcs" in OpenTransport.h and it is a system file should I change it?) Should I put it somewere else?
I don't recommend modifying system files unless you really know what you're doing, but if you really know what you're doing then modifying bridge/puredata.c is a lot easier.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
On Oct 26, 2006, at 11:08 AM, Fanouris Moraitis wrote:
So now that I have my gridflow.pd_darwin i did the following I made the .pdrc file and wrote -lib gridflow also i copied the whole gridflow directory to /Applications/Pd-extended.app/Contents/Resources/extra
and then I started pd but I have the following error from pd
Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/ gridflow/gridflow.pd_darwin: dlopen(/Applications/Pd-extended.app/Contents/Resources/Scripts/../ extra/gridflow/gridflow.pd_darwin, 10): Symbol not found: __ZN9CPPExtern10m_holdnameE Referenced from: /Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/ gridflow/gridflow.pd_darwin Expected in: flat namespace
...this is a variable from GEM (CPPExtern::m_holdname): probably
from some old gem header #include'd in the compile somewhere...but I
don't think gridflow should need gem to load...one way around this
would be to try and load gem before gridflow, or better fix the
source problem...
james
I downloaded gem-0.90.0 from http://gem.iem.at/ and I did the whole thing again starting from configure which I had the following [gem09] PureData GEM (source code) with m_holdname: --------------------------> missing (gcc: error: 'm_holdname' is not a member of 'CPPExtern') [gem08] PureData GEM (source code) without m_holdname: -----------------------> found
I compile the whole thing all over and I made the .pdrc file and wrote -lib gridflow and copied the whole gridflow directory to /Applications/Pd-extended.app/Contents/Resources/extra
now I don't get any error messages from PD if I erase the .pdrc file (which only has this line -lib gridflow) but if the .pdrc file is there PD says reading startup file /Users/myhomedir/.pdrc and just crashes!!! what I do wrong with the .pdrc ??
thanks, fanouris
On 10/26/06, james tittle tigital@mac.com wrote:
On Oct 26, 2006, at 11:08 AM, Fanouris Moraitis wrote:
So now that I have my gridflow.pd_darwin i did the following I made the .pdrc file and wrote -lib gridflow also i copied the whole gridflow directory to /Applications/Pd-extended.app/Contents/Resources/extra
and then I started pd but I have the following error from pd
Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/ gridflow/gridflow.pd_darwin: dlopen(/Applications/Pd-extended.app/Contents/Resources/Scripts/../ extra/gridflow/gridflow.pd_darwin, 10): Symbol not found: __ZN9CPPExtern10m_holdnameE Referenced from: /Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/ gridflow/gridflow.pd_darwin Expected in: flat namespace
...this is a variable from GEM (CPPExtern::m_holdname): probably from some old gem header #include'd in the compile somewhere...but I don't think gridflow should need gem to load...one way around this would be to try and load gem before gridflow, or better fix the source problem...
james
Fanouris Moraitis wrote:
now I don't get any error messages from PD if I erase the .pdrc file (which only has this line -lib gridflow) but if the .pdrc file is there PD says reading startup file /Users/myhomedir/.pdrc and just crashes!!! what I do wrong with the .pdrc ??
does it crash when you load gridflow manually?
anyhow, try making a gdb-backtrace (bt), with something like ~> gdb /pth/to/pd ... # run ... # bt
mf.adr IOhannes
On Thu, 26 Oct 2006, Fanouris Moraitis wrote:
I compile the whole thing all over and I made the .pdrc file and wrote -lib gridflow and copied the whole gridflow directory to /Applications/Pd-extended.app/Contents/Resources/extra
The GridFlow folder, without the make install, is meant to not be copied anymore. Use an alias (symlink) across folders, or use an additional -path, or even move the folder, but don't copy. If you copy, it will still work, of course, but you'll have two copies of GridFlow for no reason.
now I don't get any error messages from PD if I erase the .pdrc file (which only has this line -lib gridflow) but if the .pdrc file is there PD says reading startup file /Users/myhomedir/.pdrc and just crashes!!! what I do wrong with the .pdrc ??
Starting from a terminal may reveal some additional error messages.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
hi!
10): Symbol not found: __ZN9CPPExtern10m_holdnameE Referenced from: /Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/gridflow/gridflow.pd_darwin
Expected in: flat namespace
...this is a variable from GEM (CPPExtern::m_holdname): probably from some old gem header #include'd in the compile somewhere...but I don't think gridflow should need gem to load...one way around this would be to try and load gem before gridflow, or better fix the source problem...
afaik, GridFlow has a built-in bridge to Gem (which is only built if Gem-sources are present (or rather: given at configure time)). so i think it is perfectly normal to require Gem to be pre-loaded (well, an even better thing would be like in the gem<->pdp bridge to make the bridge a separate library which is to be loaded after the 2 isles)
so i'd recommend to load Gem and then GridFlow and see what happens.
mfg.adsr IOhannes
On Thu, 26 Oct 2006, james tittle wrote:
...this is a variable from GEM (CPPExtern::m_holdname): probably from some old gem header #include'd in the compile somewhere...but I don't think gridflow should need gem to load...one way around this would be to try and load gem before gridflow, or better fix the source problem...
I want to split GridFlow into smaller pieces, with the GEM bridge being one separate piece, and so will nearly every option in ./configure. This will make it easy for distributing binaries without having to wrap all dependencies together.
However the meeting for that is on November 6th. In the meanwhile, just do "./configure --no-gem08 --no-gem-09".
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
Hi all,
I did ./configure --no-gem08 --no-gem09, compile and then put the gridflow directory to the .pdrc path and I have the following
Info: this [list] has been backported from Pd 0.39.2 setting up Ruby-for-PureData... gridflow.pd_darwin found itself in /Users/fan/gridflow-0.8.4 we are using Ruby version 1.8.2 DIR = "/Users/fan/gridflow-0.8.4" Ruby's path = ["/Users/fan/gridflow-0.8.4/..", "/Users/fan/gridflow-0.8.4", "/Users/fan/gridflow-0.8.4/optional/rblti", "/usr/local/lib/ruby/site_ruby/1.8", "/usr/local/lib/ruby/site_ruby/1.8/powerpc-darwin7.8.0", "/usr/local/lib/ruby/site_ruby", "/usr/local/lib/ruby/1.8", "/usr/local/lib/ruby/1.8/powerpc-darwin7.8.0", "."]
I even have a hello from ruby_stack_end_hack :-)
Why it says that uses ruby 1.8.2 if when I do ruby -v I get ruby 1.8.4 ?
When I am trying to load a gridflow example it doesn't work! so i did gdb and had the following
can't load: No such file to load -- gridflow/base/main.rb backtrace: (eval):1:in `require' (eval):1 (eval):1 $: = ["/Users/fan/gridflow-0.8.4/..", "/Users/fan/gridflow-0.8.4", "/Users/fan/gridflow-0.8.4/optional/rblti", "/usr/local/lib/ruby/site_ruby/1.8", "/usr/local/lib/ruby/site_ruby/1.8/powerpc-darwin7.8.0", "/usr/local/lib/ruby/site_ruby", "/usr/local/lib/ruby/1.8", "/usr/local/lib/ruby/1.8/powerpc-darwin7.8.0", "."]
also I wanted to ask that now that I did ./configure --no-gem08 --no-gem09 does this mean that I cannot use gridflow with gem?
thanks, fanouris On 10/26/06, Mathieu Bouchard matju@artengine.ca wrote:
On Thu, 26 Oct 2006, james tittle wrote:
...this is a variable from GEM (CPPExtern::m_holdname): probably from some old gem header #include'd in the compile somewhere...but I don't think gridflow should need gem to load...one way around this would be to try and load gem before gridflow, or better fix the source problem...
I want to split GridFlow into smaller pieces, with the GEM bridge being one separate piece, and so will nearly every option in ./configure. This will make it easy for distributing binaries without having to wrap all dependencies together.
However the meeting for that is on November 6th. In the meanwhile, just do "./configure --no-gem08 --no-gem-09".
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
Ok I just rename the /gridflow-0.8.4 to /gridflow so I don't have this mistake anymore
but
I have the following
Info: this [list] has been backported from Pd 0.39.2
setting up Ruby-for-PureData...
gridflow.pd_darwin found itself in /Users/fan/gridflow
we are using Ruby version 1.8.2
DIR = "/Users/fan/gridflow"
Ruby's path = ["/Users/fan/gridflow/..", "/Users/fan/gridflow",
"/Users/fan/gridflow/optional/rblti",
"/usr/local/lib/ruby/site_ruby/1.8",
"/usr/local/lib/ruby/site_ruby/1.8/powerpc-darwin7.8.0",
"/usr/local/lib/ruby/site_ruby", "/usr/local/lib/ruby/1.8",
"/usr/local/lib/ruby/1.8/powerpc-darwin7.8.0", "."]
[gf] This is GridFlow 0.8.4 within Ruby version 1.8.2-2004-12-25
[gf] base/main.c was compiled on Oct 27 2006, 08:56:11
[gf] #<LoadError: No such file to load -- rblti>
[gf] /Users/fan/gridflow/../gridflow/optional/lti.rb:38:in require' [gf] /Users/fan/gridflow/../gridflow/optional/lti.rb:38 [gf] /Users/fan/gridflow/../gridflow/base/flow_objects.rb:1514:in
require'
[gf] /Users/fan/gridflow/../gridflow/base/flow_objects.rb:1514
[gf] /Users/fan/gridflow/../gridflow/base/main.rb:398:in require' [gf] /Users/fan/gridflow/../gridflow/base/main.rb:398 [gf] (eval):1:in
require'
[gf] (eval):1
[gf] (eval):1
[gf] LTI support not found (#<LoadError: No such file to load -- rblti>)
thanks,
On 10/27/06, Fanouris Moraitis fmoraitis@gmail.com wrote:
Hi all,
I did ./configure --no-gem08 --no-gem09, compile and then put the gridflow directory to the .pdrc path and I have the following
Info: this [list] has been backported from Pd 0.39.2 setting up Ruby-for-PureData... gridflow.pd_darwin found itself in /Users/fan/gridflow-0.8.4 we are using Ruby version 1.8.2 DIR = "/Users/fan/gridflow-0.8.4" Ruby's path = ["/Users/fan/gridflow-0.8.4/..", "/Users/fan/gridflow-0.8.4", "/Users/fan/gridflow-0.8.4/optional/rblti", "/usr/local/lib/ruby/site_ruby/1.8", "/usr/local/lib/ruby/site_ruby/1.8/powerpc-darwin7.8.0", "/usr/local/lib/ruby/site_ruby", "/usr/local/lib/ruby/1.8", "/usr/local/lib/ruby/1.8/powerpc-darwin7.8.0", "."]
I even have a hello from ruby_stack_end_hack :-)
Why it says that uses ruby 1.8.2 if when I do ruby -v I get ruby 1.8.4 ?
When I am trying to load a gridflow example it doesn't work! so i did gdb and had the following
can't load: No such file to load -- gridflow/base/main.rb backtrace: (eval):1:in `require' (eval):1 (eval):1 $: = ["/Users/fan/gridflow-0.8.4/..", "/Users/fan/gridflow-0.8.4", "/Users/fan/gridflow-0.8.4/optional/rblti", "/usr/local/lib/ruby/site_ruby/1.8", "/usr/local/lib/ruby/site_ruby/1.8/powerpc-darwin7.8.0", "/usr/local/lib/ruby/site_ruby", "/usr/local/lib/ruby/1.8", "/usr/local/lib/ruby/1.8/powerpc-darwin7.8.0", "."]
also I wanted to ask that now that I did ./configure --no-gem08 --no-gem09 does this mean that I cannot use gridflow with gem?
thanks, fanouris On 10/26/06, Mathieu Bouchard matju@artengine.ca wrote:
On Thu, 26 Oct 2006, james tittle wrote:
...this is a variable from GEM (CPPExtern::m_holdname): probably from some old gem header #include'd in the compile somewhere...but I don't think gridflow should need gem to load...one way around this would be to try and load gem before gridflow, or better fix the source problem...
I want to split GridFlow into smaller pieces, with the GEM bridge being one separate piece, and so will nearly every option in ./configure. This will make it easy for distributing binaries without having to wrap all dependencies together.
However the meeting for that is on November 6th. In the meanwhile, just do "./configure --no-gem08 --no-gem-09".
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
Fanouris Moraitis wrote:
Ok I just rename the /gridflow-0.8.4 to /gridflow so I don't have this mistake anymore
but
I have the following
[gf] #<LoadError: No such file to load -- rblti>
snip
[gf] LTI support not found (#<LoadError: No such file to load -- rblti>)
thanks,
This is normal if you don't have LTI when you compile GridFlow. Nothing to worry about, unless you really need some of the extra functionality that LTI provides.
I haven't tried LTI yet, I haven't seen a compelling statement why I should use it (I'd use it in a flash if it enabled me to compute histograms within GridFlow, as using ppmhist in a separate process is rather slow...).
Claude
On Fri, 27 Oct 2006, Claude Heiland-Allen wrote:
[gf] #<LoadError: No such file to load -- rblti>
snip
[gf] LTI support not found (#<LoadError: No such file to load -- rblti>)
Right, there are too many lines there just to say that you don't have LTI support.
Also some people may have noticed that error messages span more lines in GridFlow 0.8.4 than in the last years. That's because I changed a setting for their length, from 2 to 4, in bridge/puredata.c, and forgot to change it back after I stopped needing it; generally I think it's not possible to figure out a perfect value for this setting or to write code that figures out it dynamically.
I haven't tried LTI yet, I haven't seen a compelling statement why I should use it (I'd use it in a flash if it enabled me to compute histograms within GridFlow, as using ppmhist in a separate process is rather slow...).
There's [lti.ChromaticityHistogram], but you might be looking for LTI's thistogram<T>, in which the leading t is their naming convention for "template". But template classes are not automatically supported in rblti & GridFlow, so this would need a little tweaking of some files in optional/rblti/swig/* and optional/lti*.rb ... I'd suppose only a handful of lines.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
On Fri, 27 Oct 2006, Fanouris Moraitis wrote:
I even have a hello from ruby_stack_end_hack :-)
That's what's required for GridFlow to support Ruby 1.8 again. That's because I'd rather not use Ruby 1.9 anymore. That said, I'm going to migrate GridFlow to a programming language less troublesome than Ruby, very soon.
Why it says that uses ruby 1.8.2 if when I do ruby -v I get ruby 1.8.4 ?
Might be a problem with OSX or FINK or a conflict between the two. Do you have two libruby.dylib installed at once?
can't load: No such file to load -- gridflow/base/main.rb backtrace: (eval):1:in `require' (eval):1 (eval):1
the gridflow folder should not be in your -path directly; the folder containing the gridflow should be. The folder should be really named "gridflow" without a version number. If you want to keep that name you might add an alias, from finder or with the command:
cd /Users/fan ln -s gridflow-0.8.4 gridflow
Unfortunately, some error messages like this appear only in the terminal. I don't think that GDB is required in order to see those error messages, just a terminal.
also I wanted to ask that now that I did ./configure --no-gem08 --no-gem09 does this mean that I cannot use gridflow with gem?
Yes, because --no-gem* had to be done because GridFlow cannot access GEM's linker-symbols at load time. It needs that to be able to create a [#import_pix] or [#export_pix] or anything that can go in a GEM chain. You can't get it on OSX, because PureData loads externals using the private linker-symbols feature. To enable GEM support in GridFlow, you have to modify and recompile PureData. (This doesn't happen on Linux)
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
On Thu, 26 Oct 2006, Fanouris Moraitis wrote:
The only thing that I had to change was in the Makefile the cp -a to cp -r because the first as it seems is not supported in Os X.
-r is not the equivalent of -a; -r applies only to directory; in this case it's completely useless; in the case of GridFlow, -a isn't even so useful; maybe that I should have used ln -s instead anyway. In GridFlow 0.8.5 (CVS only), -a is gone.
So now that I have my gridflow.pd_darwin i did the following I made the .pdrc file and wrote -lib gridflow also i copied the whole gridflow directory to /Applications/Pd-extended.app/Contents/Resources/extra
You should not copy that directory. Instead, use ln -s to create an alias, or add a -path line to "~/.pdrc".
Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/gridflow/gridflow.pd_darwin: dlopen(/Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/gridflow/gridflow.pd_darwin, 10): Symbol not found: __ZN9CPPExtern10m_holdnameE Referenced from: /Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/gridflow/gridflow.pd_darwin
On Linux, this would be because you didn't load Gem before gridflow, so you'd have to do this:
-lib Gem -lib gridflow
But I remember that with Koray I tried to do it and it didn't work, and we traced it back to the "private mode" that Pd uses in loading .pd_darwin files, which prevents GridFlow from accessing anything in GEM.
To fix that problem, you have to modify the Pd source code, or switch to Linux, or use a version of Pd that doesn't have that problem (if there's one).
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
On Wed, 25 Oct 2006, Fanouris Moraitis wrote:
/Users/fan/pd-extended/Gem/src/Base/CPPExtern.h:40: warning: 'class GemException' has virtual functions but non-virtual destructor /System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:723: error: expected identifier before numeric constant
There's a line "//#undef T_DATA" in bridge/puredata.c; remove the "//" to enable OSX support. This was a line that I didn't remember what it was for and that I stumbled upon while trying to reenable Ruby 1.8 support.
This is fixed in GridFlow 0.8.5.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
On Thu, 26 Oct 2006, Mathieu Bouchard wrote:
On Wed, 25 Oct 2006, Fanouris Moraitis wrote:
/Users/fan/pd-extended/Gem/src/Base/CPPExtern.h:40: warning: 'class GemException' has virtual functions but non-virtual destructor /System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OpenTransport.h:723: error: expected identifier before numeric constant
There's a line "//#undef T_DATA" in bridge/puredata.c; remove the "//" to enable OSX support. This was a line that I didn't remember what it was for and that I stumbled upon while trying to reenable Ruby 1.8 support.
Sigh. Sometimes I don't even remember that I already have replied a day before. Must be Alzheimer or something.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
On Wed, 25 Oct 2006, IOhannes m zmoelnig wrote:
i suggest using gem's cvs version (i don't know which features of Gem the gridflow<->gem thing uses, but chances are high that you need a recent version of Gem).
GridFlow supports two versions that it calls "gem08" and "gem09". To disable support for [#import_pix] and [#export_pix], you can do:
./configure --no-gem08 --no-gem09
Actually I think that GEM "0.9" can be of either kind (gem08 or gem09), because the change happened after the beginning of the "0.9" branch. Which kind it is, depends on whether the m_holdname variable exists. GridFlow needs this in order to be able to create objects that are both part of GridFlow and part of GEM.
GridFlow uses the headers in order to figure out which kind of GEM it is. If the headers do not match Gem.pd_darwin, then it won't work.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada