【gpdb编译报错】configure: error:libevent is required for gpfdist, unable to find binary

在解决问题之前,您可以通过下面的导航快速找到相关资源,助您一臂之力!💡👇

快捷导航链接地址备注
🌟 相关文档-
📚 Ambari+Bigtop自定义组件集成点击查看优快云地址
📖 Ambari+Bigtop所有手册目录点击查看Gitee
🚀 编译、开发、部署、集成解决方案点击查看知识星球
💻 源代码-
Ambari-env点击查看GitHub
Ambari-env点击查看Gitee
Ambari-2.8.0魔改版点击查看Gitee
💾 编译包-
☁️ 蓝奏云-1.0.2点击下载
🔐 阿里云盘-1.0.2点击下载提取码:01no
📞 联系方式-
📬 QQ:1群加入我们

正题:如何解决 configure: error:libevent is required for gpfdist 错误问题 🤔

1️⃣ 错误分析

下述完整报错日志:

10:32:14.178 [QUIET] [system.out] checking for inflate in -lz... yes
10:32:14.245 [QUIET] [system.out] checking for apr-l-config... /usr/bin/apr-l-config
10:32:14.289 [QUIET] [system.out] configure: using apr-l-config 1.4.8
10:32:14.325 [QUIET] [system.out] checking for library containing apr_getopt_long... none required
10:32:14.401 [QUIET] [system.out] checking for library containing event_add... no
10:32:14.513 [ERROR] [system.err] configure: error: Libevent is required for gpfdist
10:32:14.533 [ERROR] [system.err] error: Bad exit status from /var/tmp/rpm-tmp.AB1234 (%build)
10:32:14.533 [QUIET] [system.out]
10:32:14.533 [QUIET] [system.out] RPM build errors:
10:32:14.533 [ERROR] [system.err]     Bad exit status from /var/tmp/rpm-tmp.AB1234 (%build)
10:32:14.588 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: FAILED
10:32:14.589 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Process 'command 'rpmbuild'' finished with exit value 1 (state: FAILED)
10:32:14.590 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Execute doLast {} action for :gpdb-rpm'
10:32:14.590 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Execute doLast {} action for :gpdb-rpm' completed
10:32:14.590 [DEBUG] [org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter] Removed task artifact state for {} from context.
10:32:14.590 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Task :gpdb-rpm'
10:32:14.544 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger]
10:32:14.544 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] > Task :gpdb-rpm FAILED
10:32:14.590 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Task :gpdb-rpm' completed
10:32:14.591 [INFO] [org.gradle.execution.plan.DefaultPlanExecutor] :gpdb-rpm (Thread[Execution worker for ':',5,main]) completed. Took 12.419 secs.
10:32:14.601 [INFO] [org.gradle.execution.plan.DefaultPlanExecutor] Waiting for background tasks to complete
10:32:14.613 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker for ':': released lock on root.1.6
10:32:14.621 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Task :gpdb-clean' started
10:32:14.630 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Task :gpdb-clean'
10:32:14.634 [DEBUG] [org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter] Removed task artifact state for {} from context.
10:32:14.640 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Task :gpdb-clean'
10:32:14.645 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Execute doLast {} action for :gpdb-clean' completed

根据日志分析,在编译 Greenplum Database (GPDB) 时,系统无法找到 Libevent 库,这是 gpfdist 所必需的事件通知库。Libevent 负责提供高效的事件处理机制,例如网络连接和文件描述符的事件通知。如果缺少 Libevent,gpfdist 无法正常编译和运行。
日志中的 configure: error: Libevent is required for gpfdist 错误,明确指出了问题所在。同时,Bad exit status from /var/tmp/rpm-tmp.AB1234 也进一步表明构建过程因缺少关键依赖库而终止。


2️⃣ 解决方案 💡
  1. 确认缺失的库 🔧:

    • 日志指出缺少 Libevent,因此首先需要确认系统中是否已安装该库。可以通过以下命令进行检查:

      whereis libevent
      
  2. 安装 Libevent 📦:

    • 如果系统未安装 Libevent,可以使用以下命令安装该库:

      • Debian/Ubuntu 系统

        sudo apt-get update
        sudo apt-get install libevent-dev
        
      • CentOS/Fedora 系统

        sudo yum install libevent libevent-devel
        
  3. 重新配置和编译 🔄:

    • 安装完 Libevent 后,重新运行 ./configure 命令,以确保系统能够找到所需的库。

      ./configure
      make
      
  4. 检查其他依赖 ⚠️:

    • 其他可能需要的依赖如 aprzlib 也可能影响构建。可以通过以下命令确保这些依赖项都已安装:

      sudo apt-get install libapr1 libapr1-dev zlib1g-dev
      

3️⃣ 我的解决方案(懒人办法)💡🚀

如果你希望更快速地解决所有编译问题,不妨试试 ambari-env!这个一键解决方案不仅能帮你轻松安装所需工具,还能配置好所有环境依赖,让你专注于项目开发,而无需担心繁琐的环境配置。

我们的初始化脚本会自动安装所有必要的依赖项,并且提供配置步骤,从编译到安装,无需你手动操作。这是解决依赖问题的快捷方式,确保你可以快速上手并解决 libevent-devel 缺失的问题。

在这里插入图片描述

⬇️⬇️⬇️查看全部内容⬇️⬇️⬇️


更多详细内容请关注我们的微信公众号:发送"文章"关键字获取

或加入QQ1群,了解版本动向,解答大数据问题。


⬆️⬆️⬆️查看全部内容⬆️⬆️⬆️

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TTBIGDATA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值