¿Causa del cambio de `-arch ppc` a` -arch ppc7400`?

Esto está relacionado con Git 2.4.8 creado a partir de fonts de kernel.org y faltantes de ayuda HTTP / HTTPS .

Encontré que la biblioteca de cURL se configuró de manera efectiva con -arch ppc -arch ppc64 , pero la biblioteca gorda que se construyó tiene las architectures -arch ppc7400 -arch ppc64 . Eso está causando una falla en la configuration / enlace de Git, por lo que la configuration de Git es [silenciosamente] eliminando cURL, que está [silenciosamente] eliminando los ayudantes HTTP / HTTPS.

Lo realmente extraño es que las otras ocho bibliotecas dependientes están bien cuando se construyen usando los mismos pasos. Las bibliotecas dependientes tienen ambos -arch ppc -arch ppc64 tal como se indica. Las otras bibliotecas incluyen Zlib, Bzip, iConv, PCRE y OpenSSL.

He grepped las fonts de cURL con $ grep -IR -i "\-arch ppc7400" * , $ grep -IR -i "ppc7400" * y $ grep -IR -i "\-arch" * , pero no puedo encontrar la fuente del cambio

¿Cuál puede ser la causa del cambio de -arch ppc a -arch ppc7400 ?

Esto no es específico de git- o curl, y de hecho es una característica intencional del comstackdor. El comstackdor ha notado que se está ejecutando en OS X 10.5 Leopard. ppc7400 es la architecture del procesador PowerPC G4, que es el procesador mínimo requerido para ejecutar Leopard, por lo que el comstackdor ha cambiado su request de -arch ppc -arch ppc7400 en -arch ppc7400 para generar el mejor código que se ejecutará en la computadora mínima compatible . Si desea admitir Mac que ejecutan el procesador G3 anterior, eso significa que deberá admitir la ejecución en OS X 10.4, que es la última versión de OS X compatible con G3. Para hacerlo, pase el -mmacosx-version-min=10.4 al comstackdor o establezca la variable de entorno MACOSX_DEPLOYMENT_TARGET en 10.4 .

Me he dado count de que la traducción de ppc a ppc7400 solo ocurre si está construyendo universales (es decir, si también está construyendo para otra architecture al mismo time). No estoy seguro de por qué no hace esto cuando solo se construye para un solo arco.

¿Cuál puede ser la causa del cambio de -arch ppc a -arch ppc7400?

Ryan estaba en lo correcto con respecto a "… el comstackdor ha cambiado su request de -arch ppc en -arch ppc7400 para generar el mejor código" . Está documentado en el manual de GCC 3.17.10 Darwin Options .

Sin embargo, algunas otras afirmaciones en la respuesta no fueron del todo claras, por lo que debo proporcionar una respuesta para aclararlas en caso de que otras personas encuentren útil la pregunta y la respuesta. Primero, el hardware es un Mac G5, no un G4.

En segundo lugar, no está claro si el comportamiento está codificado de forma rígida en el comstackdor o proviene de un file de specs .

En tercer lugar, experimenté el problema desde un estándar ./configure && make ; y no llamando a un binary universal o gordo. Me hubiera encantado si ./configure && make en todas las bibliotecas y progtwigs produjera código para PPC , PPC970 o PPC7400 . Cambié a binarys universales o gordos en un bash de tomar el control total de la situación.

En cuarto lugar, Mac G4 y OS X 10.4 no tienen nada que ver con el problema.

Finalmente, el problema se puede resolver con bastante facilidad sin las opciones específicas de OS X SDK utilizando:

 export CFLAGS="-force_cpusubtype_ALL" 

-force_cpusubtype_ALL puede ser necesario en LDFLAGS , pero depende de cómo la biblioteca esté utilizando Autotools. Para la mayoría de las bibliotecas, fue suficiente para proporcionar -force_cpusubtype_ALL en CFLAGS . PCRE fue la exception a la regla.