
On Sep 5, 2009, at 9:13 PM, Damien Hocking wrote:
OSX 10.6 doesn't install on a ppc Apple, I just tried it on my wife's G5. Not supported anymore.
This is the final transition to Intel, phase out PPC. It was mainstream news: http://www.engadget.com/2009/06/10/snow-leopard-officially-puts-powerpc-macs... There will need to be a rule changes to darwin.jam to fix this. If you feel you want to hack it simply remove -arch ppc64 and build. Julian
D
JungleCat wrote:
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@lists.boost.org mailto:Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
------------------------------------------------------------------------
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users