2012-02-02 17 views
13

मैं कुछ स्थापित करने की कोशिश कर रहा हूं और यह मुझे एक त्रुटि फेंक रहा है: Permission denied जब मैं make चलाने की कोशिश करता हूं।जब मैं कुछ स्थापित करने के लिए "बनाने" का उपयोग करने का प्रयास करता हूं तो मुझे अनुमति क्यों अस्वीकार कर दी जाती है?

मैं यूनिक्स/लिनक्स के सार्वभौमिक नियमों का बहुत शौक नहीं हूं और उपयोगकर्ता अधिकारों का बहुत शौक नहीं हूं। मेरा सबसे अच्छा अनुमान यह है कि जिस उपयोगकर्ता में मैं लॉग इन हूं, उसके पास make आदेश चलाने के लिए विशेषाधिकार नहीं हैं, लेकिन उम्मीद है कि यह कुछ और है जो मुझे स्थापित करने की अनुमति नहीं दे रहा है।

मुझे Permission denied क्यों मिलता है और अनुमति देने का प्रयास करने के लिए मुझे क्या जांच या कॉन्फ़िगर करना चाहिए?

संपादित

त्रुटि संदेश:

gcc -I. -O3 -o pp-inspector pp-inspector.c 
make: execvp: gcc: Permission denied 
make: [pp-inspector] Error 127 (ignored) 
gcc -I. -O3 -c tis-vnc.c -DLIBOPENSSL -DLIBOPENSSLNEW -DLIBIDN -DHAVE_PR29_H -DLIBMYSQLCLIENT -DLIBPOSTGRES -DHAVE_MATH_H -I/usr/include/mysql 
make: execvp: gcc: Permission denied 
make: *** [tis-vnc.o] Error 127 
+0

आप sudo के रूप में चलाने? –

+0

मैंने कोशिश की, लेकिन जेरीड के जवाब – CheeseConQueso

उत्तर

11

कई स्रोत संकुल पर (सबसे जीएनयू सॉफ्टवेयर के लिए उदाहरण के लिए), इमारत प्रणाली के बारे में DESTDIR चर बनाने पता हो सकता है, तो आप अक्सर कर सकते हैं:

make install DESTDIR=/tmp/myinst/ 
sudo cp -va /tmp/myinst//

इस दृष्टिकोण का लाभ यह है कि make install है रूट के रूप में चलाने की आवश्यकता नहीं है, इसलिए आप रूट के रूप में संकलित फ़ाइलों (या अपने निर्माण पेड़ में रूट-स्वामित्व वाली फ़ाइलों) के साथ समाप्त नहीं हो सकते हैं।

7

हमें देते पूरे त्रुटि संदेश और अधिक उपयोगी होगा। यदि यह इंस्टॉल करने के लिए है तो आप शायद सिस्टम निर्देशिका में कुछ स्थापित करने की कोशिश कर रहे हैं और आप रूट नहीं हैं। यदि आपके पास रूट पहुंच है तो आप

sudo make install 

या रूट के रूप में लॉग इन कर सकते हैं और रूट के रूप में पूरी प्रक्रिया को चला सकते हैं।

+0

पर पहली टिप्पणी में एक ही त्रुटि मिली, धन्यवाद, मेरे प्रश्न को अपडेट किया और 'सुडो' भी कोशिश की लेकिन त्रुटि संदेश मिला 'ccq को cpanel03' – CheeseConQueso

+1

पर सुडो चलाने की अनुमति नहीं है मुझे लगता है कि मुझे मिल गया मेरे प्रश्न का उत्तर अब – CheeseConQueso

+0

तो यह कह रहा है कि आपको gcc चलाने की अनुमति नहीं है। ऐसा लगता है कि आप एक cpanel स्थापना पर हैं, आपको gcc चलाने की अनुमति भी नहीं दी जा सकती है। – Jarryd

3

मैं, आप के रूप में एक बहुत ही इसी तरह की त्रुटि संदेश था, हालांकि एक विशेष फ़ाइल लिस्टिंग:

$ make 
make: execvp: ../HoughLineExtractor/houghlineextractor.hh: Permission denied 
make: *** [../HoughLineAccumulator/houghlineaccumulator.o] Error 127 

$ sudo make 
make: execvp: ../HoughLineExtractor/houghlineextractor.hh: Permission denied 
make: *** [../HoughLineAccumulator/houghlineaccumulator.o] Error 127 

मेरे मामले में, मैं दिखाया गया है लाइन की निरंतरता से संकेत मिलता है ट्रेलिंग स्लैश करना भूल गया:

${LINEDETECTOR_OBJECTS}:\ 
    ../HoughLineAccumulator/houghlineaccumulator.hh # <-- missing slash!! 
    ../HoughLineExtractor/houghlineextractor.hh 

आशा है कि किसी अन्य व्यक्ति की सहायता करें जो यहां खोज इंजन से उतरता है।

2

समस्या 'सुरक्षित' जैसे mountpoints की स्थापना/tmp

वे noexec घुड़सवार रहे हैं के साथ अक्सर है (cat /etc/mtab और या sudo mount के साथ जांच) तो वहाँ किसी भी बाइनरी निष्पादित या स्क्रिप्ट का निर्माण करने की अनुमति नहीं है (अस्थायी) फ़ोल्डर के भीतर।

उदा। अस्थायी रूप से पुन: माउंट करने के लिए:

sudo mounte -o remount,exec /tmp 

या स्थायी रूप से बदलने के लिए, /etc/fstab

7

निष्पादित chmod 777 -R scripts/, यह मेरे लिए ठीक काम किया में noexec हटाने;)

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

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