Boost logo

Boost Users :

Subject: [Boost-users] (was Re: 1.40.0 - 32_64 broken on OS X 10.6 Snow Leopard) (now ppc64 support removed with Xcode 3.2 on Snow Leopard.
From: JungleCat (junglecat_at_[hidden])
Date: 2009-09-05 20:34:28


ok, the problem is that you cannot compile c++ into ppc64 machine code
on Snow Leopard because it doesn't ship with a ppc64 bit version of
the SDK.

The following is the culprit in darwin.jam

arch-addr-flags darwin OPTIONS : combined : 64 : -arch x86_64 -arch
ppc64 ;

My last post demonstrated the failure but you cannot build through
Xcode because it will bail with the same error. My take is that Apple
is dropping support for ppc64 but I have no confirmation other than
they do not ship the ability to target this anymore.

Julian

On Sep 5, 2009, at 3:14 PM, Howard Hinnant wrote:

> On Sep 5, 2009, at 3:32 PM, Vladimir Prus wrote:
>
>> Howard Hinnant wrote:
>>
>>> On Sep 5, 2009, at 7:34 AM, JungleCat wrote:
>>>
>>>> This isn't a compiler problem as I was able to compile OpenSSL into
>>>> 32_64.
>>>>
>>>> The error starts off when:
>>>>
>>>> #include <exception>
>>>>
>>>> is included from boost, date_time in my case:
>>>>
>>>> /usr/include/c++/4.2.1/exception:42:28: error: bits/c++config.h: No
>>>> such file or directory
>>>>
>>>> So:
>>>>
>>>> /usr/include/c++/4.2.1/exception
>>>>
>>>> Includes: bit/c++config.h
>>>>
>>>> However bit/c++config.h doesn't exist, they are rooted in the /usr/
>>>> include/c++/4.2.1/i686-apple-darwin* /usr/include/c++/4.2.1/
>>>> powerpc-
>>>> apple-darwin* and /usr/include/c++/4.2.1/x86_64-apple-darwin*
>>>> folders.
>>>>
>>>> I have not looked into the darwin.jam but I bet it's getting
>>>> tricked
>>>> up with the SDK changes to paths, etc.. it's late, zzz..
>>>
>>> This is an include path problem. Unfortunately I don't know
>>> anything
>>> about bjam or the boost build process. However I do know where you
>>> can find bits/c++config.h.
>>>
>>> For each platform (32/64, 10.4/5/6) there is a platform-specific
>>> directory, e.g.:
>>>
>>> /usr/include/c++/4.2.1/i686-apple-darwin10/ // 32 bit Snow
>>> Leopard
>>> /usr/include/c++/4.2.1/x86_64-apple-darwin10/ // 64 bit Snow
>>> Leopard
>>>
>>> Inside of each of these you will find bits/c++config.h. So you need
>>> an include path to /usr/include/c++/4.2.1/<correct platform>.
>>
>> Do you suggest such a path should be manually passed to compiler?
>> Still
>> counts as compiler bug by my book :-/
>
> I would have to see the command line being used to make any further
> guesses as to where the problem lies. However on 10.6 I'm seeing
> the following behavior:
>
> $ cat test.cpp
> #include <iostream>
>
> int main()
> {
> std::cout << "Hello World\n";
> }
> $ g++ -arch i386 -arch x86_64 test.cpp
> $ a.out
> Hello World
> $ nm -arch all a.out |grep a.out
> a.out (for architecture i386):
> a.out (for architecture x86_64):
>
> -Howard
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net