2011-12-30 5 views
7

मेरे पास विश्वविद्यालय में एक शेल खाते तक पहुंच है लेकिन उपयोगकर्ता के रूप में कोई रूट विशेषाधिकार नहीं है। सर्वर उबंटू 8.04 - हार्डी चल रहा है। मैं अगले सेमेस्टर के यूनिक्स प्रोग्रामिंग कोर्स के लिए क्लैंग का उपयोग अपने सी कंपाइलर के रूप में करना चाहता हूं। जीसीसी स्थापित है लेकिन क्लैंग नहीं है, और विश्वविद्यालय के आईटी विभाग ने अपेक्षा की है कि सिस्टम पर क्लैंग स्थापित करने से इनकार कर दिया गया है।उपयोगकर्ता के रूप में क्लैंग स्थापित करें (कोई रूट विशेषाधिकार नहीं)?

क्या क्लैंग को मेरे घर निर्देशिका से उपयोगकर्ता के रूप में चलाने में संभव है? संभवतः मुझे स्रोत से संकलन करने की आवश्यकता होगी। मुझे केवल सी को संकलित करने की आवश्यकता है। मुझे इस कोर्स के लिए सी ++ या ओब्जे सी की आवश्यकता नहीं है।

+2

इसे करने का आसान तरीका: https://github.com/rsmmr/install-clang – mavam

उत्तर

8

आप ./configure --prefix=$HOME (या अगर आप चाहें तो अपनी होम निर्देशिका की कुछ उपनिर्देशिका) चलाकर या CMAKE_INSTALL_PREFIX के साथ सीएमके निर्माण और स्थापना का उपयोग करके ऑटोटूल इंस्टॉलेशन विधि का उपयोग कर अपने घर के नीचे कुछ निर्देशिका में सेट कर सकते हैं। पूर्व को here दस्तावेज किया गया है, केवल --prefix को कॉन्फ़िगर चरण में ध्वजांकित करें, और अंत में 'इंस्टॉल करें' चलाएं।

एक बार इंस्टॉल हो जाने के बाद, bin आपके PATH पर्यावरण चर में उपयोग किए गए किसी भी उपसर्ग की उपनिर्देशिका डालें, और आपको अच्छी तरह से जाना चाहिए। यह वास्तव में क्लैंग और एलएलवीएम के डेवलपर के रूप में नियमित रूप से क्लैंग का उपयोग करने का तरीका है।

संदर्भ के लिए, यह निश्चित रूप से स्थापना का एक तरीका है और इसका उपयोग करें कि हम (क्लैंग डेवलपर्स) समर्थन करना चाहते हैं। यदि आप समस्याओं में भाग लेते हैं, तो file bugs पर संकोच न करें या हमारे email lists या IRC channel (#llvm on irc.oftc.net) पर समर्थन के लिए पहुंचें।

+0

धन्यवाद। सिर्फ मेरी होम मशीन पर इसे किक्स के लिए आज़माएं (मेरे पास पहले से ही उस मशीन पर क्लैंग 2.9 इंस्टॉल है)। विश्वविद्यालय में मेरे उपयोगकर्ता खाते पर इसे आजमाने का मेरा प्रयास अपने सिस्टम पर मेरे होम निर्देशिका कोटा से अधिक हो गया। – haziz

+1

मशीन पर एक टीएमपी निर्देशिका में निर्माण करने के लिए चकमा देने का एक अच्छा तरीका है, और केवल अपनी होम निर्देशिका में स्थापित करें। एलएलवीएम और क्लैंग के लिए निर्माण प्रक्रिया बहुत सारे डेटा बनाती है। इसके अलावा, सुनिश्चित करें कि आप एक रिलीज बिल्ड w/o डीबग प्रतीकों का निर्माण कर रहे हैं। अन्यथा बाइनरी * विशाल * होगी। Autotools का उपयोग, './configure --enable-optimized' चाल करना चाहिए। –

+0

धन्यवाद। मैंने अपनी होम मशीन पर अपना क्लैंग 3.1/एलएलवीएम 3.0 स्थापित किया था। पूरी बिल्ड निर्देशिका के लिए परिणामी निर्देशिका (कंपाइलर-आरटी सहित) अभी भी 500 मेग्स है, विश्वविद्यालय में मेरी सीमा 150 मेगाहर्ट्ज है जिसमें 30 मेग्स पहले से ही पूर्ण है।डेबियन/उबंटू से डाउनलोड किया गया पैकेज अभी भी छोटा है (मान लीजिए कि मैं विस्तारित आकार के एपीटी-गेट के अनुमान पर भरोसा कर सकता हूं) इसलिए कुछ बिल्ड शायद अनियंत्रित हैं। हालांकि यकीन नहीं है कि कौन सा। बीटीडब्ल्यू, मेरी होम मशीन के साथ मैं क्लैंग मैन पेज कैसे प्राप्त करूं, जब मैंने क्लैंग के 2.9 संस्करण को अनइंस्टॉल किया तो उन्हें हटा दिया गया। – haziz

3

मुफ्त सॉफ्टवेयर के साथ, आप इसे हमेशा कॉन्फ़िगर कर सकते हैं और (यदि आवश्यक हो) पैच और अपनी आवश्यकताओं के अनुरूप इसे बेहतर बना सकते हैं। हालांकि, एक कंपाइलर (चाहे यह जीसीसी या क्लैंग हो) के लिए बहुत सारे संसाधनों (डिस्क स्पेस, कई गीगाबाइट्स, और रैम & सीपीयू टाइम) की आवश्यकता होती है, और आपके कुछ समय और प्रयासों की आवश्यकता होती है।

क्लैंग भवन और स्थापना here दस्तावेज है। मुझे लगता है कि इसकी configure स्क्रिप्ट -समूह यह GCC के समान है---prefix जैसे तर्क स्वीकार करता है (जिसे आप $HOME/pub पर सेट कर सकते हैं)। आपको आवश्यक निर्भरताओं को भी बनाने की आवश्यकता हो सकती है।

2

जैसा कि प्रोजेक्ट autotools का उपयोग प्रतीत होता है, आप configure प्रोग्राम (उदा। --prefix=$HOME/clang) पर कमांड लाइन पैरामीटर के साथ स्थापना गंतव्य को बदल सकते हैं। ./configure --help चल रहा है और INSTALL टेक्स्ट फ़ाइल पढ़ने से आपको और जानकारी मिल जाएगी।

यदि पहले से स्थापित नहीं है, तो आपको LLVM भी बनाना होगा, जो मूल परियोजना (निम्न स्तर वर्चुअल मशीन) भी है। Installation instructions दोनों के लिए क्लैंग वेबसाइट पर उपलब्ध हैं।

संबंधित मुद्दे