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

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

ただいまの
回答率

91.36%

  • PHP

    15137questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • C++

    2409questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • MacOS(OSX)

    1358questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • PECL

    19questions

    PECL(PHP Extension Community Library)は、PHPで利用できる拡張ライブラリです。 PECLはCで記述されているため、PHPで記述されたPEARのライブラリよりも高速に動作します。

【Mac OS】pecl install intl が失敗する

解決済

回答 2

投稿 2017/11/20 13:05 ・編集 2017/11/20 21:22

  • 評価
  • クリップ 1
  • VIEW 105

smnsmn

score 152

Mac OS YosemiteとSierraです。
PHP5.6。
ローカルにintlをインストールするために下記コマンドを実行したのですが、

// Xcode Command Line Developer Toolsをインストール
xcode-select --install

// Homebrew インストール
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

// PEARをインストール
sudo php /usr/lib/php/install-pear-nozlib.phar

// intlをインストール
brew install icu4c
sudo pecl install intl


 
sudo pecl install intlが最後下記になって終了します。

2 warnings and 3 errors generated.
make: *** [intl_convertcpp.lo] Error 1
ERROR: `make' failed


 
warningの内容としては下記になります。調べたところC++の警告で、コンパイル自体はうまくいっているはず。という記事は見たのですが・・・
解決する方法はあるのでしょうか?

warning: 'COLLATOR_COLLATOR_H' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
#ifndef COLLATOR_COLLATOR_H
        ^~~~~~~~~~~~~~~~~~~
/private/tmp/pear/temp/intl/collator/collator.h:19:9: note: 'CCOLLATOR_COLLATOR_H' is defined here; did you mean 'COLLATOR_COLLATOR_H'?
#define CCOLLATOR_COLLATOR_H
        ^~~~~~~~~~~~~~~~~~~~
        COLLATOR_COLLATOR_H
In file included from /private/tmp/pear/temp/intl/php_intl.c:29:
/private/tmp/pear/temp/intl/collator/collator_attr.h:18:9: warning: 'COLLATOR_ATTR_H' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
#ifndef COLLATOR_ATTR_H
        ^~~~~~~~~~~~~~~
/private/tmp/pear/temp/intl/collator/collator_attr.h:19:9: note: 'CCOLLATOR_ATTR_H' is defined here; did you mean 'COLLATOR_ATTR_H'?
#define CCOLLATOR_ATTR_H
        ^~~~~~~~~~~~~~~~
        COLLATOR_ATTR_H
2 warnings generated.

~~~~~~

warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
    Char16Ptr() = delete;
                  ^
/usr/local/Cellar/icu4c/59.1_1/include/unicode/char16ptr.h:198:24: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
    ConstChar16Ptr() = delete;
                       ^
In file included from /private/tmp/pear/temp/intl/intl_convertcpp.cpp:21:
In file included from /private/tmp/pear/temp/intl/intl_convertcpp.h:26:
/usr/local/Cellar/icu4c/59.1_1/include/unicode/unistr.h:3025:7: error: delegating constructors are permitted only in C++11
      UnicodeString(ConstChar16Ptr(text)) {}
      ^~~~~~~~~~~~~
/usr/local/Cellar/icu4c/59.1_1/include/unicode/unistr.h:3087:7: error: delegating constructors are permitted only in C++11
      UnicodeString(ConstChar16Ptr(text), length) {}
      ^~~~~~~~~~~~~
/usr/local/Cellar/icu4c/59.1_1/include/unicode/unistr.h:3180:7: error: delegating constructors are permitted only in C++11
      UnicodeString(Char16Ptr(buffer), buffLength, buffCapacity) {}
      ^~~~~~~~~~~~~
2 warnings and 3 errors generated.


 
php -m | grep intlで確認しても表示されないで入っていないのでは無いか?と思っています。
phpはxcode-select --installでコマンドラインツールを入れています。

何か、わかることがあれば教えて頂けますと幸いです。
何卒よろしくお願い致します。

追記

icu4cをインストールした際に、

For compilers to find this software you may need to set:
    LDFLAGS:  -L/usr/local/opt/icu4c/lib
    CPPFLAGS: -I/usr/local/opt/icu4c/include

と表示されるのでオプションで指定したり、C++11の指定をしたりのオプションを入れてみましたが、エラーはなくなりませんでした。

sudo pecl install intl -- --with-ldflags=-L/usr/local/opt/icu4c/lib --with-cppflags=-I/usr/local/opt/icu4c/include --with-cxxflags=-std=c++11

下記のように表示されているので認識されていない・無効になっているように思います。
指定方法が間違っているのでしょうか?

Attempting to discover channel "--with-ldflags=-L/usr/local/opt/icu4c"...
Attempting fallback to https instead of http on channel "--with-ldflags=-L/usr/local/opt/icu4c"...
unknown channel "--with-ldflags=-L/usr/local/opt/icu4c" in "--with-ldflags=-L/usr/local/opt/icu4c/lib"
invalid package name/package file "--with-ldflags=-L/usr/local/opt/icu4c/lib"
Attempting to discover channel "--with-cppflags=-I/usr/local/opt/icu4c"...
Attempting fallback to https instead of http on channel "--with-cppflags=-I/usr/local/opt/icu4c"...
unknown channel "--with-cppflags=-I/usr/local/opt/icu4c" in "--with-cppflags=-I/usr/local/opt/icu4c/include"
invalid package name/package file "--with-cppflags=-I/usr/local/opt/icu4c/include"
parsePackageName(): invalid package name "--with-cxxflags=-std=c++11" in "--with-cxxflags=-std=c++11"
invalid package name/package file "--with-cxxflags=-std=c++11"
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

0

brew がインストールされているのだから、phpはbrewでインストールしたのではないですか?

それならば、

brew search intl

で見つかるはず。

brew install phpNN-intl

でインストール可能です。

投稿 2017/11/20 21:08

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/20 21:18

    ご回答ありがとうございます!
    記載が無く申し訳ありません。

    phpはXcode Command Line Developer Toolsのものを使用しており、
    xcode-select --install
    でインストールしております。
    php5.6です。

    やはりphpもbrewで入れるべきなのでしょうか。
    もし何かわかることがございましたら、ご教授頂けますと幸いです。

    キャンセル

  • 2017/11/20 21:22 編集

    > phpはXcode Command Line Developer Toolsのものを使用しており、
    > xcode-select --install
    > でインストールしております。

    xcode-select --install では PHPはインストールできません。
    xcode-select --installでインストールするのはあくまで Command line Tools です。

    キャンセル

  • 2017/11/20 21:29

    ご指摘くださりありがとうございます。
    実行したコマンドを追記致しました。
    brew install php56
    のようなコマンドは実行していないのですが、homebrewを使うのは初めてのため仕組みの理解が浅く申し訳ありません。

    もう少し調べてみます。

    キャンセル

  • 2017/11/20 22:28

    おそらく、
    brew install homebrew/php/php54-intl
    のようにインストールするのが最も簡単です。

    キャンセル

  • 2017/11/23 15:54

    ありがとうございます。
    intlだけbrewで入れて、php.iniに指定して使うことにしました。
    ご回答いただき、ありがとうございました。m(_ _)m

    キャンセル

0

似たようなエラーがここにはありますが。
http://blog.motikan2010.com/entry/2017/09/19/PHPBrewに%22intl%22拡張をインストール

投稿 2017/11/20 14:29

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/20 20:20

    ご回答ありがとうございます。
    とても参考になりました。
    リンク先のようにintlのmakefileはなかったのですが、その先のオプションを指定する方法などを試しましたがやはり同じエラーが出てしまいます。

    試したオプションなどを追記致します。
    もし分かることがございましたら、ご教授頂けますと幸いです。

    キャンセル

  • 2017/11/20 22:41

    このルートだと、
    brew link --force icu4c
    とか
    brew install autoconf
    などが必要かもしれません。

    https://qiita.com/Commander-Aipa/items/936c90c60be22441228b

    キャンセル

  • 2017/11/20 22:52

    LD_LIBRARY_PATHを通してリンクする場合はもしかしたらSIPを無効にすることなしには難しいかもしれません。
    https://snap.textgh.org/201709242028/
    https://qiita.com/tekunikaruza/items/f815446beead71b7be4a
    あまりおすすめしない方もいらっしゃるかもしれませんが。

    キャンセル

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

ただいまの回答率

91.36%

関連した質問

同じタグがついた質問を見る

  • PHP

    15137questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • C++

    2409questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • MacOS(OSX)

    1358questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • PECL

    19questions

    PECL(PHP Extension Community Library)は、PHPで利用できる拡張ライブラリです。 PECLはCで記述されているため、PHPで記述されたPEARのライブラリよりも高速に動作します。