当前位置: 首页 > article >正文

奇怪的“LIBTOOL undefined”

奇怪的“LIBTOOL undefined”

在这里插入图片描述

场景介绍:
同一套代码,同一个编译服务器,相同的编译脚本,不同的用户A和B,但相同的环境变量PATH,A先编译,编译成功,B后编译,编译失败。B百思不得其解,这是为什么啊啊啊啊啊?

难道真有先行者的编译优势吗?

  1. 由于同处一个编译服务器,且没有做好环境隔离,这种情况往往就是因为A编译的时候已经污染了编译服务器主机环境。即编译动作对一些共享目录产生了影响;
  2. 共享目录一般指的是/usr/bin、/usr/local这样的目录,应该是为了创建隔离环境install的时候,install错误了位置;

解决方法

aclocal是个扫描程序, 负责扫描configure.ac中所有的宏定义并展开,问题产生的原因就是找不到LIBTOOL宏的定义之处造成的,也就是aclocal与libtool没有安装在一个相同目录下面。
方法1: 可以直接将libtool的m4宏文件拷贝到aclocal执行目录下;
方法2: 添加aclocal的执行目录加入$PATH;(aclocal --print-ac-dir的路径加入$PATH,置于PATH最前面)

总结

嵌入式开发中为了编译环境的隔离独立,往往会将编译工具放入SDK目录下的host目录,所以注意PATH的增加,是需要将host优先级提高的。


http://www.kler.cn/a/456373.html

相关文章:

  • Selenium+Java(21):Jenkins发送邮件报错Not sent to the following valid addresses解决方案
  • 玉米中的元基因调控网络突出了功能上相关的调控相互作用。\functions.R
  • 【基础篇】一、MySQL数据库基础知识
  • 【Unity3D】ECS入门学习(十二)IJob、IJobFor、IJobParallelFor
  • 深入浅出 MyBatis | CRUD 操作、配置解析
  • Pytorch | 利用SMI-FGRM针对CIFAR10上的ResNet分类器进行对抗攻击
  • 波士顿房价预测的详细介绍
  • Pandas01
  • C++ 并发专题 - 实现一个线程安全的队列
  • 4.基于 Couchbase 构建数据仓库的元数据管理方案
  • 【C语言程序设计——循环程序设计】利用循环求数值 x 的平方根(头歌实践教学平台习题)【合集】
  • 钉钉机器人发送excel表(简易版)
  • 使用ArcGIS/ArcGIS pro绘制六边形/三角形/菱形渔网图
  • vim文本编辑器常用命令和快捷键
  • Modern C++ std::atomic简介
  • neo4j无法导入csv文件
  • 渗透测试入门DVWA 教程1:环境搭建
  • 【WRF模拟】最高/最低日气温偏高/偏低的参数调整
  • 【Android】application@label 属性属性冲突报错
  • 潇洒郎:部署Dify, 安装Ollama,Ollama下载模型,Dify配置模型
  • JavaScript甘特图 dhtmlx-gantt
  • 面试场景题系列:设计URL短链
  • 深度学习中的参数初始化
  • Anaconda 安装与虚拟环境创建完整指南
  • jetbrains HTTPS 请求与响应流量分析报告【二】
  • C语言实践中的补充知识 Ⅶ