プロジェクトで「make」を実行すると、次のエラーが表示されます。
dyld: Library not loaded: /usr/local/lib/libmpfr.4.dylib
Referenced from: /Users/Petrov/Downloads/mips/bin/../libexec/gcc/mipsel-elf/4.8.1/cc1
Reason: image not found
libmpfr.4.dylib
には/usr/local/lib
ファイルはありませんが、libmpfr.6.dylib
はあります。 mpfr 4.0.1がインストールされています。 Xcodeとmpfrを既に再インストールしようとしました。
Macでも同様の問題がありました。 brewを使用して「gawk」をアップグレードすることで修正しました
brew upgrade gawk
このように解決しました。
ln -s /usr/local/opt/mpfr/lib/libmpfr.6.dylib /usr/local/opt/mpfr/lib/libmpfr.4.dylib
エラーの原因は、MPFR 3.1.xからMPFR 4.0.xにアップグレードしたことです。これは、MPFR 3.1.xとABI互換ではありません(MPFR 4.0.xライブラリは、MPFR 3.1.xに対してコンパイルされたプログラムでは使用できません) )。したがって、libmpfr.4.dylib(MPFR 3.0.xおよびMPFR 3.1.xで使用)からlibmpfr.6.dylib(少なくともMPFR 4.0.xで使用)への変更。
エラーを回避するために、MPFR 3.1.xからlibmpfr.4.dylibをアンインストールせずにMPFR 4.0.xをインストールすることです。すべての新しいコンパイル済みソフトウェアはMPFR 4.0.xおよびlibmpfr.6.dylibを使用しますただし、MPFRに依存する古いバイナリは、libmpfr.4.dylibを使用して実行できます(可能な例外は、libmpfr.4.dylibとlibmpfr.6の両方のライブラリを介して、MPFRに2つの異なる依存関係がある場合です。 dylibが必要になる場合がありますが、その場合は機能しない可能性があります)。
ここで、Xcodeを再コンパイルする必要があります。 Xcodeが既にコンパイルされている(バイナリパッケージから)場合は、MPFR 4.0.xに対してコンパイルされたもの、またはlibmpfr.4.dylibファイルを含むものを取得してください。これが不可能な場合は、MPFR 3.1.xを再インストールする必要があります。上記のように、libmpfr.4.dylibを削除せずにMPFR 4.0.xをインストールできるはずです。
@ Vinc17は@neosarchizoの提案する解決策に対する彼のコメントで正しいです。異なるバージョン、[〜#〜] however [〜#〜]を参照する場合、シンボリックリンクは問題になる可能性があります。 :
locate libmpfr.4.dylib
別のディレクトリに適切なライブラリがあることを示しました。
/opt/local/lib/libmpfr.4.dylib
だから、私にとっては、シンボリックリンクのアプローチを使用することは完全に安全だと感じました:すなわち:
Sudo ln -s /opt/local/lib/libmpfr.4.dylib /usr/local/lib/libmpfr.4.dylib
おそらくハックですが、問題は解決しました。
システムツールチェーンを使用してコンパイルします。
export PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH.