Làm cách nào để biên dịch mod_wsgi, mod_fastcgi, v.v. trên Mountain Lion (Mavericks) bằng cách sửa `apxs: Error: Lệnh thất bại với rc = 65536`?


22

Tôi đã cập nhật lên OS X Mountain Lion. Cập nhật đã xóa tất cả các mô-đun python và apache của tôi, bao gồm cả mod_wsgi.

Bây giờ tôi đang cố gắng biên dịch lại mod_wsgi (nó được biên dịch mà không gặp vấn đề gì với Lion).

Tôi sử dụng mã nguồn từ đây: http://code.google.com.vn/p/modwsgi/wiki/DoadTheSoftware?tm=2

./có thể tạo Makefile mà không gặp vấn đề gì:

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

Nhưng thực hiện trả về lỗi:

$ 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

Câu trả lời:


32

Tôi đã giải quyết vấn đề này trong khi viết câu hỏi:

Đối với một số /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/thư mục lý do (chứa Công cụ dòng lệnh Xcode) ở đây:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain

Để khắc phục sự cố:

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

Đề xuất của Greg Bair cho Mavericks:

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

Điều này tạo ra symlink đến thư mục bên phải.


4
Cần nhấn mạnh rằng đây là một vấn đề với cấu hình xây dựng apxs mà Apple cung cấp theo như tôi biết và không liên quan gì đến mod_wsgi. Nó đã xuất hiện trước khi Mountain Lion được phát hành và ai đó đã cung cấp phản hồi cho Apple bằng cách nào đó, nhưng Apple đã không sửa nó. Có khả năng vấn đề này sẽ ảnh hưởng đến mọi nỗ lực xây dựng các mô-đun Apache bằng apxs chứ không chỉ mod_wsgi.
Graham Dumpleton

Vấn đề tôi gửi dường như được sử dụng liên quan. Vì một số lý do, nó nghĩ rằng trình biên dịch (gcc) nằm trong thư mục khác. Nó chỉ đơn giản là có thể sửa chữa bằng cách tạo symlink (xem câu trả lời của tôi để biết chi tiết). sudo thực hiện cài đặt sau đó cũng hoạt động.
Daniil Ryzhkov

Giả sử vị trí tệp giống như MacOS X cũ hơn, vấn đề sẽ nằm ở các định nghĩa trong /usr/share/httpd/build/config_vars.mk mà apxs sử dụng.
Graham Dumpleton

Như @GrahamDumpleton đề xuất, giải pháp này cũng khắc phục sự cố với mod_fastcgi v2.4.6.
Graham Miln

3
Lưu ý rằng điều này cũng hoạt động cho Mavericks, nhưng nó sẽ là $ sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain
Greg Bair

2

Chạy vào cùng một vấn đề, tuy nhiên việc tạo liên kết tượng trưng không giải quyết được cho tôi. Những gì đã làm là thêm cờ --disable-frameworkvào ./configurelệnh. Xem ý chính để biết thêm chi tiết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.