Wie kompiliert man mod_wsgi, mod_fastcgi, etc auf Mountain Lion (Mavericks), indem man `apxs: Error: Befehl mit rc = 65536` fehlschlägt?


22

Ich habe auf OS X Mountain Lion aktualisiert. Das Update hat alle meine Python- und Apache-Module einschließlich mod_wsgi entfernt.

Jetzt versuche ich, mod_wsgi neu zu kompilieren (es wurde ohne Probleme auf Lion kompiliert).

Ich verwende Quellcode von hier: http://code.google.com/p/modwsgi/wiki/DownloadTheSoftware?tm=2

./configure erstellt ein Makefile ohne Probleme:

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

Aber Rückgabefehler machen:

$ 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

Antworten:


32

Ich habe dieses Problem beim Verfassen der Frage gelöst:

Aus irgendeinem Grund befindet sich der /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/Ordner (der Xcode Command Line Tools enthält) hier:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain

Um das Problem zu lösen:

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

Greg Bair Vorschlag für Mavericks:

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

Dadurch wird ein Symlink zum richtigen Ordner erstellt.


4
Hervorzuheben ist, dass dies ein Problem mit der von Apple bereitgestellten apxs-Build-Konfiguration ist und nichts mit mod_wsgi zu tun hat. Es kam vor der Veröffentlichung von Mountain Lion und jemand gab Apple irgendwie Feedback, aber Apple hat es nicht repariert. Es ist wahrscheinlich, dass sich dieses Problem auf jeden Versuch auswirkt, Apache-Module mit apxs und nicht nur mit mod_wsgi zu erstellen.
Graham Dumpleton

Das Problem, das ich eingereicht habe, scheint mit der Nutzung verbunden zu sein. Aus irgendeinem Grund wird angenommen, dass sich der Compiler (gcc) in einem anderen Ordner befindet. Es kann einfach durch Erstellen eines Symlinks behoben werden (siehe meine Antwort für Details). sudo make install danach funktioniert auch.
Daniil Ryzhkov

Vorausgesetzt, der Speicherort ist derselbe wie bei älteren MacOS X-Versionen, liegt das Problem in den Definitionen in /usr/share/httpd/build/config_vars.mk, die von apxs verwendet werden.
Graham Dumpleton

Wie @ Abraham Dumpleton vorschlägt, behebt diese Lösung auch Probleme mit mod_fastcgi v2.4.6.
Graham Miln

3
Beachten Sie, dass dies auch für Mavericks funktioniert, aber es wäre $ sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain
Greg Bair

2

Bin auf dasselbe Problem gestoßen, aber das Erstellen des Symlinks hat es für mich nicht gelöst. Was funktionierte, war das Hinzufügen des Flags --disable-frameworkzum ./configureBefehl. Weitere Einzelheiten finden Sie in der Übersicht .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.