在自制公式中指定x11依赖的正确方法是什么?默认的superenv从其参数中移除/opt/X11/lib。
我正在为一个软件包编写一个公式,我可以用通常的配置,make在自制之外构建它。
所以我有这个安装功能:
def install
ENV["PKG_CONFIG_PATH"] = "/usr/local/opt/qt/lib/pkgconfig"
# ENV["PATH"] = "/usr/local/bin:/usr/bin:/bin" <--- work around
Dir.chdir("codebase")
system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}"
system "make install"
end得到回显的链接阶段显示
/bin/sh ../../../../libtool --tag=CXX --mode=link clang++ .... -I /opt/X11/include ..... -L/opt/X11/lib ...但是链接失败了
ld: library not found for -lX11如果我将其添加到类定义的顶部,则构建是成功的env :std。
或者,我可以在构建函数中设置路径,然后构建成功。
这是有意义的,因为在/usr/local/Homebrew/Library/Homebrew/shims/super的上下文中,brew install出现在路径的开头,并且该目录有一个clang++,其中包括去掉/opt/X11组件。
我认为这种行为有一个很好的理由,我想知道什么是最好的方法来指定X11库。
发布于 2018-05-06 21:17:42
在编写Hombrew公式时,最简单的方法是了解如何编写东西,看看现有的公式。对于您的情况,您可以查看MuPDF,一个轻量级的PDF和XPS查看器,这取决于X11。在其公式中,您将找到解决方案:
depends_on :x11https://stackoverflow.com/questions/50143112
复制相似问题