質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

compass

CompassはSassを拡張したオープンソースのCSSフレームワークです。 特徴は、ベンダープレフィックス等の複雑なCSSを手軽に記述できる点、 CSSスプライト画像を簡単に作成できる点などが挙げられます。

Q&A

解決済

2回答

4429閲覧

conpassをUnixコマンドでインストールできません........

dialbird

総合スコア379

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

compass

CompassはSassを拡張したオープンソースのCSSフレームワークです。 特徴は、ベンダープレフィックス等の複雑なCSSを手軽に記述できる点、 CSSスプライト画像を簡単に作成できる点などが挙げられます。

0グッド

0クリップ

投稿2016/03/04 14:06

こんばんは。
Compassをgemでインストールしたいのですが、以下のエラーコマンドが出て失敗してしまいます。

//mkmf.log package configuration for libffi is not found "xcrun clang -o conftest -I/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/universal-darwin15 -I/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/backward -I/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -g -Os -pipe -DHAVE_GCC_SYNC_BUILTINS conftest.c -L. -L/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib -L. -L/usr/local/lib -arch i386 -arch x86_64 -lruby.2.0.0 -lpthread -ldl -lobjc " In file included from conftest.c:1: In file included from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby.h:33: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/ruby.h:24:10: fatal error: 'ruby/config.h' file not found #include "ruby/config.h" ^ 1 error generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: int main(int argc, char **argv) 4: { 5: return 0; 6: } /* end */

どなたか解決策を教えてください。
お願いいたします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

package configuration for libffi is not found

と表示されているので、
$ brew install libffi
をしてみてから、
$ gem install compass
するとよいと思います。

参考情報:
"package configuration for libffi is not found" compass gem
で google 検索したら、次のページがみつかりました。

英語のページですが読んでみると良いです。

投稿2016/03/04 22:56

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dialbird

2016/03/04 23:52

ご返信ありがとうございます! 仰った通り、libffiをインストールしてみたのですが、相変わらず同じエラーが出続けてしまいます........。NCC1701さんのアドバイスも参考にして、gccを最新版(であろう)の4.9にしてみたのですが、やはり変化なしです。一応正しくインストールできていない可能性も鑑みて、gcc -vの結果をNCC1701さんへのコメント欄に挙げておきました。 それと例の英語のページを見ていて思ったのですが、gccの4.2でないとだめ、というわけではないですよね........? よろしくお願いいたします。
katoy

2016/03/05 07:45

参考として、私のマシン環境を示します。compass は install できてます。 $ gem install compass => Successfully installed compass-1.0.3 $ sw_vers => Mac OS X 10.11.3 15D21 $ xcodebuild -version => Xcode 7.2.1 Build version 7C1002 $ xcode-select -v => xcode-select version 2343. $ gem --version => 2.5.1 $ brew --version => Homebrew 0.9.5 (git revision 3c89; last commit 2016-03-01) $ gcc -v Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 7.0.2 (clang-700.1.81) Target: x86_64-apple-darwin15.3.0 Thread model: posix $ gcc-5 -v gcc version 5.3.0 (Homebrew gcc 5.3.0)
dialbird

2016/03/05 12:11

返信が遅れました。 私の環境だと $ sw_vers => Mac OS X 10.11.1 15B42 $ xcodebuild -version => Xcode 7.2.1 Build version 7C1002 $ xcode-select -v => xcode-select version 2343 $ gem --version => 2.6.0 $ brew --version => Homebrew 0.9.5 (git revision 0315; last commit 2016-01-15) $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc49/4.9.3/libexec/gcc/x86_64-apple-darwin15.2.0/4.9.3/lto-wrapper Target: x86_64-apple-darwin15.2.0 Configured with: ../configure --build=x86_64-apple-darwin15.2.0 --prefix=/usr/local/Cellar/gcc49/4.9.3 --libdir=/usr/local/Cellar/gcc49/4.9.3/lib/gcc/4.9 --enable-languages=c,c++,objc,obj-c++ --program-suffix=-4.9 --with-gmp=/usr/local/opt/gmp4 --with-mpfr=/usr/local/opt/mpfr2 --with-mpc=/usr/local/opt/libmpc08 --with-cloog=/usr/local/opt/cloog018 --with-isl=/usr/local/opt/isl011 --with-system-zlib --enable-libstdcxx-time=yes --enable-stage1-checking --enable-checking=release --enable-lto --with-build-config=bootstrap-debug --disable-werror --with-pkgversion='Homebrew gcc49 4.9.3' --with-bugurl=https://github.com/Homebrew/homebrew-versions/issues --enable-plugin --disable-nls --enable-multilib Thread model: posix gcc version 4.9.3 (Homebrew gcc49 4.9.3) $ gcc-5 -v command not found となりました。 最後のが気になります........ 必要なのでしょうか?
dialbird

