I am building Octave from source on OS X 10.11.7 with clang. clang is bringing in /usr/local/include/math.h which is causing compiler errors:
In file included from libinterp/dldfcn/__delaunayn__.cc:54:
In file included from ./liboctave/array/dMatrix.h:31:
In file included from liboctave/numeric/DET.h:33:
In file included from liboctave/numeric/lo-mappers.h:35:
./liboctave/util/lo-ieee.h:93:59: error: expected unqualified-id
inline int __lo_ieee_float_finite (float x) { return std::isfinite (x); }
^
/usr/local/include/math.h:155:5: note: expanded from macro 'isfinite'
( sizeof(x) == sizeof(float) ? __inline_isfinitef((float)(x))
I don't know how to get clang++ to stop including /usr/local/include/math.h (it should be using /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain//usr/include/c++/v1/math.h)
$ find /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ -name math.h -ls
12887319657 16 -rw-r--r-- 1 root wheel 50651 Dec 21 10:04 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain//usr/include/c++/v1/math.h
When I tried the compiler flags, -nostdinc and -nostdinc++ the octave configure failed.
$ clang --verbose
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$ xcrun --show-sdk-path
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk
xcode-s(base) MacBook-Pro:octave davidlaxer$ xcode-select -p
/Applications/Xcode.app/Contents/Developer
(base) MacBook-Pro:octave davidlaxer$ clang++ -Wp,-v -x c++ -std=c++11 - -fsyntax-only < /dev/null
clang -cc1 version 12.0.0 (clang-1200.0.32.29) default target x86_64-apple-darwin19.6.0
ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/local/include"
ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/Library/Frameworks"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks (framework directory)
End of search list.
./configure --with-libiconv-prefix=/opt/local CXXFLAGS="-std=c++11 -stdlib=libc++" CPPFLAGS="-I/Users/davidlaxer/SuiteSparse/include -I/opt/local/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include" LDFLAGS="-L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" DYLD_LIBRARY_PATH="-L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" LD_LIBRARY_PATH="-L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" --with-suitesparseconfig-includedir=/Users/davidlaxer/SuiteSparse/include --with-suitesparseconfig-libdir=/Users/davidlaxer/SuiteSparse/lib --disable-readline --with-sundials_ida-includedir=/opt/local/include/sundials --with-sundials_ida-libdir=/opt/local/lib/ --with-qt=5
...
Octave is now configured for x86_64-apple-darwin19.6.0
Source directory: .
Installation prefix: /usr/local
C compiler: /usr/bin/clang -D_THREAD_SAFE -pthread -Wall -W -Wshadow -Wformat -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wcast-align -Wcast-qual -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
C++ compiler: /usr/bin/clang++ -D_THREAD_SAFE -pthread -Wall -W -Wshadow -Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -std=c++11 -stdlib=libc++
Fortran compiler: gfortran -g -O2 -std=legacy
Fortran libraries: -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib -L/opt/local/lib/gcc10/gcc/x86_64-apple-darwin19/10.2.0 -L/opt/local/lib/gcc10/gcc/x86_64-apple-darwin19/10.2.0/../../.. -lgfortran -lquadmath -lm
Lex libraries:
LIBS: -lm
LDFLAGS: -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib
Extra LDFLAGS:
AMD CPPFLAGS:
AMD LDFLAGS:
AMD libraries: -lamd
ARPACK CPPFLAGS: -I/opt/local/include/arpack
ARPACK LDFLAGS: -L/opt/local/lib
ARPACK libraries: -larpack
BLAS libraries: -lopenblas
BZ2 CPPFLAGS:
BZ2 LDFLAGS:
BZ2 libraries: -lbz2
CAMD CPPFLAGS:
CAMD LDFLAGS:
CAMD libraries: -lcamd
CARBON libraries: -framework Carbon
CCOLAMD CPPFLAGS:
CCOLAMD LDFLAGS:
CCOLAMD libraries: -lccolamd
CHOLMOD CPPFLAGS:
CHOLMOD LDFLAGS:
CHOLMOD libraries: -lcholmod
COLAMD CPPFLAGS:
COLAMD LDFLAGS:
COLAMD libraries: -lcolamd
CURL CPPFLAGS:
CURL LDFLAGS:
CURL libraries: -lcurl
CXSPARSE CPPFLAGS:
CXSPARSE LDFLAGS:
CXSPARSE libraries:
DL libraries: -ldl
FFTW3 CPPFLAGS: -I/opt/local/include
FFTW3 LDFLAGS: -L/opt/local/lib
FFTW3 libraries: -lfftw3_threads -lfftw3
FFTW3F CPPFLAGS: -I/opt/local/include
FFTW3F LDFLAGS: -L/opt/local/lib
FFTW3F libraries: -lfftw3f_threads -lfftw3f
FLTK CPPFLAGS: -I/opt/local/include
FLTK LDFLAGS: -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -framework OpenGL -framework Cocoa
FLTK libraries: -lfltk_gl -lfltk -lpthread
fontconfig CPPFLAGS: -I/opt/local/include -I/opt/local/include/ossp -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include
fontconfig libraries: -lfontconfig -lfreetype
FreeType2 CPPFLAGS: -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include
FreeType2 libraries: -L/opt/local/lib -lfreetype
GLPK CPPFLAGS:
GLPK LDFLAGS:
GLPK libraries: -lglpk
HDF5 CPPFLAGS:
HDF5 LDFLAGS:
HDF5 libraries: -lhdf5
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
Java JVM path: /Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib/server
Java CPPFLAGS: -I/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/include/darwin
Java libraries:
KLU CPPFLAGS:
KLU LDFLAGS:
KLU libraries: -lklu
LAPACK libraries:
LLVM CPPFLAGS:
LLVM LDFLAGS:
LLVM libraries:
Magick++ CPPFLAGS: -I/opt/local/include/GraphicsMagick
Magick++ LDFLAGS: -L/opt/local/lib
Magick++ libraries: -lGraphicsMagick++ -lGraphicsMagick
OpenGL libraries: -framework OpenGL
PCRE CPPFLAGS: -I/opt/local/include
PCRE LDFLAGS: -L/opt/local/lib
PCRE libraries: -lpcre
PortAudio CPPFLAGS: -I/opt/local/include
PortAudio LDFLAGS: -L/opt/local/lib
PortAudio libraries: -lportaudio
PTHREAD flags: -D_THREAD_SAFE -pthread
PTHREAD libraries:
QHULL CPPFLAGS:
QHULL LDFLAGS:
QHULL libraries: -lqhull
QRUPDATE CPPFLAGS:
QRUPDATE LDFLAGS:
QRUPDATE libraries: -lqrupdate
Qt CPPFLAGS: -I/opt/local/libexec/qt5/lib/QtNetwork.framework/Headers -I/opt/local/libexec/qt5/include -I/opt/local/libexec/qt5/lib/QtPrintSupport.framework/Headers -I/opt/local/libexec/qt5/include -I/opt/local/libexec/qt5/lib/QtHelp.framework/Headers -I/opt/local/libexec/qt5/include -I/opt/local/libexec/qt5/lib/QtWidgets.framework/Headers -I/opt/local/libexec/qt5/include -I/opt/local/libexec/qt5/lib/QtGui.framework/Headers -I/opt/local/libexec/qt5/include -I/opt/local/libexec/qt5/lib/QtSql.framework/Headers -I/opt/local/libexec/qt5/include -I/opt/local/libexec/qt5/lib/QtXml.framework/Headers -I/opt/local/libexec/qt5/include -I/opt/local/libexec/qt5/lib/QtCore.framework/Headers -I/opt/local/libexec/qt5/include
Qt LDFLAGS: -F/opt/local/libexec/qt5/lib
Qt GUI libraries: -framework QtNetwork -framework QtPrintSupport -framework QtHelp -framework QtWidgets -framework QtGui -framework QtSql -framework QtXml -framework QtCore
Qt OpenGL libraries: -framework QtOpenGL -framework QtWidgets -framework QtGui -framework QtCore
Qt moc: moc
Qt uic: uic
Qt rcc: rcc
Qt lrelease: lrelease
Qt qcollectiongenerator: qcollectiongenerator
Qt qhelpgenerator: qhelpgenerator
READLINE libraries:
Sndfile CPPFLAGS: -I/opt/local/include
Sndfile LDFLAGS: -L/opt/local/lib
Sndfile libraries: -lsndfile
SPQR CPPFLAGS:
SPQR LDFLAGS:
SPQR libraries: -lspqr
SuiteSparse config libraries: -lsuitesparseconfig
SUNDIALS IDA CPPFLAGS:
SUNDIALS IDA LDFLAGS:
SUNDIALS IDA libraries:
SUNDIALS NVECTOR CPPFLAGS:
SUNDIALS NVECTOR LDFLAGS:
SUNDIALS NVECTOR libraries:
SUNLINSOL KLU CPPFLAGS:
SUNLINSOL KLU LDFLAGS:
SUNLINSOL KLU libraries:
TERM libraries: -lncurses
UMFPACK CPPFLAGS:
UMFPACK LDFLAGS:
UMFPACK libraries: -lumfpack
X11 include flags:
X11 libraries: -lX11
Z CPPFLAGS:
Z LDFLAGS:
Z libraries: -lz