Re: Building on Mac OS X Lion fails - stdarg.h cannot include_next itself
Andrea Canciani <[email protected]>
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <CAN_5=BBbTjH+XNZ26L6zGu-BeTVRpKOhTKq6XUM06uoyK5+EDg@mail.gmail.com> |
On Mon, Jan 9, 2012 at 8:27 PM, Eugene Kirpichov <[email protected]> wrote: > Hi, > > I'm following the instructions at http://live.gnome.org/GTK%2B/OSX/Building > on a Mac OS X Lion 10.7.2, gcc 4.2. > > After customizing my ~/.jhbuildrc-custom with the following > > # setup_sdk(target=_target, sdk_version="native", > architectures=[_default_arch]) > ... > moduleset = > "http://git.gnome.org/browse/gtk-osx/plain/modulesets-stable/gtk-osx.modules" > setup_sdk(target="10.6", sdk_version="10.6", architectures=["i386"]) > > So - after that, I got jhbuild bootstrap to succeed, but jhbuild build > meta-gtk-osx-bootstrap fails with the following transcript [1] (just the end > of it). > > I was able to reproduce the same thing with a program that just says > "#include <stdarg.h>" (and nothing more) - two invocations of g++, one > successful [2] and one unsuccessful [3], included. > > Looks like the issue is that there's no usr/lib/gcc/... folder with a > platform-specific stdarg.h under the -isysroot set by configure. > > How can I fix this error? I'm assuming that either jhbuild shouldn't have > set -isysroot to the value it has set it to, or perhaps this is an actual > incompatibility with gcc 4.2, but looks like with my level of knowledge > about this build system and general peculiarities of building on Mac (which > I've got only recently), asking for help from the community is the best > thing I can do. I think you might want to try your test commands using the default compiler (i.e. g++, aka llvm-g++ aka llvm-g++-4.2). If they manage to compile your test (and/or libtiff), then you're probably missing some "true-gcc"-specific headers. FWIW, I managed to reproduce the issue on my laptop (XCode 4.2.1) using g++-4.2, but the compilation was fine with llvm-g++: $ /usr/bin/g++-4.2 conftest.cxx -isysroot /Developer/SDKs/MacOSX10.6.sdk/ In file included from conftest.cxx:1: /Developer/SDKs/MacOSX10.6.sdk//usr/include/stdarg.h:4:25: error: stdarg.h: No such file or directory $ /usr/bin/g++ conftest.cxx -isysroot /Developer/SDKs/MacOSX10.6.sdk/ $ It's possible that those headers were available in older XCode versions. "On 10.7 (Lion), use XCode 4.1, which is a free download from the App Store." This might mean that XCode 4.2.x has not been tested and/or that this is not a known issue. You might want to report this problem (and any progress you managed to do, example: maybe it just works with llvm-g++) to a GTK+ development mailing list. AFAICT the solutions might be to: - avoid -isysroot if "true gcc" is to be used - use llvm-gcc Andrea > > == TRANSCRIPT 1 == > > *** Building libtiff *** [12/15] > make > Making all in port > make[1]: Nothing to be done for `all'. > Making all in libtiff > make all-am > /bin/sh ../libtool --tag=CXX --mode=compile /usr/bin/g++-4.2 > -DHAVE_CONFIG_H -I. -I/Users/jkff/gtk/inst/include > -I/Developer/SDKs/MacOSX10.6.sdk/usr/include -I/Users/jkff/gtk/inst/include > -I/Developer/SDKs/MacOSX10.6.sdk/usr/include -arch i386 > -I/Developer/SDKs/MacOSX10.6.sdk/usr/include -arch i386 > -I/Developer/SDKs/MacOSX10.6.sdk/usr/include -isysroot > /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -isysroot > /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -MT tif_stream.lo > -MD -MP -MF .deps/tif_stream.Tpo -c -o tif_stream.lo tif_stream.cxx > libtool: compile: /usr/bin/g++-4.2 -DHAVE_CONFIG_H -I. > -I/Users/jkff/gtk/inst/include -I/Developer/SDKs/MacOSX10.6.sdk/usr/include > -I/Users/jkff/gtk/inst/include -I/Developer/SDKs/MacOSX10.6.sdk/usr/include > -arch i386 -I/Developer/SDKs/MacOSX10.6.sdk/usr/include -arch i386 > -I/Developer/SDKs/MacOSX10.6.sdk/usr/include -isysroot > /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -isysroot > /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -MT tif_stream.lo > -MD -MP -MF .deps/tif_stream.Tpo -c tif_stream.cxx -fno-common -DPIC -o > .libs/tif_stream.o > In file included from tiffio.h:247, > from tiffiop.h:70, > from tif_stream.cxx:30: > /Developer/SDKs/MacOSX10.6.sdk/usr/include/stdarg.h:4:25: error: stdarg.h: > No such file or directory > In file included from > /Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/iosfwd:45, > from > /Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/ios:43, > from > /Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/ostream:45, > from > /Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/iostream:45, > from tif_stream.cxx:31: > > == TRANSCRIPT 2 == > jkff@jkff-laptop ~ $ /usr/bin/g++-4.2 tmp.cxx -o tmp.o -v > Using built-in specs. > Target: i686-apple-darwin11 > Configured with: /private/var/tmp/gcc/gcc-5666.3~278/src/configure > --disable-checking --enable-werror --prefix=/usr --mandir=/share/man > --enable-languages=c,objc,c++,obj-c++ > --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib > --build=i686-apple-darwin11 --program-prefix=i686-apple-darwin11- > --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 > --with-gxx-include-dir=/include/c++/4.2.1 > Thread model: posix > gcc version 4.2.1 (Apple Inc. build 5666) (dot 3) > /usr/libexec/gcc/i686-apple-darwin11/4.2.1/cc1plus -quiet -v -imultilib > x86_64 -D__DYNAMIC__ tmp.cxx -fPIC -quiet -dumpbase tmp.cxx > -mmacosx-version-min=10.6 -m64 -mtune=core2 -auxbase tmp -version > -D__private_extern__=extern -o > /var/folders/jt/r80dbv9d45187qzh0yg853r80000gn/T//ccVJEdap.s > ignoring nonexistent directory > "/usr/include/c++/4.2.1/i686-apple-darwin11/x86_64" > ignoring nonexistent directory > "/usr/lib/gcc/i686-apple-darwin11/4.2.1/../../../../i686-apple-darwin11/include" > #include "..." search starts here: > #include <...> search starts here: > /Users/jkff/gtk/inst/include > /usr/include/c++/4.2.1 > /usr/include/c++/4.2.1/backward > /usr/local/include > /usr/lib/gcc/i686-apple-darwin11/4.2.1/include > /usr/include > /System/Library/Frameworks (framework directory) > /Library/Frameworks (framework directory) > End of search list. > GNU C++ version 4.2.1 (Apple Inc. build 5666) (dot 3) (i686-apple-darwin11) > compiled by GNU C version 4.2.1 (Apple Inc. build 5666) (dot 3). > GGC heuristics: --param ggc-min-expand=150 --param ggc-min-heapsize=65536 > Compiler executable checksum: 1c5d175013b2657e11ab1c9aa1767c94 > /usr/libexec/gcc/i686-apple-darwin11/4.2.1/as -arch x86_64 > -force_cpusubtype_ALL -o > /var/folders/jt/r80dbv9d45187qzh0yg853r80000gn/T//ccgQqR0Y.o > /var/folders/jt/r80dbv9d45187qzh0yg853r80000gn/T//ccVJEdap.s > (etc.) > > == TRANSCRIPT 3 == > jkff@jkff-laptop ~ $ /usr/bin/g++-4.2 -isysroot > /Developer/SDKs/MACOSX10.6.sdk tmp.cxx -o tmp.o -v > Using built-in specs. > Target: i686-apple-darwin11 > Configured with: /private/var/tmp/gcc/gcc-5666.3~278/src/configure > --disable-checking --enable-werror --prefix=/usr --mandir=/share/man > --enable-languages=c,objc,c++,obj-c++ > --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib > --build=i686-apple-darwin11 --program-prefix=i686-apple-darwin11- > --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 > --with-gxx-include-dir=/include/c++/4.2.1 > Thread model: posix > gcc version 4.2.1 (Apple Inc. build 5666) (dot 3) > /usr/libexec/gcc/i686-apple-darwin11/4.2.1/cc1plus -quiet -v -imultilib > x86_64 -D__DYNAMIC__ -isysroot /Developer/SDKs/MACOSX10.6.sdk tmp.cxx -fPIC > -quiet -dumpbase tmp.cxx -mmacosx-version-min=10.6 -m64 -mtune=core2 > -auxbase tmp -version -D__private_extern__=extern -o > /var/folders/jt/r80dbv9d45187qzh0yg853r80000gn/T//cckFctdM.s > ignoring nonexistent directory > "/Developer/SDKs/MACOSX10.6.sdk/usr/lib/gcc/i686-apple-darwin11/4.2.1/include" > ignoring nonexistent directory > "/Developer/SDKs/MACOSX10.6.sdk/usr/lib/gcc/i686-apple-darwin11/4.2.1/../../../../i686-apple-darwin11/include" > #include "..." search starts here: > #include <...> search starts here: > /Users/jkff/gtk/inst/include > /Developer/SDKs/MACOSX10.6.sdk/usr/include/c++/4.2.1 > /Developer/SDKs/MACOSX10.6.sdk/usr/include/c++/4.2.1/i686-apple-darwin11/x86_64 > /Developer/SDKs/MACOSX10.6.sdk/usr/include/c++/4.2.1/backward > /Developer/SDKs/MACOSX10.6.sdk/usr/local/include > /Developer/SDKs/MACOSX10.6.sdk/usr/include > /Developer/SDKs/MACOSX10.6.sdk/System/Library/Frameworks (framework > directory) > /Developer/SDKs/MACOSX10.6.sdk/Library/Frameworks (framework directory) > End of search list. > GNU C++ version 4.2.1 (Apple Inc. build 5666) (dot 3) (i686-apple-darwin11) > compiled by GNU C version 4.2.1 (Apple Inc. build 5666) (dot 3). > GGC heuristics: --param ggc-min-expand=150 --param ggc-min-heapsize=65536 > Compiler executable checksum: 1c5d175013b2657e11ab1c9aa1767c94 > In file included from tmp.cxx:1: > /Developer/SDKs/MACOSX10.6.sdk/usr/include/stdarg.h:4:25: error: stdarg.h: > No such file or directory > > > -- > Eugene Kirpichov > Principal Engineer, Mirantis Inc. http://www.mirantis.com/ > Editor, http://fprog.ru/ > > -- > cairo mailing list > [email protected] > http://lists.cairographics.org/mailman/listinfo/cairo -- cairo mailing list [email protected] http://lists.cairographics.org/mailman/listinfo/cairo