[PD] [GEM] OS X How to compile against SDK 10.5 in os x 10.6

William Brent william.brent at gmail.com
Sat Feb 26 17:17:50 CET 2011


I ran into the same problem on 10.6 and turned up this thread, which
seems unresolved.  Just for the record I'm replying now to say that
running configure with:

./configure --enable-fat-binary=i386

is the solution.  Chris mentioned this above and it's documented here as well:

http://puredata.info/community/projects/software/gem/documentation/faq/how-do-you-compile-gem-on-osx

This is probably already common knowledge for a lot of people, but
others who find this thread might not be aware.



On Tue, Nov 17, 2009 at 12:14 PM, Hans-Christoph Steiner <hans at at.or.at> wrote:
>
> You can remove Gem from the build by editing packages/Makefile.
> .hc
> On Nov 17, 2009, at 9:55 AM, Rich E wrote:
>
> Anyone have more suggestions as how to get this compiling on Snow Leopard?
> It is making it impossible to build pd extended, which I would like to do in
> order to add debug flags.
>
> Rich
>
> On Thu, Nov 12, 2009 at 12:51 AM, Jaime Oliver <jaime.oliver2 at gmail.com>
> wrote:
>>
>> I thought I had sent this already, but just saw it in my drafts...:
>>
>> I use capital letters to distinguish what I'm writing form what the
>> computer printed:
>>
>> ///////////////////////////////////////////////////////////////////
>> NORMAL STUFF:
>> ///////////////////////////////////////////////////////////////////
>>
>> Jaime-Olivers-MacBook-Pro:src joliverl$ aclocal
>> Jaime-Olivers-MacBook-Pro:src joliverl$ autoconf
>>
>> ///////////////////////////////////////////////////////////////////
>> THIS IS THE ./configure OUTPUT:
>> ///////////////////////////////////////////////////////////////////
>>
>> Jaime-Olivers-MacBook-Pro:src joliverl$ ./configure
>> --with-pd=/Applications/Pd-0.42-5.app/Contents/Resources/
>> checking for g++... g++
>> checking for C++ compiler default output file name... a.out
>> checking whether the C++ compiler works... yes
>> checking whether we are cross compiling... no
>> checking for suffix of executables...
>> checking for suffix of object files... o
>> checking whether we are using the GNU C++ compiler... yes
>> checking whether g++ accepts -g... yes
>> checking for a BSD-compatible install... /usr/bin/install -c
>> checking whether ln -s works... yes
>> checking whether compiler accepts "-fPIC"... yes
>> building Gem with Controls-objects
>> building Gem with Geos-objects
>> building Gem with Manips-objects
>> building Gem with Nongeos-objects
>> building Gem with Particles-objects
>> building Gem with Pixes-objects
>> building Gem with openGL-objects
>> building Gem without Vertex-objects
>> checking for sin in -lm... yes
>> checking for main in -lz... yes
>> checking for dlopen in -ldl... yes
>> checking how to run the C++ preprocessor... g++ -E
>> checking for X... disabled
>> checking for "OpenGL"-framework... yes
>> checking for "AGL"-framework... yes
>> checking for main in -lstdc++... yes
>> checking for "Carbon"-framework... yes
>> checking for "QuickTime"-framework... yes
>> checking for pkg-config... no
>> checking for PKG_IMAGEMAGICK___CFLAGS...
>> checking for PKG_IMAGEMAGICK___LIBS...
>> checking for ImageMagick++-config... no
>> checking for main in -lMagick++... no
>> checking for PKG_TIFF_CFLAGS...
>> checking for PKG_TIFF_LIBS...
>> checking for tiff-config... no
>> checking for TIFFOpen in -ltiff... no
>> checking for PKG_JPEG_CFLAGS...
>> checking for PKG_JPEG_LIBS...
>> checking for jpeg-config... no
>> checking for jpeg_read_header in -ljpeg... no
>> checking for PKG_GMERLIN_AVDEC_CFLAGS...
>> checking for PKG_GMERLIN_AVDEC_LIBS...
>> checking for gmerlin_avdec-config... no
>> checking for gavl_start in -lgmerlin_avdec... no
>> checking for PKG_LIBMPEG3_CFLAGS...
>> checking for PKG_LIBMPEG3_LIBS...
>> checking for libmpeg3-config... no
>> checking for mpeg3_check_sig in -lmpeg3... no
>> checking for PKG_MPEG_CFLAGS...
>> checking for PKG_MPEG_LIBS...
>> checking for mpeg-config... no
>> checking for OpenMPEG in -lmpeg... no
>> checking for PKG_AVIFILE_CFLAGS...
>> checking for PKG_AVIFILE_LIBS...
>> checking for avifile-config... no
>> checking for CreateIAviReadFile in -laviplay... no
>> checking for grep that handles long lines and -e... /usr/bin/grep
>> checking for egrep... /usr/bin/grep -E
>> checking for ANSI C header files... yes
>> checking for sys/types.h... yes
>> checking for sys/stat.h... yes
>> checking for stdlib.h... yes
>> checking for string.h... yes
>> checking for memory.h... yes
>> checking for strings.h... yes
>> checking for inttypes.h... yes
>> checking for stdint.h... yes
>> checking for unistd.h... yes
>> checking linux/videodev.h usability... no
>> checking linux/videodev.h presence... no
>> checking for linux/videodev.h... no
>> checking for PKG_LIBV4L1_CFLAGS...
>> checking for PKG_LIBV4L1_LIBS...
>> checking for libv4l1-config... no
>> checking for v4l1_open in -lv4l1... no
>> checking for PKG_LIBV4L2_CFLAGS...
>> checking for PKG_LIBV4L2_LIBS...
>> checking for libv4l2-config... no
>> checking for v4l2_open in -lv4l2... no
>> checking for PKG_IEEE1394_CFLAGS...
>> checking for PKG_IEEE1394_LIBS...
>> checking for ieee1394-config... no
>> checking for main in -ldv... no
>> checking for PKG_FTGL_CFLAGS...
>> checking for PKG_FTGL_LIBS...
>> checking for ftgl-config... no
>> checking for main in -lftgl... no
>> checking FTGL/ftgl.h usability... no
>> checking FTGL/ftgl.h presence... no
>> checking for FTGL/ftgl.h... no
>> checking for PKG_ARTOOLKIT_CFLAGS...
>> checking for PKG_ARTOOLKIT_LIBS...
>> checking for artoolkit-config... no
>> checking for arInitCparam in -lAR... no
>> checking for pthread_create in -lpthread... yes
>> checking for X... disabled
>> checking for ANSI C header files... (cached) yes
>> checking fcntl.h usability... yes
>> checking fcntl.h presence... yes
>> checking for fcntl.h... yes
>> checking float.h usability... yes
>> checking float.h presence... yes
>> checking for float.h... yes
>> checking for memory.h... (cached) yes
>> checking stddef.h usability... yes
>> checking stddef.h presence... yes
>> checking for stddef.h... yes
>> checking for stdlib.h... (cached) yes
>> checking for string.h... (cached) yes
>> checking for strings.h... (cached) yes
>> checking sys/ioctl.h usability... yes
>> checking sys/ioctl.h presence... yes
>> checking for sys/ioctl.h... yes
>> checking sys/time.h usability... yes
>> checking sys/time.h presence... yes
>> checking for sys/time.h... yes
>> checking termios.h usability... yes
>> checking termios.h presence... yes
>> checking for termios.h... yes
>> checking for unistd.h... (cached) yes
>> checking for stdbool.h that conforms to C99... yes
>> checking for _Bool... no
>> checking for an ANSI C-conforming const... yes
>> checking for inline... inline
>> checking for size_t... yes
>> checking whether time.h and sys/time.h may both be included... yes
>> checking for unsigned int... yes
>> checking size of unsigned int... 4
>> checking for void *... yes
>> checking size of void *... 8
>> checking for error_at_line... no
>> checking for pid_t... yes
>> checking vfork.h usability... no
>> checking vfork.h presence... no
>> checking for vfork.h... no
>> checking for fork... yes
>> checking for vfork... yes
>> checking for working fork... yes
>> checking for working vfork... (cached) yes
>> checking for stdlib.h... (cached) yes
>> checking for GNU libc compatible malloc... yes
>> checking for stdlib.h... (cached) yes
>> checking for unistd.h... (cached) yes
>> checking for getpagesize... yes
>> checking for working mmap... yes
>> checking for bzero... yes
>> checking for floor... yes
>> checking for gettimeofday... yes
>> checking for memset... yes
>> checking for munmap... yes
>> checking for pow... yes
>> checking for sqrt... yes
>> checking for strchr... yes
>> checking for strdup... yes
>> checking for strrchr... yes
>> checking for strstr... yes
>> checking for lqt_open_write... no
>> checking m_pd.h usability... no
>> checking m_pd.h presence... no
>> checking for m_pd.h... no
>> checking for s_stuff.h... no
>> using deprecated video-loader Darwin
>> using deprecated film-loader Darwin
>> checking GL/gl.h usability... no
>> checking GL/gl.h presence... no
>> checking for GL/gl.h... no
>> checking OpenGL/gl.h usability... yes
>> checking OpenGL/gl.h presence... yes
>> checking for OpenGL/gl.h... yes
>> checking GL/glu.h usability... no
>> checking GL/glu.h presence... no
>> checking for GL/glu.h... no
>> checking OpenGL/glu.h usability... yes
>> checking OpenGL/glu.h presence... yes
>> checking for OpenGL/glu.h... yes
>> checking whether compiler accepts "-freg-struct-return"... yes
>> enabling "register struct return"
>>   allows to make use of FreeFrame-effects without recompiling them
>>   might break things, if you are using several different compilers
>> checking whether compiler accepts "-Os"... yes
>> checking whether compiler accepts "-falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops"... yes
>> checking whether compiler accepts "-ffast-math"... yes
>>
>> checking whether compiler accepts "-mmmx"... yes
>> checking whether compiler accepts "-fpascal-strings"... yes
>> checking whether linker accepts "-shared -Wl,--export-dynamic"... no
>> checking whether linker accepts "-dynamiclib -mmacosx-version-min=10.3
>> -undefined dynamic_lookup"... yes
>> checking for strip... strip
>> checking if strip is GNU strip... no
>> checking for dos2unix... no
>> configure: creating ./config.status
>> config.status: creating Make.config
>> config.status: creating Base/config.h
>>
>> Result:
>>  Target                 : Gem.pd_darwin
>>  Objects                : Base Controls Geos Manips Nongeos Particles
>> Pixes openGL
>>
>> Configuration:
>>  Compiler               : g++
>>  CXXFLAGS               : -g -O2 -fPIC -freg-struct-return -Os
>> -falign-loops=32 -falign-functions=32 -falign-jumps=32 -funroll-loops
>> -ffast-math -mmmx -fpascal-strings
>>                         :
>>  INCLUDES               :
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src
>>  DEFINES                :
>>
>>  LIBS                   : -lstdc++ -ldl -lz -lm   -lpthread
>> -L/Applications/Pd-0.42-5.app/Contents/Resources//bin
>>                         :
>>  LDFLAGS                : -dynamiclib -mmacosx-version-min=10.3 -undefined
>> dynamic_lookup -framework QuickTime -framework Carbon -framework AGL
>> -framework OpenGL
>>                         :
>>
>>  Strip                  : strip -x
>>
>>  Install path           : /usr/local
>>
>>  pure-data:
>>  version                : 0.42
>>  extension              : pd_darwin
>>
>>  used optional libraries:
>>
>>  font-rendering         :
>>
>>  image-support
>>    use ImageMagick      : no
>>    use TIFF             : no
>>    use JPEG             : no
>>  video-support
>>    use mpeg             : no
>>    use mpeg-3           : no
>>    use QuickTime        : yes (framework)
>>    use aviplay          : no
>>    use gmerlin          : no
>>  input-support
>>    use v4l              : no
>>    use ieee1394         : no
>>
>> Now run make ...
>>
>> ////////////////////////////////////////////////////////////////////
>> edited the Make.config file,
>> added -isysroot /Developer/SDKs/MacOSX10.5.sdk to GEM_CXXFLAGS and
>> GEM_LDFLAGS
>> then make
>>
>> ////////////////////////////////////////////////////////////////////
>> THIS IS THE MAKE OUTPUT:
>> ///////////////////////////////////////////////////////////////////
>>
>> Jaime-Olivers-MacBook-Pro:src joliverl$ makemkdir Objects
>> make -C Base
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> CPPExtern.cpp -o ../Objects/CPPExtern.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk GemBase.cpp
>> -o ../Objects/GemBase.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk GemCache.cpp
>> -o ../Objects/GemCache.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemContext.cpp -o ../Objects/GemContext.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemContextData.cpp -o ../Objects/GemContextData.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk GemEvent.cpp
>> -o ../Objects/GemEvent.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemException.cpp -o ../Objects/GemException.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemFuncUtil.cpp -o ../Objects/GemFuncUtil.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemGLUtil.cpp -o ../Objects/GemGLUtil.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemGluObj.cpp -o ../Objects/GemGluObj.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemLoadObj.cpp -o ../Objects/GemLoadObj.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemLoaders.cpp -o ../Objects/GemLoaders.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk GemMan.cpp
>> -o ../Objects/GemMan.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemModelData.cpp -o ../Objects/GemModelData.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemPBuffer.cpp -o ../Objects/GemPBuffer.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemPathBase.cpp -o ../Objects/GemPathBase.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemPixConvertAltivec.cpp -o ../Objects/GemPixConvertAltivec.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemPixConvertSSE2.cpp -o ../Objects/GemPixConvertSSE2.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemPixDualObj.cpp -o ../Objects/GemPixDualObj.o
>> g++ -c       -I..
>> -I/Applications/Pd-0.42-5.app/Contents/Resources//src  -DHAVE_CONFIG_H
>> -g -O2 -fPIC -freg-struct-return -Os -falign-loops=32
>> -falign-functions=32 -falign-jumps=32 -funroll-loops -ffast-math -mmmx
>> -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.5.sdk
>> GemPixImageLoad.cpp -o ../Objects/GemPixImageLoad.o
>> GemPixImageLoad.cpp:71: error: ‘GraphicsImportComponent’ was not
>> declared in this scope
>> GemPixImageLoad.cpp: In function ‘imageStruct* image2mem(const char*)’:
>> GemPixImageLoad.cpp:97: error: ‘GraphicsImportComponent’ was not
>> declared in this scope
>> GemPixImageLoad.cpp:97: error: expected `;' before ‘importer’
>> GemPixImageLoad.cpp:105: error: ‘struct FSSpec’ has no member named ‘name’
>> GemPixImageLoad.cpp:107: error: ‘struct FSSpec’ has no member named
>> ‘parID’
>> GemPixImageLoad.cpp:110: error: ‘::GetGraphicsImporterForFile’ has not
>> been declared
>> GemPixImageLoad.cpp:110: error: ‘importer’ was not declared in this scope
>> GemPixImageLoad.cpp:112: error: ‘struct FSSpec’ has no member named ‘name’
>> GemPixImageLoad.cpp:116: error: ‘importer’ was not declared in this scope
>> GemPixImageLoad.cpp:116: error: ‘QTImage2mem’ cannot be used as a function
>> GemPixImageLoad.cpp: At global scope:
>> GemPixImageLoad.cpp:213: error: redefinition of ‘imageStruct* QTImage2mem’
>> GemPixImageLoad.cpp:71: error: ‘imageStruct* QTImage2mem’ previously
>> defined here
>> GemPixImageLoad.cpp:213: error: ‘GraphicsImportComponent’ was not
>> declared in this scope
>> make[1]: *** [GemPixImageLoad.o] Error 1
>> make: *** [Base] Error 2
>>
>> _______________________________________________
>> Pd-list at iem.at mailing list
>> UNSUBSCRIBE and account-management ->
>> http://lists.puredata.info/listinfo/pd-list
>
>
>
>
> ----------------------------------------------------------------------------
> "Making boring techno music is really easy with modern tools," he
> says, "but with live coding, boring techno is much harder." - Chris
> McCormick
>
>
>
>
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>
>



-- 
William Brent
www.williambrent.com

“Great minds flock together”
Conflations: conversational idiom for the 21st century

www.conflations.com



More information about the Pd-list mailing list