自制和许可被拒绝的问题

时间:2011-07-02 12:01:38

标签: macos homebrew package-managers

我尝试通过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/中的文件。

感谢您的任何指示。

2 个答案:

答案 0 :(得分:1)

您的软件包确实不应在 / usr / include 中的系统中安装任何内容。自制软件包的地方包括 / usr / local / include (作为符号链接到 Cellar )。您只需调整./configure调用以使用#{prefix}/include作为包含(可能是--incdir或类似的内容)。

答案 1 :(得分:0)

试试这个:

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

对我有用!