2013-10-28 12 views
7

मेरे पास उबंटू 13.10 (64-बिट) पर मेरे घर फ़ोल्डर में एक क्रॉस-कंपाइलर है। मैंने इसे पृष्ठ के निचले हिस्से में here डाउनलोड किया जहां यह "प्रीबिल्ट टूलचेन्स" कहता है।सीसी 1: साझा लाइब्रेरी लोड करते समय त्रुटि: libmpc.so.2: साझा ऑब्जेक्ट फ़ाइल नहीं खोल सकता: ऐसी कोई फ़ाइल या निर्देशिका

cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory 

एक छोटे से मैं this पाया Goggling के बाद: जब मैं कुछ संकलित करने के लिए कोशिश यह मुझे इस देता है। मैंने उन आदेशों की कोशिश की जिन्हें लेखक ने प्रवेश करने के लिए लिखा था; लेकिन वे मेरी मदद नहीं करेंगे, क्योंकि मुझे होम डिक्शनरी से क्रॉस-कंपाइलर के साथ यह समस्या है, सिस्टम कंपाइलर नहीं। क्या कोई मदद कर सकता है?

संपादित करें: मैं भी एक विधानसभा एटी & टी सिंटैक्स() kernel_main कॉल में लिखा फ़ाइल है

void print(char *message, int line,int ch){ 
    char *vm=(char *)0xb8000; 
    int i=(line*80*2); 
    i=i+(ch*2); 
    while(*message!=0){ 
    if (*message=='\n'){line++; 
    i=(line*80*2);} 
    else {vm[i]=*message; 
    i++; 
    vm[i]=0x07; 
    i++;} *message++;}} 

void kernel_main(){ 
print("Hello!\nHow do you like my kernel?",0,0);} 

: यहाँ फ़ाइल मैं पार संकलन करने की कोशिश कर रहा हूँ।

export LD_LIBRARY_PATH="/usr/local/lib" 
sudo ldconfig 

ldconfig जादू है: के बाद मैं जारी कर दिया था निम्न कमांड

+1

आप अधिक विस्तृत विवरण प्रदान करें कर सकते हैं? कौन सा क्रॉस कंपाइलर, आप किस कमांड का उपयोग कर रहे हैं, आप किस सिस्टम पर हैं, आदि – Josh

+0

मैंने अभी एक ही जगह से एक और क्रॉस-कंपाइलर डाउनलोड किया है, यह वही काम करता है। क्या मुझे उबंटू के बजाय फेडोरा का प्रयास करना चाहिए? या वह सिर्फ थका हुआ है? –

+0

मैंने इसे फेडोरा पर अभी कोशिश की और यह भी काम नहीं किया। क्या कोई अपने हार्डवेयर पर os-dev.org से i386-elf क्रॉस-कंपाइलर आज़मा सकता है? शायद यह सिर्फ मेरा कंप्यूटर है जिसमें किसी कारण से यह समस्या है। –

उत्तर

8

मेरे त्रुटि गायब हो गया।

+0

libstdC++। तो.6.0.20-gdb।पीई एक ईएलएफ फ़ाइल नहीं है - इसमें गलत जादू बाइट्स शुरू हो गए हैं। –

1

क्या आप libpc.so.3 में/usr/lib या/usr/lib64 में मिल सकते हैं? अगर आपको यह वही चीज़ मिलती है, तो आपको इसे libmpc.so.2 फ़ाइल से बदलना होगा। वह फ़ाइल अलग लिनक्स संस्करण में कम पाई जा सकती है।

+1

मेरे मामले में मैंने libmpc.so.2 को libmpc.so.3 से जोड़ा और पुनः संकलित किया और ऐसा लगता है कि यह भी काम करता है। :-) – tudor

0

libmpc (i.e. libmpc.2.dynlib) का संस्करण 2 स्रोत के 0.7 - 0.9 संस्करणों से बना है (www.multiprecision.org पर डाउनलोड अभिलेखागार खोजें)। 0.9 से पहले के संस्करण GMP के नए संस्करणों के साथ असंगत प्रतीत होते हैं, इसलिए मैं इसे पहले बनाने की कोशिश करता हूं। MPC-0.9 dirctory में फिर

brew tap homebrew/versions 
brew install gcc48 
brew install gmp 
brew install mpfr 

:: मैं का निर्माण और जीसीसी 4.8, जीएमपी, और mpfr स्थापित करने के बाद मेरी OSX एल कैप्टन सिस्टम पर 0.9 का उपयोग करने में सक्षम था

./configure --with-gmp=/usr/local/Cellar/gmp/6.1.0 --with-mpfr=/usr/local/Cellar/mpfr/3.1.3 
make 
sudo make install 
0

मैं के रूप में cc1: error while loading shared libraries: libmpc.so.2 हल इस प्रकार है:

रेपो के माध्यम से स्थापित libmpc3 और सिमलिंक बनाना (गंदा विधि है, लेकिन काम किया):

sudo apt-get install libmpc* 

या (यदि i386 के लिए toolchain):

sudo apt-get install libmpc*:i386 
/usr/lib/i386-linux-gnu में i386 के लिए

या में /usr/lib/x86_64-linux-gnu amd64 के लिए:

sudo ln -s libmpc.so.3.0.0 libmpc.so.2 
संबंधित मुद्दे

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