【问题标题】:conan system_requirements auto install柯南 system_requirements 自动安装
【发布时间】:2023-01-15 02:36:23
【问题描述】:
安装时xorg使用 conan install .. 命令,
使用 pkg-config 工具在 conan receipe 中检查系统要求。
每个丢失的系统包都会引发异常,从而停止 conan install 命令。
ERROR: xorg/system: Error in package_info() method, line 97
self._fill_cppinfo_from_pkgconfig(name)
while calling '_fill_cppinfo_from_pkgconfig', line 24
if not pkg_config.provides:
ConanException: pkg-config command ['pkg-config', '--print-provides', 'xcb-renderutil', '--print-errors'] failed with error: Command 'pkg-config --print-provides xcb-renderutil --print-errors' returned non-zero exit status 1.
Package xcb-renderutil was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb-renderutil.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xcb-renderutil' found
我无法通过 conan 工具安装这些系统包,我在调用 conan 时是否缺少命令行参数?
【问题讨论】:
标签:
c++
linux
installation
conan
system-requirements
【解决方案1】:
通常会有特定于发行版的包管理器警告,列出需要在该行上方安装的依赖项:
ERROR: xorg/system:...
例如,在 Ubuntu 22.04 上,将 opencv/4.5.5 添加到我的 conanfile.txt 后,我得到了以下内容:
...
dpkg-query: no packages found matching libx11-xcb-dev
dpkg-query: no packages found matching libfontenc-dev
dpkg-query: no packages found matching libxaw7-dev
dpkg-query: no packages found matching libxkbfile-dev
dpkg-query: no packages found matching libxmu-dev
dpkg-query: no packages found matching libxmuu-dev
...
ERROR: xorg/system:...
您可以通过安装列出的依赖项来解决此问题。就我而言,这就是解决问题的方法:
sudo apt-get install -y xorg openbox xauth libx11-xcb-dev libx11-xcb-dev libfontenc-dev libxaw7-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev libxxf86vm-dev
【解决方案2】:
你可以让柯南自己将二进制包安装到你的系统中( sudo apt-get install ... )。看我的example:
sudo conan install /home/username/QtProj/console_test1/QCoreApplication_quit_example/conanfile.txt --build=qt **-c tools.system.package_manager:mode=install**
要使用它,必须使用 sudo 安装你的 conan 版本。如果你得到:须藤:柯南:找不到命令
你应该做:
pip uninstall conan
sudo pip install conan