LoginSignup
1
0

More than 5 years have passed since last update.

Mac(OS:Yosemite)にSCIPをインストールするまで 〜'gmp.h' file not found〜

Last updated at Posted at 2016-02-01

初心者による記録.
scip3.2.0をmac(Yosemite)にインストールしてみました.

SCIPの概要については公式ページやこちらの記事をどうぞ
http://qiita.com/mpkato/items/7ed8a2c60785bf3adfd8

SCIPをダウンロード,説明の通りにインストール

上の記事のとおりです.

gmp.hが見つからない

makeコマンド実行時に問題発生.

src/rational.h:32:10: fatal error: 'gmp.h' file not found
#include "gmp.h"
         ^

とのこと.gmp.hが見つからないらしい.

試行1

このエラー文をそのままGoogle検索にかけてヒットしたページによるとHomebrewでgmpを再インストールしてみると上手くいったらしい.
ということでHomebrewでgmpを再インストールしてみる.

brew uninstall gmp
brew install gmp

ところが,先ほどのエラーは相変わらず発生する.

試行2

/usr/local/include/を確認してみると,確かにgmp.hは存在している.ということは,コンパイラがこのディレクトリを見てないのかな?
ということで,-vオプションを付けて適当なファイルをgccでコンパイルしてみる.

gcc -v test.c

出てきた文の以下の部分に注目

#include "..." search starts here:
#include <...> search starts here:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/include
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks (framework directory)
End of search list.

やはり"/usr/local/include/"は検索されてない模様.
じゃあ
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include"
というディレクトリにもgmp.hを置いちゃえばいいかな(安直)ということで,シンボリックリンクを作ってみた.
(コンパイラに"/usr/local/include/"を追加しちゃう方がいいのかもしれないけど,やり方は分かりません.教えて下さい.)

ln -s /usr/local/include/gmp.h /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/gmp.h

これで再びmakeを実行すると,先ほどのエラーは出なくなった.

-lgmpが見つからない

しかし,makeを実行してしばらく進んだところで再びエラー

ld: library not found for -lgmp
clang: error: linker command failed with exit code 1 (use -v to see invocation)

さっきの対処法のせいかな?
とりあえずGoogleで「ld: library not found for "-lgmp"」を検索.
(当たり前だが,""を付けないとlgmpを除外して検索する設定になるので注意.そんなところで引っかかるやつは自分ぐらいか.)
するとこんな記事に当たった.
コマンドラインツールをインストールしてみると上手く行ったらしい.

xcode-select --install

再び実行

** Build complete.

よかったよかった.

ようやくインストール完了

最初の記事にある通り,scip-x.y.zに移動して,インストールを実行して終わり.こここでは問題は起きなかった.

以上です.
自分は雑魚なので,こうした方がより良いなど,何か指摘あったらコメント貰えると嬉しいです.

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0