[cairo] Building on Mac OS X Lion fails - stdarg.h cannot include_next itself

Eugene Kirpichov ekirpichov at gmail.com
Mon Jan 9 23:53:00 PST 2012


Yay, it worked! Thanks again!

On Tue, Jan 10, 2012 at 11:32 AM, Eugene Kirpichov <ekirpichov at gmail.com>wrote:

> Hello Andrea,
>
> Thanks a lot, indeed I succeeded with jhbuild build meta-gtk-osx-bootstrap
> after I added the following to my ~/.jhbuildrc-custom:
> os.environ["CC"] = "/usr/bin/llvm-gcc-4.2"
> os.environ["CXX"] = "/usr/bin/llvm-g++-4.2"
>
> Somehow I thought that llvm-gcc and llvm-g++ are already the only
> compilers present on Macs, but apparently that's not the case.
>
> I'm now building meta-gtk-osx-core, let's see how it goes.
>
> On Tue, Jan 10, 2012 at 2:53 AM, Andrea Canciani <ranma42 at gmail.com>wrote:
>
>> On Mon, Jan 9, 2012 at 8:27 PM, Eugene Kirpichov <ekirpichov at gmail.com>
>> 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 at 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 at 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
>> > cairo at cairographics.org
>> > http://lists.cairographics.org/mailman/listinfo/cairo
>>
>
>
>
> --
> Eugene Kirpichov
> Principal Engineer, Mirantis Inc. http://www.mirantis.com/
> Editor, http://fprog.ru/
>



-- 
Eugene Kirpichov
Principal Engineer, Mirantis Inc. http://www.mirantis.com/
Editor, http://fprog.ru/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cairographics.org/archives/cairo/attachments/20120110/93b8eec8/attachment.htm>


More information about the cairo mailing list