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ページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
0
brew がインストールされているのだから、phpはbrewでインストールしたのではないですか?
それならば、
brew search intl
で見つかるはず。
brew install phpNN-intl
でインストール可能です。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
似たようなエラーがここにはありますが。
http://blog.motikan2010.com/entry/2017/09/19/PHPBrewに%22intl%22拡張をインストール
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.20%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2017/11/20 21:18
記載が無く申し訳ありません。
phpはXcode Command Line Developer Toolsのものを使用しており、
xcode-select --install
でインストールしております。
php5.6です。
やはりphpもbrewで入れるべきなのでしょうか。
もし何かわかることがございましたら、ご教授頂けますと幸いです。
2017/11/20 21:19 編集
> 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