2016/03/05 14:24

katoyさん おかげさまで無事compassをインストールできるようになりました。 NCC1701さんへのコメントにも記載しましたが、システムのrubyではなく、rbenvで別の場所にインストールしたrubyを使ったところ、うまくいきました。 結局のところシステムの方のrubyの何が悪かったのかが曖昧なままですが、ひとまず目標は達成したので進もうと思います。 アドバイスをくださり、誠にありがとうございました!
guest

0

ベストアンサー

おそらくgccがないかgccのバージョンが古いはずです。
which gcc
gcc -v
でチェックして,場合によってはHomebrewとかMacPorsあたりでgccのバージョンアップをしてみてください。

投稿2016/03/04 14:17

編集2016/03/04 14:34
NCC1701

総合スコア1680

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dialbird

2016/03/04 23:48

ご返信ありがとうございます! 早速Homebrewでgccのバージョンを4.9(おそらく最新)にしたのですが、 相変わらず上記のエラーが出てしまいます........ katoyさんの仰った通りlibffiをインストールしてみたのですがそれでも変化なしでした。 他にどのような原因が挙げられるでしょうか? 一応gcc -vをした結果を挙げておきます。なにか問題点があるかもしれませんので........ よろしくお願いいたします $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc49/4.9.3/libexec/gcc/x86_64-apple-darwin15.2.0/4.9.3/lto-wrapper Target: x86_64-apple-darwin15.2.0 Configured with: ../configure --build=x86_64-apple-darwin15.2.0 --prefix=/usr/local/Cellar/gcc49/4.9.3 --libdir=/usr/local/Cellar/gcc49/4.9.3/lib/gcc/4.9 --enable-languages=c,c++,objc,obj-c++ --program-suffix=-4.9 --with-gmp=/usr/local/opt/gmp4 --with-mpfr=/usr/local/opt/mpfr2 --with-mpc=/usr/local/opt/libmpc08 --with-cloog=/usr/local/opt/cloog018 --with-isl=/usr/local/opt/isl011 --with-system-zlib --enable-libstdcxx-time=yes --enable-stage1-checking --enable-checking=release --enable-lto --with-build-config=bootstrap-debug --disable-werror --with-pkgversion='Homebrew gcc49 4.9.3' --with-bugurl=https://github.com/Homebrew/homebrew-versions/issues --enable-plugin --disable-nls --enable-multilib Thread model: posix gcc version 4.9.3 (Homebrew gcc49 4.9.3)
NCC1701

2016/03/05 02:14

実のところ解決策がはっきりしていません。が、なんとか共に解決できるように、試行錯誤してみます。(同じ環境ではないはずなので、若干の違いが出るとは思います。当方OSX10.11.3、Xcode7.2.1、gem --version 2.5.1、brew --version Homebrew 0.9.5 (git revision 4658; last commit 2016-02-13)) さて /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/ruby.h:24:10: fatal error: 'ruby/config.h' file not found とのメッセージは'ruby/confi.h'がないということです。 そこで`xcode-select --install`を実行してみてください。 そのあと、compassのインストールにトライしてみて、エラーログの掲載をお願いします。
dialbird

2016/03/05 02:44

