Mac 10.12.6:安装Xapian时出错:操作不允许

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac 10.12.6:安装Xapian时出错:操作不允许相关的知识,希望对你有一定的参考价值。

我正在尝试从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版本附带了一个名为“系统完整性保护”(或SIP)的东西,它可以阻止您(甚至是root用户)在操作系统的某些位置安装文件。您有三个主要选择:

  1. Turn off SIP(这是非常激烈的,大多数人都不想这样做)。
  2. 将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
  3. homebrew安装PHP:brew tap homebrew/homebrew-php并构建Xapian绑定(这可能需要更多努力)。

当然,如果您不需要PHP绑定,您可以禁用构建它们的方式与禁用Perl和TCL绑定(在macOS上具有相同问题)相同:./configure --without-perl --without-tcl --without-php --prefix=/usr/local

以上是关于Mac 10.12.6:安装Xapian时出错:操作不允许的主要内容,如果未能解决你的问题,请参考以下文章

在苹果Mac10.12.6中安装docker和k8s

在苹果Mac10.12.6中安装docker和k8s

xcode9.2 objective-c install (mac 10.12.6)

在 MAC 上安装电话间隙时出错

CentOS7 Xapian 1.2 安装 PHP绑定

在我的 Mac 上全局安装 SASS 时出错