วิธีการรวบรวม mod_wsgi, mod_fastcgi และอื่น ๆ บน Mountain Lion (Mavericks) โดยการแก้ไข `apxs: ข้อผิดพลาด: คำสั่งล้มเหลวด้วย rc = 65536`


22

ฉันได้อัปเดตเป็น OS X Mountain Lion แล้ว การอัปเดตได้ลบโมดูล python และ apache ของฉันทั้งหมดรวมถึง mod_wsgi

ตอนนี้ฉันกำลังพยายามคอมไพล์ mod_wsgi อีกครั้ง (มันเรียบเรียงโดยไม่มีปัญหากับ Lion)

ฉันใช้ซอร์สโค้ดจากที่นี่: http://code.google.com/p/modwsgi/wiki/DownloadTheSoftware?tm=2

./configure สร้าง Makefile โดยไม่มีปัญหา:

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

แต่ให้ส่งคืนข้อผิดพลาด:

$ 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

คำตอบ:


32

ฉันแก้ไขปัญหานี้ในขณะที่เขียนคำถาม:

สำหรับ/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/โฟลเดอร์เหตุผลบางอย่าง(ที่มี Xcode Command Line Tools) อยู่ที่นี่:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain

ในการแก้ไขปัญหา:

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

ข้อเสนอแนะของ Greg Bair สำหรับ Mavericks:

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

สิ่งนี้จะสร้าง symlink ไปยังโฟลเดอร์ที่ถูกต้อง


4
ควรเน้นว่านี่เป็นปัญหาของการกำหนดค่า apxs build ที่ Apple ให้มาเท่าที่ฉันรู้และไม่เกี่ยวข้องกับ mod_wsgi มันเกิดขึ้นก่อนที่จะมีการปล่อย Mountain Lion และมีคนให้คำติชมแก่ Apple แต่อย่างใด Apple ไม่สามารถแก้ไขได้ อาจเป็นไปได้ว่าปัญหานี้จะมีผลต่อความพยายามในการสร้างโมดูล Apache โดยใช้ apx และไม่ใช่แค่ mod_wsgi
เกรแฮมดัมเปิลตัน

ปัญหาที่ฉันส่งดูเหมือนจะเกี่ยวข้องกับการใช้ประโยชน์ ด้วยเหตุผลบางอย่างมันคิดว่าคอมไพเลอร์ (gcc) ตั้งอยู่ในโฟลเดอร์อื่น มันสามารถแก้ไขได้โดยการสร้าง symlink (ดูคำตอบของฉันสำหรับรายละเอียด) sudo ทำการติดตั้งหลังจากนั้นก็ใช้งานได้
Daniil Ryzhkov

การสันนิษฐานตำแหน่งไฟล์เดียวกันกับ MacOS X รุ่นเก่าปัญหาจะอยู่ในคำจำกัดความใน /usr/share/httpd/build/config_vars.mk ซึ่ง apx ใช้
เกรแฮมดัมเปิลตัน

ตามที่ @GrahamDumpleton แนะนำวิธีแก้ไขนี้ยังแก้ไขปัญหาเกี่ยวกับ mod_fastcgi v2.4.6
Graham Miln

3
โปรดทราบว่าวิธีนี้ใช้ได้กับ Mavericks ด้วยเช่นกัน $ sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain
Greg Bair

2

วิ่งเข้าไปในปัญหาเดียวกันอย่างไรก็ตามการสร้าง symlink ไม่ได้ช่วยแก้ปัญหาให้ฉัน สิ่งที่ทำงานได้เพิ่มการตั้งค่าสถานะ--disable-frameworkลงใน./configureคำสั่ง ดูส่วนสำคัญสำหรับรายละเอียดเพิ่มเติม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.