[Gridflow-dev] Compiling on mac os 10.5

Patrick Boivin pboivin at gmail.com
Tue Sep 8 22:32:01 EDT 2009


Allô everyone,

Here's a couple of things I noticed when compiling Gridflow 0.9.4
(and/or 0.9.5 SVN) on mac os 10.5.8 :

On an iMac (intel 2.4GHz core duo), even though it detects a
"Pentium-compatible CPU" during configure, i get the following error:

/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/xmmintrin.h:35:3: error:
#error "SSE instruction set not enabled"
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:216:
error: ‘__m128’ does not name a type

when it gets to compiling those: format/quartz.m.fcs,
format/quicktimeapple.c.fcs, optional/gem.c.fcs and obviously
gridflow.pd_darwin

So, all that's needed is to specify --no-pentium to ./configure ...


Also, when I wanted to compile with FFTW, I got the following error:

optional/fftw.c.fcs: In member function ‘void
GridFFT::grin_0(GridInlet*, long int, T*)’:
optional/fftw.c.fcs:70: error: ‘ulong’ was not declared in this scope
optional/fftw.c.fcs:70: error: expected primary-expression before ‘void’
optional/fftw.c.fcs:70: error: expected `)' before ‘data’
optional/fftw.c.fcs:71: error: ‘ulong’ was not declared in this scope
optional/fftw.c.fcs:71: error: expected primary-expression before ‘void’
optional/fftw.c.fcs:71: error: expected `)' before ‘tada’
make: *** [optional/fftw.o] Error 1

A little modification in CHECK_ALIGN16 (gridflow.h) did the job:

gridflow-0.9.4 pb$ diff gridflow-old.h gridflow.h
825c825
< 	int align = ((ulong)(void*)d)%bytes; \
---
> 	int align = ((unsigned long)(void*)d)%bytes; \


Finally, there are two problems when compiling format/quartz.m.fcs.

First, it needs to be done "manually" specifying the pd source code
location ( -I/usr/src/pd-0.42-5/src ), as if g++ wasn't considering
CPLUS_INCLUDE_PATH for Objective-C files.

Second, I had the following error (0.9.5 SVN only):

format/quartz.m.fcs:180:26: error: macro "GRID_INLET" passed 2
arguments, but takes just 1
format/quartz.m.fcs:180: error: invalid function declaration
format/quartz.m.fcs:187: error: expected unqualified-id before ‘else’
format/quartz.m.fcs:210: error: expected unqualified-id before ‘else’
format/quartz.m.fcs:212: error: expected declaration before ‘}’ token

That seems to work:

gridflow-svn pb$ diff format/quartz-old.m format/quartz.m
180c180
< GRID_INLET(FormatQuartz,0) {
---
> GRID_INLET(0) {


Hope it helps,

Patrick



More information about the Gridflow-dev mailing list