【问题标题】:How to alias a package for pkg-config?如何为 pkg-config 命名一个包?
【发布时间】:2017-10-25 16:54:05
【问题描述】:

我收到此错误:

Configuring cpython-3.4.0...
Cabal-simple_mPHDZzAJ_1.24.2.0_ghc-8.0.2: The pkg-config package 'python-3.4'
is required but it could not be found.

当我在设置 Stack 环境以测试 Haskell 的 CPython 模块的过程中运行 stack build(这些 Haskell 特定的详细信息可能不相关)时。

我通过 Nix 安装了 Python 3.4。 Nix 选择的命令是python3.4,所以我将python-3.4 的别名设置为python3.4(通过将alias python-3.4=python3.4 添加到我的.bashrc 文件中)。但是pkg-config 仍然给我同样的错误。

我使用的是 KUbuntu(即带有 KDE 的 Ubuntu)版本 16.04。

--

根据格雷森先生的评论,变量 $PKG_CONFIG_PATH 似乎为空:

jeff@jbb-lenovo:/nix$ echo $PKG_CONFIG_PATH

jeff@jbb-lenovo:/nix$ 

这里是python-3.4.pc的路径和内容:

jeff@jbb-lenovo:/nix$ find . -name "python-3.4.pc"
./store/q5p46zmky5z6w54bh8gaqbgwkdbqk4qg-python3-3.4.7/lib/pkgconfig/python-3.4.pc
jeff@jbb-lenovo:/nix$ cat ./store/q5p46zmky5z6w54bh8gaqbgwkdbqk4qg-python3-3.4.7/lib/pkgconfig/python-3.4.pc
# See: man pkg-config
prefix=/nix/store/q5p46zmky5z6w54bh8gaqbgwkdbqk4qg-python3-3.4.7
exec_prefix=${prefix} libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: Python
Description: Python library
Requires: 
Version: 3.4
Libs.private: -lpthread -ldl -lcrypt -lncurses -lutil
Libs: -L${libdir} -lpython3.4m
Cflags: -I${includedir}/python3.4m

【问题讨论】:

  • 你是如何制作别名的?你能把你的python-3.4.pc文件的内容和完整路径,以及$PKG_CONFIG_PATH的完整内容贴出来吗?
  • 已发布。谢谢你,格雷森先生!
  • 听起来你只是在普通的 Ubuntu shell 中运行 stack build,而不是在 nix-shell 中运行,或者在使用 nix-build 构建派生的构建器中运行。使用 Nix 构建软件的一般方法是为其派生创建一个表达式,然后运行 ​​nix-build 来构建该派生。依赖项没有“安装”(这是用户环境问题),它们被添加到 stdenv.mkDerivation 参数中的 buildInputs 列表中。
  • 在您的用户环境中安装某些东西实际上是为了完成软件,而不是您将用于构建其他软件的库。
  • 除了安装 Python 3.4 之外,我并没有尝试将 Nix 用于任何事情。你的意思是如果我这样做,我也必须使用 Nix for Stack?

标签: python-3.x cabal haskell-stack pkg-config nix


【解决方案1】:

您需要将文件 python-3.4.pc 移动到 pkg-config 将查找的目录之一。

查看所有目录搜索:

$ pkg-config --variable pc_path pkg-config

然后将文件放入列出的文件夹之一。

【讨论】:

    猜你喜欢
    • 2015-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 2013-08-30
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多