【问题标题】:MacOs 10.12.6 : Error while installing Xapian : Operation Not permittedMacOs 10.12.6:安装 Xapian 时出错:不允许操作
【发布时间】:2018-02-28 09:20:57
【问题描述】:

我正在尝试在 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

如果有人能建议如何解决这个错误,那就太好了。

【问题讨论】:

    标签: installation macos-sierra xapian


    【解决方案1】:

    最近的 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:brew tap homebrew/homebrew-php 安装 PHP 并针对它构建 Xapian 绑定(这可能需要更多工作)。

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

    【讨论】:

    • 我尝试不使用-php,然后尝试使用 make 和 make install 安装 xapian,但是当我在任何 c++ 代码中包含 xapian.h 时,我仍然收到错误致命 xapian.h 文件未找到
    • 这是一个不同的错误。我建议您为此使用邮件列表或 IRC,并粘贴您的编译命令的完整日志和您看到的错误消息。
    猜你喜欢
    • 1970-01-01
    • 2016-09-27
    • 2018-05-26
    • 2022-01-17
    • 2020-04-25
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多