我正在尝试从Ubuntu映像构建一个项目,作为CI管道的一部分。
我粘贴了记录在下面的最后几行:
Not updating system_requirements. CONAN_SYSREQUIRES_MODE=verify
Running: sudo -A apt-get install -y --no-install-recommends libfontenc-dev libice-dev libsm-dev libx11-xcb-dev libxaw7-dev libxcb-dri3-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-util-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev libxxf86vm-dev xkb-data
/bin/sh: 1: sudo: not found
xorg/system: ERROR: while executing system_requirements(): Command 'sudo -A apt-get install -y --no-install-recommends libfontenc-dev libice-dev libsm-dev libx11-xcb-dev libxaw7-dev libxcb-dri3-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-util-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev libxxf86vm-dev xkb-data' failed
ERROR: Error in system requirements
CMake Error at build/conan.cmake:631 (message):
Conan install failed='1'
Call Stack (most recent call first):
cmake/Conan.cmake:47 (conan_cmake_install)
CMakeLists.txt:42 (run_conan)
-- Configuring incomplete, errors occurred!这是因为thngs已经作为根用户运行了吗?如果是,是否有一种方法可以让conan在不调用sudo的情况下运行?
对于那些想要复制错误的人:
启动image
ubuntu:20.10 ubuntu:20.10$ apt update && apt install -y python3-pip pkg-config libudev-dev libgl-dev安装conan:pip install conan
conanfile.txt,其内容如下:[requires]
sfml/2.5.1conan install path/to/conanfile.txt
上粘贴的错误
发布于 2021-12-20 23:22:22
当您在conanfile中将libA指定为依赖项时,它还将安装libA所需的所有依赖项。然而,conan中的一些包(并不多)也有“系统需求”。系统需求只是包的另一个依赖项,但还没有作为conan包打包,而是通过系统包管理器安装的。您要安装的软件包至少有一个系统要求。
当有系统需求时,conan将需要管理特权,因为它将调用您的系统包管理器来安装该要求。对于Linux,这种管理权限意味着使用sudo。但是,您在CI中使用的图像没有sudo。
如果可以的话,只需使用另一个包含sudo的图像就可以了。
您还可以查看您正在尝试使用的conan包的配方。包可以提供选项,并且您尝试使用的包可能有一些选项,例如,不启用某些特性,因此不依赖于某个库。
要获得更多信息,您需要通知您要使用的包。
https://stackoverflow.com/questions/70426968
复制相似问题