MacOs 10.12.6:安装 Xapian 时出错:不允许操作
MacOs 10.12.6 : Error while installing Xapian : Operation Not permitted
我正在尝试在 MACOS 10.12.6 上从源代码安装 xapian。
我能够构建源代码但无法安装它,
错误是:
/bin/sh ../libtool --mode=install /usr/bin/install -c xapian.la
'/usr/lib/php/extensions/no-debug-non-zts-20131226'
libtool: install: /usr/bin/install -c .libs/xapian.so
/usr/lib/php/extensions/no-debug-non-zts-20131226/xapian.so
install: /usr/lib/php/extensions/no-debug-non-zts-20131226/xapian.so:
Operation not permitted
make[5]: *** [install-phpextLTLIBRARIES] Error 71
make[4]: *** [install-am] Error 2
我在 xapian 目录中遵循了这些步骤:
./bootstrap
./configure --without-perl --without-tcl --prefix='/usr/local'
make
sudo make install
如果有人可以建议如何解决此错误,那就太好了。
最近的 macOS 版本附带了一个叫做 "System Integrity Protection"(或 SIP)的东西,它可以防止你(即使是 root)在操作系统的某些地方安装文件。您有三个主要选择:
Turn off SIP(这太极端了,大多数人都不想那样做)。
将 PHP 扩展安装到自定义位置:sudo make install PHP_EXTENSION_DIR=$HOME/php-local
。然后你需要设置 PHP 的 extension_dir
来找到它,比如 php -d extension_dir=$HOME/php-local -r 'require_once("xapian.php");'
。在这种情况下,您可能希望将 PHP_EXTENSION_DIR
设置为 /usr/local/lib/php/extensions
.
从 homebrew 安装 PHP:brew tap homebrew/homebrew-php
并针对它构建 Xapian 绑定(这可能需要更多工作)。
当然,如果您不需要 PHP 绑定,您可以像禁用 Perl 和 TCL 绑定(在 macOS 上有同样的问题)一样禁用构建它们:./configure --without-perl --without-tcl --without-php --prefix=/usr/local
.
我正在尝试在 MACOS 10.12.6 上从源代码安装 xapian。 我能够构建源代码但无法安装它,
错误是:
/bin/sh ../libtool --mode=install /usr/bin/install -c xapian.la
'/usr/lib/php/extensions/no-debug-non-zts-20131226'
libtool: install: /usr/bin/install -c .libs/xapian.so
/usr/lib/php/extensions/no-debug-non-zts-20131226/xapian.so
install: /usr/lib/php/extensions/no-debug-non-zts-20131226/xapian.so:
Operation not permitted
make[5]: *** [install-phpextLTLIBRARIES] Error 71
make[4]: *** [install-am] Error 2
我在 xapian 目录中遵循了这些步骤:
./bootstrap
./configure --without-perl --without-tcl --prefix='/usr/local'
make
sudo make install
如果有人可以建议如何解决此错误,那就太好了。
最近的 macOS 版本附带了一个叫做 "System Integrity Protection"(或 SIP)的东西,它可以防止你(即使是 root)在操作系统的某些地方安装文件。您有三个主要选择:
Turn off SIP(这太极端了,大多数人都不想那样做)。
将 PHP 扩展安装到自定义位置:
sudo make install PHP_EXTENSION_DIR=$HOME/php-local
。然后你需要设置 PHP 的extension_dir
来找到它,比如php -d extension_dir=$HOME/php-local -r 'require_once("xapian.php");'
。在这种情况下,您可能希望将PHP_EXTENSION_DIR
设置为/usr/local/lib/php/extensions
.从 homebrew 安装 PHP:
brew tap homebrew/homebrew-php
并针对它构建 Xapian 绑定(这可能需要更多工作)。
当然,如果您不需要 PHP 绑定,您可以像禁用 Perl 和 TCL 绑定(在 macOS 上有同样的问题)一样禁用构建它们:./configure --without-perl --without-tcl --without-php --prefix=/usr/local
.