m0_51853508 2024-06-17 21:07 采纳率: 0%
浏览 13
已结题

【Hadoop 问题】Hadoop编译所遇问题hadoop-common: make failed with error code 2

Hadoop源码编译所遇报错:hadoop-common: make failed with error code 2

在遇到这个问题前的报错是:hadoop-common: CMake failed with error code 1

我在网上查找资料下载了一些依赖包后就变成了现在的报错了

我的相关软件版本:
maven-3.5
jdk1.8
protobuf-2.5.0
hadoop-3.0.0
OpenSSL-3.0.13
cmake-3.28.3

系统是Ubuntu(我也尝试过linux但也还是同样的报错)

img

img

请问大家这是什么问题 要如何解决

  • 写回答

19条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-17 21:07
    关注

    引自免费微信小程序:皆我百晓生

    从你提供的信息来看,你在编译Hadoop源码时遇到了make failed with error code 2的错误,具体错误信息指向了exception.c文件中的未声明标识符问题。这通常意味着编译器在编译过程中遇到了一些它不认识的宏定义或者函数。问题的核心在于sysnerrsys_errlist这两个标识符没有被正确识别。

    解决方案

    步骤1:确认宏定义

    首先,确保你的系统中包含正确的头文件,尤其是与错误信息相关的sys/nerr.h或类似头文件。sysnerrsys_errlist通常是在这个头文件中定义的,用于错误处理。检查你的系统是否安装了相应的开发库,例如libc-devglibc-devel等,这些库通常包含了必要的头文件。

    步骤2:更新或安装库

    如果你发现缺少必要的库,可以通过包管理器进行安装。在Ubuntu上,可以使用以下命令:

    sudo apt-get update
    sudo apt-get install libc6-dev
    

    步骤3:重新配置并编译

    安装完所需的库之后,你需要重新运行Hadoop的构建过程。确保在开始之前清理旧的构建文件:

    mvn clean
    

    然后再次尝试构建:

    mvn package
    

    进一步排查

    如果上述步骤未能解决问题,可能需要进一步检查你的构建环境和配置。确保所有依赖的版本兼容,并且没有其他环境变量干扰编译过程。

    检查版本兼容性

    确认你的cmakemavenjdk以及Hadoop源码版本之间不存在不兼容的问题。

    环境变量检查

    有时,环境变量的设置也会影响编译结果。检查是否有特定的环境变量(如CCCXXCFLAGS等)可能影响到编译器的行为。

    通过以上步骤,你应该能够解决编译Hadoop源码时遇到的make failed with error code 2的问题。如果仍然遇到困难,建议查阅更详细的编译日志,或者在Hadoop社区论坛寻求帮助,那里可能会有针对你具体版本和环境的更具体指导。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月21日
  • 创建了问题 6月17日

悬赏问题

  • ¥15 咨询一下有关于王者荣耀赢藏战绩
  • ¥100 求购一套带接口实现实习自动签到打卡
  • ¥50 MacOS 使用虚拟机安装k8s
  • ¥500 亚马逊 COOKIE我如何才能实现 登录一个亚马逊账户 下发新 COOKIE ..我使用下发新COOKIE 导入ADS 指纹浏览器登录,我把账户密码 修改过后,原来下发新COOKIE 不会失效的方式
  • ¥20 玩游戏gpu和cpu利用率特别低,玩游戏卡顿
  • ¥25 oracle中的正则匹配
  • ¥15 关于#vscode#的问题:把软件卸载不会再出现蓝屏
  • ¥15 vimplus出现的错误
  • ¥15 usb无线网卡转typec口
  • ¥30 怎么使用AVL fire ESE软件自带的优化模式来优化设计Soot和NOx?