【问题标题】:Homebrew and Permission denied issue自制程序和权限被拒绝问题
【发布时间】:2011-07-02 12:01:37
【问题描述】:

我尝试通过 Homebrew 包管理器编译和安装libapreq2

brew create http://www.apache.si//httpd/libapreq/libapreq2-2.13.tar.gz

libapreq2.rb公式的内容如下。

require 'formula'

class Libapreq2 < Formula
  url 'http://www.apache.si//httpd/libapreq/libapreq2-2.13.tar.gz'
  homepage ''
  md5 'c11fb0861aa84dcc6cd0f0798b045eee'

  # depends_on 'cmake'

  def install
    system "./configure", "--disable-debug", "--disable-dependency-tracking",
                          "--prefix=#{prefix}"
    # system "cmake . #{std_cmake_parameters}"
    system "make install"
  end
end

我继续

brew install -vd libapreq2

但不幸的是编译以错误结束。

mkdir: /usr/include/apache2/apreq2: Permission denied
make[3]: *** [install-pkgincludeHEADERS] Error 1
make[3]: *** Waiting for unfinished jobs....
/usr/bin/install -c .libs/mod_apreq2.so /usr/libexec/apache2/mod_apreq2.so
install: /usr/libexec/apache2/mod_apreq2.so: Permission denied
make[3]: *** [install-pkglibLTLIBRARIES] Error 71
make[2]: *** [install-am] Error 2
make[1]: *** [install-recursive] Error 1
make: *** [install-recursive] Error 1

Brew 尝试在/usr/local/Cellar/libapreq2/ 目录之外安装一些文件。我想知道如何管理这些“权限被拒绝”问题。我尝试以 root 用户身份(即sudo brew install libapreq2),但如果我以后想删除该库,则仅删除 /usr/local/Cellar/libapreq2/ 中的文件。

感谢任何指点。

【问题讨论】:

    标签: macos homebrew package-managers


    【解决方案1】:

    试试这个:

    sudo chown -R $(whoami) /usr/local/Cellar/libapreq2/
    

    它对我有用!

    【讨论】:

      【解决方案2】:

      您的软件包真的不应该在系统中安装任何包含在 /usr/include 中的内容。 homebrew 打包包含的位置是 /usr/local/include(作为 Cellar 的符号链接)。您只需要调整您的 ./configure 调用以将 #{prefix}/include 用于包含(可能是 --incdir 或非常类似的东西)。

      【讨论】:

        猜你喜欢
        • 2017-09-26
        • 2015-01-28
        • 2015-05-24
        • 2021-08-30
        • 2011-07-11
        • 2011-03-09
        • 2012-12-29
        • 2011-07-15
        • 1970-01-01
        相关资源
        最近更新 更多