[Gridflow-dev] [PD-announce] GridFlow 0.9.1

Mathieu Bouchard matju at artengine.ca
Sun Apr 27 23:31:10 EDT 2008

On Sat, 26 Apr 2008, marius schebella wrote:

> I gave it another try and added a flag -msse (although I am not really 
> sure what I was doing) and got rid of the error, but not of errors in 
> general,

The important part is to get rid of errors that I don't know how to fix, 
because I fixed the rest. This is because GridFlow changes internally and 
so I have to change OSX-specific source code that I can't test and 
sometimes I make mistakes, for example. (It's not just that, though, but 
anyway, what I said I fixed, you don't need to take care of: just switch 
to a more recent GridFlow to get my new fixes)

> are there sse instructions in the code and I have to explicitely pass 
> -msse??

Not in GridFlow's code. There is a MMX1 (really!) module that is 
"compiled" separately and is only enabled if you have NASM. However, in 
OSX's headers, there might be SSE-specific declarations and I can't do 
anything about that.

> Can you check my compile flags and see if they are correct? I wonder if 
> the -mtune=pentium and -march=pentium are correct at all? maybe config 
> discovered a wrong architecture? is intel chip pentium compatible?

If I read correctly: all Intel Macs use processors that are direct 
descendents of "Pentium M" and "Pentium D" processors, and those 
descendents are also what gets sold as part of today's PC computers. All 
those CPUs are apparently fundamentally part of the same family as 
"Pentium Pro", which dates back to 1995 or so, but the 
backward-compatibility of executable files may go back as far as programs 
compiled in 1978 (if 16-bit mode is supported by the OS).

> /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:217: 
> error: ?__m128i? does not name a type
> /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:218: 
> error: ?__m128d? does not name a type

I still don't know what those are. Look like they might be meaning 
"128-bit integer" and "128-bit float" respectively, but that's just a wild 
guess, and it doesn't give us any hint on how to fix it.

> format/../gridflow.h.fcs:211: error: conflicting declaration ?typedef void (* 
> Method)(struct FObject*, int, struct t_atom2*)?
> /usr/include/objc/runtime.h:38: error: ?Method? has a previous declaration as 
> ?typedef struct objc_method* Method?

That's a name conflict because I recently renamed "RMethod" to just 
"Method" because the "R" stood for Ruby, but Ruby isn't there anymore, and 
I had already changed everything in it except the name. Well, I think that 
the solution is to rename it again to "GFMethod" or "PdMethod", what else 
can I do...

> format/quartz.m.fcs:58: error: invalid conversion from ?int? to 
> ?objc_object*?
> format/quartz.m.fcs:59: error: invalid conversion from ?int? to 
> ?objc_object*?

Silly mistake in new code that compensates for previous warning about 
"protected". It's fixed now.

> format/quartz.m.fcs:111: error: cannot convert ?objc_object*? to ?CGFloat? in 
> initialization
> format/quartz.m.fcs:111: error: cannot convert ?objc_object*? to ?CGFloat? in 
> initialization

Counterpart of the same silly mistake.

> format/quartz.m.fcs:216: error: no matching function for call to 
> ?FormatQuartz::FormatQuartz(BFObject*&, t_symbol*&, int&, t_atom2*&)?

Forgot to adapt old code to new way of creating objects. Fixed.

  _ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec

More information about the Gridflow-dev mailing list