誠にありがとうございます! 結果としては依然として同じエラーがmkmf.logに出ました。 xcode-select --versionの結果としては以下です。 xcode-select: error: command line tools are already installed, use "Software Update" to install updates また、一応Xcodeのバージョンも挙げておきます $ xcode-select -v xcode-select version 2343. よろしくお願いいたします
NCC1701

2016/03/05 05:33 編集

原因は依然config.hが見つからないということですね。 こちらの環境でも`ls -hl /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/`としてもconfig.hはありませんでした。 必要とされているconfig.hかどうかははっきりしないのですが。`find /System/Library/Frameworks/Ruby.framework -name 'config.h'`とすると、つぎの2か所にあります(二つは同じものです)。 /System/Library/Frameworks/Ruby.framework/Versions/2.0/Headers/ruby/config.h /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/universal-darwin15/ruby/config.h そこで試せる手段は2つです。 一つは、コンパイラにヘッダの場所を指定する方法。mkmf.logにでてきた "xcrun clang -o conftest -I/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/universal-darwin15 …"のコマンドに、"-I/System/Library/Frameworks/Ruby.framework/Versions/2.0/Headers/ruby"を書き加えて、実行してみる。 もう一つは、/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/に見つかったconfig.hのリンクを作る。作り方はつぎのとおりです。 `sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/2.0/Headers/ruby/config.h /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/config.h` コンパイラのワーキングディレクトリがわからないので、後の手段のリンクを試してみてください。
dialbird

2016/03/05 12:06

返信が遅れました。 後者の方法を試したところ、 ln: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/config.h: Operation not permitted と出てまたエラーになってしまいました........ 一応前者も試したところ、no such file or directory: 'conftest.c' とこちらも一蹴されました。 また、私の場合、config.hが /System/Library/Frameworks/Ruby.framework/Versions/2.0/Headers/ruby/config.h /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/universal-darwin14/ruby/config.h にあるようで、NCC1701さんのとはuniversal-darwinのバージョンがずれているようです。 これだと処理が変わってしまうのでしょうか........
NCC1701

2016/03/05 12:29

Operation not permitted はリンク作成を失敗していることです。上述のとおり,sudoをつけてシンボリックリンクを作成してください。 `ls -l /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/config.h` とすると /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/config.h -> /System/Library/Frameworks/Ruby.framework/Versions/2.0/Headers/ruby/config.h と確認できます。 (コメント欄でコードを明記できるようになるといいのですが ->teratail)
dialbird

2016/03/05 12:58

夜分遅くまでお付き合いくださり、本当にありがとうございます! 突然な話なのですが、以下のサイトを参考にして最後までやったら実現できました! http://qiita.com/tokimari/items/feda1ed61f2d8b5b317c どうやらsudoの必要な領域にrubyがあったことで面倒臭いことになっていたようで、rbenvを使って色々やったところ、何事もなかったかのように gem installでも sudo gem installでも compassがインストールできるようになりました。 これで解決........でもよろしいのでしょうか? まだUnixの世界に関しては知識が浅いのですが、何か重大な問題から逃げた解決なのでしょうか........
NCC1701

2016/03/05 13:09

おつかれさまでした。 逃げた解決だとは思われません。が,次のようなことは理解しておいたほうが,今後のヒントになると思われます。 1. 当初はシステムのrubyを使っていた(/System/Library/Frameworks/Ruby.framework/Versions/2.0) 2. システムのrubyにはヘッダファイルに足りないものがある(今回はconfig.h) 3. rbenvで別のバージョンのrubyを別の場所にインストールした。(rubyは複数のバージョンを切り替えて使えるようになっています。) 4. rbenvでインストールしたrubyにはconfig.hが初めから揃っていた。 ということで,解決できました。(実のところシステムのrubyが怪しそうなので,リンク後もうまくいかなかったら,rvmあたりでruby2.3でも入れましょうと回答する予定でした。)
dialbird

2016/03/05 14:20

ありがとうございます。 気になる多々ありますが、とりあえず今はそういうことにしておいてこのまま先に進もうと思います。 詳細な指示を与えてくださり、心より感謝いたします。 また何かの折には是非ともアドバイスをいただけたら幸いです。 本当にありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問