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

Installation MacOs 10.12.6:安装Xapian时出错:不允许操作,installation,macos-sierra,xapian,Installation,Macos Sierra,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/extensi

我正在尝试从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用户)在操作系统的某些位置安装文件。您有三个主要选择:

  • (这是相当激烈的,大多数人都不想这么做)

  • 将PHP扩展安装到自定义位置:
    sudo make Install PHP\u extension\u DIR=$HOME/PHP local
    。然后需要设置PHP的
    extension_dir
    来查找它,类似于
    PHP-d extension_dir=$HOME/PHP local-r'require_once(“xapian.PHP”);'。在本例中,您可能希望将
    PHP\u EXTENSION\u DIR
    设置为类似
    /usr/local/lib/PHP/extensions
    的内容

  • 从以下位置安装PHP:
    brew点击homebrew/homebrew PHP
    ,并针对该位置构建Xapian绑定(这可能需要更多的工作)


  • 当然,如果您不需要PHP绑定,可以使用禁用Perl和TCL绑定(在macOS上有相同问题)的相同方式禁用构建它们:
    /configure——没有Perl——没有TCL——没有PHP——prefix=/usr/local

    我在没有PHP的情况下尝试过,然后尝试使用make和make install安装xapian,但是,当我在任何C++代码中包含XAPIA.H时,我得到了错误致命XAPIA.H文件,没有发现这是一个不同的错误。我建议您为此使用邮件列表或IRC,并粘贴一个完整的编译命令日志和看到的错误消息。