Come compilare mod_wsgi, mod_fastcgi, ecc su Mountain Lion (Mavericks) correggendo `apxs: Errore: comando non riuscito con rc = 65536`?


22

Ho aggiornato a OS X Mountain Lion. L'aggiornamento ha rimosso tutti i miei moduli python e apache incluso mod_wsgi.

Ora sto provando a ricompilare mod_wsgi (compilato senza problemi su Lion).

Uso il codice sorgente da qui: http://code.google.com/p/modwsgi/wiki/DownloadTheSoftware?tm=2

./configure crea Makefile senza problemi:

$ ./configure
checking for apxs2... no
checking for apxs... /usr/sbin/apxs
checking Apache version... 2.2.22
checking for python... /usr/bin/python
configure: creating ./config.status
config.status: creating Makefile

Ma errore di reso:

$ make
/usr/sbin/apxs -c -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -DENABLE_DTRACE -DMACOSX -DNDEBUG -DNDEBUG -DENABLE_DTRACE  -Wc,'-arch x86_64' mod_wsgi.c -Wl,-F/System/Library/Frameworks -framework Python -u _PyMac_Error /System/Library/Frameworks/  -arch x86_64 -ldl  -framework CoreFoundation  
/usr/share/apr-1/build-1/libtool --silent --mode=compile /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc    -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -I/usr/local/include -I/usr/include/apache2  -I/usr/include/apr-1   -I/usr/include/apr-1  -arch x86_64 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -DENABLE_DTRACE -DMACOSX -DNDEBUG -DNDEBUG -DENABLE_DTRACE  -c -o mod_wsgi.lo mod_wsgi.c && touch mod_wsgi.slo
env: /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc: No such file or directory
apxs:Error: Command failed with rc=65536
.
make: *** [mod_wsgi.la] Error 1

Risposte:


32

Ho risolto questo problema mentre scrivevo la domanda:

Per qualche motivo la /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/cartella (contenente Xcode Command Line Tools) è qui:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain

Per fissare il problema:

$ sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain

Suggerimento di Greg Bair per Mavericks:

$ sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain

Questo crea un collegamento simbolico alla cartella giusta.


4
Va sottolineato che questo è un problema con la configurazione build di apxs che Apple ha fornito per quanto ne so e niente a che fare con mod_wsgi. È venuto prima che Mountain Lion venisse rilasciato e qualcuno in qualche modo ha fornito feedback ad Apple, ma Apple non ha risolto il problema. È probabile che questo problema incida su qualsiasi tentativo di compilare moduli Apache usando apxs e non solo mod_wsgi.
Graham Dumpleton,

Il problema che ho presentato sembra essere correlato all'utilità. Per qualche ragione pensa che il compilatore (gcc) si trovi in ​​un'altra cartella. È semplicemente risolvibile creando un collegamento simbolico (vedi la mia risposta per i dettagli). sudo make install dopodiché funziona anche.
Daniil Ryzhkov,

Presumendo la stessa posizione del file di MacOS X precedente, il problema si troverà nelle definizioni in /usr/share/httpd/build/config_vars.mk che utilizza apxs.
Graham Dumpleton,

Come suggerisce @GrahamDumpleton, questa soluzione risolve anche i problemi con mod_fastcgi v2.4.6.
Graham Miln,

3
Nota che questo funziona anche per Mavericks, ma lo sarebbe $ sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain
Greg Bair,

2

Si è imbattuto nello stesso problema, tuttavia la creazione del collegamento simbolico non l'ha risolto per me. Ciò che ha funzionato è stato l'aggiunta del flag --disable-frameworkal ./configurecomando. Vedi l' essenza per maggiori dettagli.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.