[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Octave fails to build on 64-bit OSX w/ FLTK
From: |
Jarno Rajahalme |
Subject: |
Octave fails to build on 64-bit OSX w/ FLTK |
Date: |
Thu, 3 Feb 2011 11:00:57 +0200 |
I have reported this before, and I have a better fix that requires a change to
FLTK (which I have proposed there), but in the meanwhile this needs to be
addressed:
There is a typedef/Class name clash between OSX system headers and Octave. It
seems to me that this SHOULD affect 32-bit builds as well, but I have not
tested that.
OSX header
/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/Lists.h
has this:
typedef Point Cell;
Which breaks Octave class declarations of type "class Cell;" resulting in
compile error:
./ov.h: At global scope:
./ov.h:46: error: using typedef-name ‘Cell’ after ‘class’
Fortunately the file Lists.h is not needed for using FLTK, at least not for
64-bit builds (*), so this compile error can be avoided by having the following
in the CPPFLAGS when calling configure:
"-D__LISTS__"
This has the effect of not including the offending OSX include file when
building octave. After this the build succeeds (3.3.91), with only the known
mapper failure. I compiled with the Apple gcc-4.2, using my blas wrapper
library and all other dependencies from macports (compiled with
gcc43/gcc44/gcc45).
At the minimum this should be addressed in README.MacOS
Jarno
(*) Comment from Lists.h:
/*
* List Manager
*
* Discussion:
* The List Manager is deprecated in Mac OS X 10.5 and later, and is
* not included in the 64-bit version of HIToolbox. Applications
* should use the Data Browser instead of the List Manager.
*/
typedef Point Cell;
...
- Octave fails to build on 64-bit OSX w/ FLTK,
Jarno Rajahalme <=