Bagaimana cara mengkompilasi mod_wsgi, mod_fastcgi, dll di Mountain Lion (Mavericks) dengan memperbaiki `apxs: Error: Command gagal dengan rc = 65536`?

22

Saya telah memperbarui ke OS X Mountain Lion. Pembaruan telah menghapus semua modul python dan apache saya termasuk mod_wsgi.

Sekarang saya mencoba untuk mengkompilasi ulang mod_wsgi (dikompilasi tanpa masalah pada Lion).

Saya menggunakan kode sumber dari sini: http://code.google.com/p/modwsgi/wiki/DownloadTheSoftware?tm=2

./configure membuat Makefile tanpa masalah:

$ ./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

Namun buat kesalahan pengembalian:

$ 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
Daniil Ryzhkov
sumber

Jawaban:

32

Saya memecahkan masalah ini saat menulis pertanyaan:

Untuk beberapa alasan /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/folder (berisi Alat Baris Perintah Xcode) ada di sini:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain

Menyelesaikan masalah:

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

Saran Greg Bair untuk Mavericks:

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

Ini menciptakan symlink ke folder kanan.

Daniil Ryzhkov
sumber
4
Harus disorot bahwa ini adalah masalah dengan konfigurasi apxs build yang disediakan Apple sejauh yang saya tahu dan tidak ada hubungannya dengan mod_wsgi. Itu muncul sebelum Mountain Lion dirilis dan seseorang memberikan umpan balik kepada Apple entah bagaimana, tetapi Apple tidak memperbaikinya. Kemungkinan masalah ini akan memengaruhi setiap upaya untuk membangun modul Apache menggunakan apxs dan bukan hanya mod_wsgi.
Graham Dumpleton
Masalah yang saya ajukan sepertinya membuat utilitian terkait. Untuk beberapa alasan ia berpikir bahwa kompiler (gcc) terletak di folder lain. Ini hanya dapat diperbaiki dengan membuat symlink (lihat jawaban saya untuk detail). sudo make install setelah itu juga berfungsi.
Daniil Ryzhkov
Menganggap lokasi file yang sama dengan MacOS X yang lebih lama, masalah ini akan menjadi definisi di /usr/share/httpd/build/config_vars.mk yang digunakan apxs.
Graham Dumpleton
Seperti yang disarankan @GrahamDumpleton, solusi ini juga memperbaiki masalah dengan mod_fastcgi v2.4.6.
Graham Miln
3
Perhatikan bahwa ini juga berfungsi untuk Mavericks, tetapi itu akan terjadi $ sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain
Greg Bair
2

Berlari ke masalah yang sama, namun membuat symlink tidak menyelesaikannya untuk saya. Apa yang berhasil adalah menambahkan bendera --disable-frameworkke ./configureperintah. Lihat intinya untuk lebih jelasnya.

talonsensei
sumber