2013-10-28 31 views
7

私のホームフォルダには、Ubuntu 13.10(64-bit)のクロスコンパイラがあります。ページの下部に「Prebuilt Toolchains」と書かれたhereをダウンロードしました。私はthisを見つけた少しgoggling後cc1:共有ライブラリの読み込み中にエラーが発生しました:libmpc.so.2:共有オブジェクトファイルを開くことができません。そのようなファイルまたはディレクトリはありません

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

:私は何かをコンパイルしようとすると、それは私にこれを提供します。私は作者が書いたコマンドを入力しようとしました。システムコンパイラではなく、ホームディクショナリからのクロスコンパイラでこの問題が発生しているので、私は助けにならないでしょう。誰も助けることができますか?

EDIT:

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);} 

私も(kernel_main呼び出す& T構文ATで書かれたアセンブリファイルを持っている):ここでは私はクロスコンパイルしようとしていたファイルです。

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

ldconfigは魔法である:私は、次のコマンドを発行した後

+1

あなたはより詳細な情報を提供していただけますか?クロスコンパイラ、あなたが使っているコマンド、あなたが使っているシステムなど – Josh

+0

同じ場所から別のクロスコンパイラをダウンロードしました。同じことをしています。私はUbuntuの代わりにFedoraを試すべきですか?それともちょうどweiredですか? –

+0

私はFedoraで試してみましたが、どちらもうまくいきませんでした。誰でも自分のハードウェア上でos-dev.orgからi386-elfクロスコンパイラを試すことができますか?多分、何らかの理由でこの問題を抱えているのは私のコンピュータだけだろう。 –

答えて

8

私のエラーは消えました。

+0

libstdC++。so.6.0.20-gdb。pyはELFファイルではありません - 開始時に間違ったマジックバイトを持っています。 –

1

/usr/libまたは/ usr/lib64にlibmpc.so.3がありますか?それを見つけたら、libmpc.so.2ファイルに置き換える必要があります。そのファイルは異なるLinuxバージョンで見つけることができます。

+1

私の場合は、libmpc.so.2をlibmpc.so.3にリンクして再コンパイルしただけで動作するようです。 :-) – tudor

0

libmpcのバージョン2(すなわちlibmpc.2.dynlib)は、ソースのバージョン0.7〜0.9からビルドされています(ダウンロードアーカイブはwww.multiprecision.orgにあります)。 0.9より前のバージョンは新しいバージョンのGMPと互換性がないように見えるので、最初にそれを構築しようと思います。私は、GCC 4.8をインストールした後、私のOSXエルキャピタンシステム上のGMPを0.9を構築し、使用することができた、とMPFR:

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

はその後MPC-0.9 dirctoryに:

./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用ツールチェーンの場合):

I386またはAMD64用 /usr/lib/x86_64-linux-gnu中のため /usr/lib/i386-linux-gnu
sudo apt-get install libmpc*:i386 

sudo ln -s libmpc.so.3.0.0 libmpc.so.2 
関連する問題

 関連する問題