2017-10-23 7 views
0

私は自分のPCで書かれコンパイルされ、リモートサーバで実行されるC++コードを持っています。 私は最近私のPCを変更しましたので、すべての設定を完了しました。しかし、今、このエラーで失敗しました変わらず、サーバー上の私のコードの実行:GLIBCXX_3.4.21実行時

./ReactionThermo: relocation error: ./ReactionThermo: symbol _ZTINSt8ios_base7failureB5cxx11E, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference 

は、私は、Web上のビットを見て、gccの障害のように見えます。実際、私のPC上の私のPC 5.4と4.8にあります。私はそれをアップグレードしようとしたが、次のエラーました:私は、-fはCOMANDをインストールするのapt-getを試みたが、それは改善していないと考えて

sudo apt-get install gcc-4.9 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
You might want to run 'apt-get -f install' to correct these: 
The following packages have unmet dependencies: 
gcc-4.9 : Depends: cpp-4.9 (= 4.9.4-2ubuntu1~14.04.1) but it is not going to be installed 
      Depends: libgcc-4.9-dev (= 4.9.4-2ubuntu1~14.04.1) but it is not going to be installed 
munge : Depends: libmunge2 (= 0.5.11-1ubuntu1) but 0.5.11-1ubuntu1.1 is to be installed 
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). 

を。

アイデア

おかげ

PS:私はそれがGLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time referenceのように見えるのですが、私はむしろそれ一般に

+0

[GLIBCXX \ _3.4.21はリンク時参照のlibstdC++。so.6ファイルで定義されていません](https://stackoverflow.com/questions/36816570/glibcxx-3-4-21-not-defined) -in-file-libstdc-so-6-link-time-reference) –

+0

または[apt:再配置エラー:libstdC++。so.6ファイルで定義されていないバージョンGLIBCXX_3.4.21(リンク時参照あり)](https:// askubuntu.com/questions/777803/apt-relocation-error-version-glibcxx-3-4-21-not-defined-in-file-libstdc-so-6) –

答えて

0

は、あなたが最も古いオペレーティング上のC/C++バイナリをビルドする必要がアップグレードして、TUはCPPをダウングレードしたくないknozシステムコンパイラ(またはSUSE Linux Enterprise Server用のツールチェーンモジュールやRed Hat Enterprise Linux用の開発者ツールセットなどのその他のベンダー対応コンパイラ)を使用して、サポートしたいシステムバージョンを選択します。新しいシステムでプログラムをコンパイルして、古い(または別の)オペレーティングシステムのリリースで別の環境にコピーすることはできません。単純なケースでは、うまくいくかもしれませんが、実行時にダイナミックリンカーの失敗(まるで同じように)や静かなデータの破損を招くこともあります。

また、定義済みのビルド環境でソフトウェアのビルドを自動化するには、pbuildermockなどのビルドツールを参照する必要があります。