मैं यह कैसे निर्दिष्ट करूँ कि वास्तविक C संकलक के रूप में क्या उपयोग किया जाता है?


1

मेरे पास माउंटेन लायन पर एक कॉन्फ़िगर है जो मुसीबत में चल रहा है:

[snip]
checking for gcc...
/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc
checking whether the C compiler works... no
configure: error: in `/Users/jonathan/Downloads/httpd-2.4.4':
configure: error: C compiler cannot create executables
See `config.log' for more details

इस बीच, मैंने अभी-अभी Xcode खोला है और कमांड-जैसे टूल इंस्टॉल किए हैं, जिनमें / usr / bin / gcc शामिल है।

क्या कोई तरीका है जो मैं कॉन्फ़िगर स्क्रिप्ट को लागू कर सकता हूं, इसलिए यह सी कंपाइलर के रूप में / usr / bin / gcc लेगा?

और जब मैंने निर्दिष्ट किया:

CC=/usr/bin/gcc

यह देता है:

checking how to run the C preprocessor... /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc -E
configure: error: in `/Users/jonathan/Downloads/httpd-2.4.4':
configure: error: C preprocessor "/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc -E" fails sanity check
See `config.log' for more details

अभी के लिए मैं पूछता हूँ: मैं इसे कैसे बताता हूँ कि C प्रीप्रोसेसर के रूप में क्या उपयोग करना है?

(लंबे समय तक मैं जो जानना चाहूंगा वह यह है कि यह मानक कमांड लाइन टूल के बारे में क्यों नहीं जानता और एक गूढ़ जगह से सी-संबंधित कार्यक्षमता को खींचता है।


शायद मैंने आपके सवाल को गलत समझा। क्या आपने यह सुनिश्चित करने के लिए config.log की जाँच की है कि आप उस निर्देशिका में नहीं लिख रहे हैं जहाँ वर्तमान उपयोगकर्ता की कोई लिखित अनुमति नहीं है? यह कॉन्फ़िगर समस्या का अधिक हो सकता है और संकलक समस्या बिल्कुल नहीं।
bmike

मैंने config.log की जाँच नहीं की, लेकिन मैं रूट के रूप में स्थापित कर रहा था, जो शायद बिना अनुमति के मोड 000 के लिए काम नहीं करता है, लेकिन जो मैं प्रयास कर रहा था उसके लिए पर्याप्त विशेषाधिकार होना चाहिए।
क्रिस्टोइस हेवर्ड

हाँ - किसी भी संस्थापन समस्या से बचने के लिए sudo या root पर्याप्त से अधिक होना चाहिए। यदि इंस्टॉलर उन चीजों को छोड़ रहा है जहां एक एसीएल या अन्य स्पष्ट लेखन लॉक है, तो मुझे बहुत आश्चर्य होगा।
bmike

Config.log में क्या है
मार्क

जवाबों:


1

Apple का gcc बाइनरी वास्तव में llvm है

Mac:~ bmike$ which gcc
/usr/bin/gcc
Mac:~ bmike$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

यदि आपको gcc की आवश्यकता है और आपको gcc की आवश्यकता नहीं है, तो आप homebrew या स्रोत से gcc प्राप्त करना चाहते हैं ।

विभिन्न ब्लॉगों पर अच्छी पढ़ने वाली गालियाँ:

एक बार जब आप gccइंस्टॉल किए गए वास्तविक संस्करण को प्राप्त कर लेते हैं , तो export CC=/usr/local/bin/gccआप पर्यावरण चर को मैच के लिए सेट करने के लिए जो कुछ भी आप कर सकते हैं, वह कर सकते हैं या नहीं।


हालांकि योयो को शायद वास्तविक gcc की आवश्यकता नहीं है। llvm पर्याप्त होना चाहिए और कई मामलों में बेहतर है।
मार्क

मार्क का अधिकार है कि लंबे समय में, एलएलवीएम के तहत अपने पैकेज का निर्माण करना आदर्श है, लेकिन अक्सर यदि आप कुछ ऐसा डाउनलोड कर रहे हैं जो जीसीसी के लिए जीसीसी और परीक्षण की उम्मीद करता है और जीसीसी का पता नहीं लगने पर असफल हो जाता है, बस जीसीसी प्राप्त करना समीचीन कार्य है।
bmike
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.