首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Conan从容器内部失败,出现"sudo: not“错误

Conan从容器内部失败,出现"sudo: not“错误
EN

Stack Overflow用户
提问于 2021-12-20 19:24:05
回答 1查看 551关注 0票数 0

我正在尝试从Ubuntu映像构建一个项目,作为CI管道的一部分。

我粘贴了记录在下面的最后几行:

代码语言:javascript
复制
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

  • Run

  1. ubuntu:20.10 ubuntu:20.10

代码语言:javascript
复制
$ apt update && apt install -y python3-pip pkg-config libudev-dev libgl-dev

安装conan:pip install conan

  • Create a conanfile.txt,其内容如下:

代码语言:javascript
复制
[requires]
sfml/2.5.1

conan install path/to/conanfile.txt

  • Observe
  1. 运行

上粘贴的错误

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-20 23:22:22

当您在conanfile中将libA指定为依赖项时,它还将安装libA所需的所有依赖项。然而,conan中的一些包(并不多)也有“系统需求”。系统需求只是包的另一个依赖项,但还没有作为conan包打包,而是通过系统包管理器安装的。您要安装的软件包至少有一个系统要求。

当有系统需求时,conan将需要管理特权,因为它将调用您的系统包管理器来安装该要求。对于Linux,这种管理权限意味着使用sudo。但是,您在CI中使用的图像没有sudo。

如果可以的话,只需使用另一个包含sudo的图像就可以了。

您还可以查看您正在尝试使用的conan包的配方。包可以提供选项,并且您尝试使用的包可能有一些选项,例如,不启用某些特性,因此不依赖于某个库。

要获得更多信息,您需要通知您要使用的包。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70426968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档