arm-eabi-gcc: बाइनरी फ़ाइल निष्पादित नहीं कर सकता


3

मैं विशेष रूप से AOSP 5.1.1 (नेक्सस 7 - ग्रूपर) से एक ROM बनाने की कोशिश कर रहा हूं। हालाँकि, कुछ समय पहले मैं कर्नेल का निर्माण करते समय इस भाग पर अटक गया।

निम्न आदेश ठीक काम करता है: make tegra3_android_defconfig जब मैं लिखता हूं तो समस्या शुरू होती है:make -j4

यह दुर्घटनाग्रस्त होता है और कहता है:

फ़ाह्स-एमबीपी: तेग फ़हद $ मेक -j4
/volumes/untitled/tegra/../WORKING_DIRECTORY/prebuilts/gcc/linux-x86/arm-eabi-4.8/bin/arm-eabi-gcc :/ololumes/untitled/tegra/../WORKING_DIRECTORY/prebuilts/ gcc / linux-x86 / arm / arm-eabi-4.8 / bin / arm-eabi-gcc: आप फ़ाइल का विरोध नहीं कर सकते
      CHK में / linux / version.h शामिल हैं
      सीएचके में शामिल / उत्पन्न / utsrelease.h
      UPD में शामिल / जनरेट / utsrelease.h
      HOSTCC स्क्रिप्ट / मूल / फिक्सड
      जनरेटिंग / जनरेट / मच-टाइप.ह
      सीसी कर्नेल / सीमा
    :
    बनाना [१]: *** [कर्नेल / सीमाएँ] १२६ त्रुटि
    बनाना: *** [तैयार ०] त्रुटि २

    #### कुछ लक्ष्य बनाने में असफल रहे (2 सेकंड) ####

मैंने कमान चलाई

chmod 777 भुजा- eabi-gcc

तथा

chmod + x बांह- eabi-gcc

लेकिन फिर भी कोई फायदा नहीं हुआ। यह बाइनरी फ़ाइल त्रुटि को निष्पादित नहीं कर सकता है। कोई सुझाव?


क्या आप उस फ़ाइल पर कमांड फ़ाइल चलाने के आउटपुट को पेस्ट कर सकते हैं?
रुई एफ रिबेरो

जब मैं उस कमांड फाह्स-एमबीपी को चलाता हूं तो कोई विशिष्ट आउटपुट नहीं है: बिन फहद $ चामोद + एक्स आर्म-एग-गीक फहद-एमबीपी: बिन फहद $
फहद

मैं स्पष्ट नहीं था। कृपया $ फ़ाइल आर्म-ईबी-जीसीसी
रुई एफ रिबेरो

arm-eabi-gcc: ELF 64-बिट LSB निष्पादन योग्य, x86-64, संस्करण 1 (SYSV), गन्यू / लिनक्स 2.6.8 के लिए गतिशील रूप से जुड़ा हुआ (उपयोग किए गए लिबास का उपयोग करता है), छीन लिया गया
fahad

जवाबों:


1

"बाइनरी फ़ाइल निष्पादित नहीं कर सकता" अनुमति के बारे में नहीं है, इसलिए chmodआपकी मदद नहीं करेगा।

(ओह, और कभी नहीं का उपयोग chmod 777यह समाधान नहीं है आप कुछ निष्पादित करने के लिए कोशिश करते हैं और गलती से हुआ है "अनुमति अस्वीकृत", तो जोड़ने अनुमतियाँ निष्पादित chmod a+xकरें:।। ।)

इस संदेश का अर्थ है कि आपके पास एक बाइनरी फ़ाइल (स्क्रिप्ट नहीं) है जो कर्नेल को मान्य प्रोग्राम प्रारूप के रूप में नहीं पहचानता है। निर्देशिका के नाम को देखते हुए linux-x86, यह एक x86 निष्पादन योग्य है।

शीघ्रता को देखते हुए, ऐसा प्रतीत होता है कि आप एआरएम टैबलेट पर कर्नेल बनाने की कोशिश कर रहे हैं। आप ARM प्रोसेसर पर x86 एक्ज़ीक्यूटेबल नहीं चला सकते। आपको एआरएम के लिए संकलक बायनेरिज़ की आवश्यकता होगी, जो एंड्रॉइड ट्री में मौजूद नहीं हैं। सबसे सरल समाधान एक पीसी पर निर्माण करना होगा। यदि आप वास्तव में टैबलेट पर बिल्ड करना चाहते हैं, तो उचित संकलक बायनेरिज़ प्राप्त करें (सही परिवाद के लिए; एआरएम प्लेटफार्मों पर कई अलग-अलग एबीआई हैं और सही की पहचान करना थोड़ा मुश्किल हो सकता है)।


देखें डेवलपर cross compile android on linux
on

@cas और एकमात्र समर्थित होस्ट प्लेटफॉर्म {लिनक्स, विंडोज, ओएसएक्स} - {x86, amd64} हैं। एआरएम होस्ट प्लेटफ़ॉर्म आधिकारिक तौर पर समर्थित नहीं हैं, और मुझे नहीं लगता कि इसे स्थापित करना आसान होगा।
गिल्स

@ गिल्स मैं डार्विन पर एक मैक 2015 मशीन पर कर्नेल बना रहा हूं। इसलिए यह अनुचित रूप से लगता है कि एआरएम प्रोसेसर पर एक x86 निष्पादन योग्य चल रहा है मुद्दा हो सकता है। कोई अन्य सुझाव या मार्ग जो आपको लगता है कि मुझे पता लगाना चाहिए?
फहद

@ फहद आह, ठीक है। समान अंतर: आप OSX पर लिनक्स बाइनरी चलाने का प्रयास कर रहे हैं। मुझे नहीं पता कि बिल्ड स्क्रिप्ट क्यों उठा रही हैं। कैस द्वारा उल्लिखित गाइड का पालन ​​करें । आपको कॉल करने की आवश्यकता हो सकती है make-standalone-toolchain.sh
गिल्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.