在詹金斯(Jenkins)运行命令

Run make command in Jenkins

本文关键字:运行 命令 Jenkins 金斯      更新时间:2023-10-16

我正在尝试构建C 项目。

当我在终端运行make命令时,但是,当我通过詹金斯(Jenkins(做到这一点时,它向我展示了一条消息,即文件丢失。

有什么问题,我该如何解决?

错误:

+ make
make -f enclave_lib.mk SGX_DEBUG=1
make[1]: Entering directory '/home/yoni/Documents/private_ledger-tp/CryptoLib'
mt19937ar.c:44:19: fatal error: stdio.h: No such file or directory

从您的评论中,问题是詹金斯被执行为root用户,找不到lib stdio.h。

要解决此问题,您可以有几个选择:

  • 找到stdio.h您从用户运行此命令。它将为您提供通往stdio.h的道路。您可以喂养
  • sudo apt-get安装build-ensenten

作为root用户,您可以安装Build-Essenty。应该安装此缺失的依赖项

  • 用您的特权执行Jenkins,而不是root特权
  • 在您的构建过程中,连接到您的帐户(SU Youruser(

事实证明,在我们的情况下,这是环境变量的问题。

我为解决它做了什么是

  1. 从终端和Jenkins获取环境变量的数据,并将它们分类为2个文件。
  2. 将2个文件与键盘进行比较
  3. 任何似乎相关的变量,终端环境和詹金斯没有放入/etc/环境文件中(詹金斯从那里获取其他环境var(

    env |sort> envinterminal.txt

    env |sort> envinjenkins.txt

    Meld Envinterminal.txt Envinjenkins.txt

    sudo gedit/etc/ecropnerion