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"
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/20 12:18
退会済みユーザー
2017/11/20 12:22 編集
2017/11/20 12:29
2017/11/20 13:28
2017/11/23 06:54