从“-arch ppc”到“-arch ppc7400”的变化原因? [英] Cause of change from `-arch ppc` to `-arch ppc7400`?

查看:284
本文介绍了从“-arch ppc”到“-arch ppc7400”的变化原因?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这与 Git 2.4.8相关,它是从kernel.org来源和缺少的HTTP / HTTPS帮助建立的。

我发现cURL的库有效配置了 -arch ppc -arch ppc64 ,但是构建的fat库具有架构 -arch ppc7400 -arch ppc64 。这导致Git配置/链接失败,所以Git的配置是[静静地]删除cURL,[静默]删除HTTP / HTTPS助手。

I found cURL's library was effectively configured with -arch ppc -arch ppc64, but the fat library that was built has the architectures -arch ppc7400 -arch ppc64. That's causing a Git configure/link failure, so Git's configure is [silently] dropping cURL, which is [silently] removing the HTTP/HTTPS helpers.

真奇怪的是,其他八个依赖库在使用相同的步骤构建时很好。依赖库具有 -arch ppc -arch ppc64 的指示。其他库包括Zlib,Bzip,iConv,PCRE和OpenSSL。

The really odd thing is the other eight or so dependent libraries are fine when built using the same steps. The dependent libraries have both -arch ppc -arch ppc64 as instructed. The other libraries include Zlib, Bzip, iConv, PCRE, and OpenSSL.

我使用 $ grep -IR -i \-arch ppc7400* ,$ grep-IR -i\-arch* ,但我找不到更改的来源。

I've grepped the cURL sources with $ grep -IR -i "\-arch ppc7400" *, $ grep -IR -i "ppc7400" * and $ grep -IR -i "\-arch" *, but I cannot find the source of the change.

可能是更改的原因从 -arch ppc -arch ppc7400

What can be the cause of the change from -arch ppc to -arch ppc7400?

推荐答案

这不是git或curl特定的,实际上是编译器的一个特意功能。编译器注意到你是在OS X 10.5 Leopard上运行。 ppc7400是PowerPC G4处理器的架构,它是运行Leopard所需的最小处理器,因此编译器已将您对 -arch ppc 的请求更改为 -arch ppc7400 ,以生成将在最低支持的计算机上运行的最佳代码。如果你想支持运行早期G3处理器的Mac,这也意味着你需要支持在OS X 10.4上运行,OS X 10.4是支持G3的最后一个OS X版本。为此,将 -mmacosx-version-min = 10.4 标志传递给编译器,或者设置 MACOSX_DEPLOYMENT_TARGET 环境变量到 10.4

This is not git- or curl-specific, and is in fact an intentional feature of the compiler. The compiler has noticed you are running on OS X 10.5 Leopard. ppc7400 is the architecture of the PowerPC G4 processor, which is the minimum processor required to run Leopard, so the compiler has changed your request for -arch ppc into -arch ppc7400 in order to generate the best code that will run on the minimum supported computer. If you want to support Macs running the earlier G3 processor, then that also means you'll need to support running on OS X 10.4, which is the last OS X version to support the G3. To do that, pass the -mmacosx-version-min=10.4 flag to the compiler, or set the MACOSX_DEPLOYMENT_TARGET environment variable to 10.4.

我注意到从ppc到ppc7400的翻译只会发生, (即如果你也在同一时间为另一个架构建设)。我不知道为什么它不这样做,当只建一个拱门。

I've noticed that the translation from ppc to ppc7400 only happens if you are building universal (i.e. if you are also building for another architecture at the same time). I'm not sure why it doesn't do this when only building for a single arch.

这篇关于从“-arch ppc”到“-arch ppc7400”的变化原因?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