mysql用的是源码5.5.11安装的,在编译的时候使用不同参数,configure能正常通过,make却报错,也有configure报错,nake却正常的
更详细的ndoutils安装问题,请看此文http://hi.baidu.com/dongjunjia/blog/item/3c0043ed27a52a372697919f.html
这里,我主要是记录下解决此问题的方法
#./configure --prefix=/usr/local/nagios --enable-mysql  LDFLAGS=-L/usr/local/mysql --with-mysql-inc=/usr/local/mysql/include  --with-ndo2db-user=nagios --with-ndo2db-group=nagios --with-mysql=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib/mysql
前面省略掉……
checking for initgroups... yes
checking for strtof... yes
checking for type of socket size... size_t
checking for linker flags for loadable modules... -shared
checking for mysql_init in -lmysqlclient... yes
MySQL library and include file(s) were found!
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating docs/docbook/en-en/Makefile
config.status: creating subst
config.status: creating include/config.h

*** Configuration summary for ndoutils 1.5 02-03-2012 ***:
 General Options:
 -------------------------
 NDO2DB user:    nagios
 NDO2DB group:   nagios

Review the options above for accuracy.  If they look okay,
type 'make' to compile the NDO utilities.
 configure是成功的
[root@localhost ndoutils-1-5]# make
cd ./src && make
make[1]: Entering directory `/root/nagios/nd2db_test/ndoutils-1-5/src'
gcc -fPIC -g -O2 -I/usr/local/mysql/include -DHAVE_CONFIG_H  -c -o io.o io.c
在包含自 io.c:11 的文件中:
../include/config.h:261:25: 错误:mysql/mysql.h:没有那个文件或目录
../include/config.h:262:26: 错误:mysql/errmsg.h:没有那个文件或目录
make[1]: *** [io.o] 错误 1
make[1]: Leaving directory `/root/nagios/nd2db_test/ndoutils-1-5/src'
make: *** [all] 错误 2
[root@localhost ndoutils-1-5]#
这里make出错,那么查看提示,无法找到mysql.h  errmsg.h
先在系统里面找这2个文件
[root@localhost ndoutils-1-5]# find /usr/local/mysql/ -name mysql.h
/usr/local/mysql/include/mysql.h
[root@localhost ndoutils-1-5]# find /usr/local/mysql/ -name errmsg.h
/usr/local/mysql/include/errmsg.h
第二看报错信息  ../include/config.h  那么由此可以看到  上面2个出错文件是由config .h定义的
#include <mysql/mysql.h>
#include <mysql/errmsg.h>
找到这2个文件的位置
从这里可以看出  mysql/mysql.h mysql/errmsg.h  在系统里面是无法找到的,所以修改如下
#include </usr/local/mysql/include/mysql.h>
#include </usr/local/mysql/include/errmsg.h>
再次make 则顺利通过
当然,处理上面的问题,还可以通过建立链接的方式
对上面解决问题的思路做一个总结:
编译源码包,通常会遇到N多依赖关系,常常提示无法找到某文件,缺少某依赖包,有时候装上相关软件,还是无法继续
往往给我们带来很多麻烦。对于此类问题,首先是找到错误提示信息,针对错误提示,分析系统是否有这个文件,再次是分析源码文件的库文件相关应用位置,上例中,正是由于库文件引用不正确导致的,所以很容易就把吃问题解决了。
解决问题的方法不重要,思路却是最重要的,思路清晰了,方法自然来了 ,希望给大家带来一点收获
本文转自it你好 51CTO博客,原文链接:http://blog.51cto.com/itnihao/792286,如需转载请自行联系原作者

源码编译依赖关系一例小结相关推荐

  1. python源码编译为库_【Python笔记】如何源码编译依赖LAPACK和ATLAS库的NumPy包

    上篇笔记介绍了不依赖lapack和atlas库的NumPy包源码编译/安装方法,但"纯净版"的NumPy会损失性能,故本篇笔记说明如何源码编译安装依赖lapack和atlas库的N ...

  2. 云帆教育大数据分享-Flume-0.9.4源码编译及一些编译出错解决方法

    Flume-0.9.4源码编译及一些编译出错解决方法 由于需要在Flume里面加入一些我需要的代码,这时候就需要重新编译Flume代码,因为在编译Flume源码的时候出现了很多问题,所以写出这篇博客, ...

  3. 打包跳过编译_Apache Flink v1.9-SNAPSHOT 源码编译

    Apache Flink v1.9-SNAPSHOT 源码编译 下载源码 Flink 源码可以从官方 github repository上下载. git clone https://github.co ...

  4. Apache Ranger源码编译及使用

    Ranger源码编译.使用手册 1 Ranger简介 Apache Ranger提供一个集中式安全管理框架,它可以对Hadoop生态的组件如Hive,Hbase进行细粒度的数据访问控制.通过操作Ran ...

  5. Python 3.10版本及其依赖项 Linux下源码编译 安装到指定路径/目录

    Python 3.10版本及其依赖项 Linux下源码编译 安装到指定路径/目录 安装需求 准备工作 Python及其依赖项 libffi glibc GDBM mpdecimal bz2 xz re ...

  6. Linux 源码编译安装过程-以安装XZ解压为例

    一.描述 Linux安装软件一般有两种安装方式:安装包安装和源码安装. 1.安装包安装.安装包安装比较简单,例如采用apt-get  install +软件名 命令,安装 deb 包的 Linux 操 ...

  7. 源码编译安装PHP7.4,解决openssl,libxml2,libcurl依赖的问题

    使用源码编译安装PHP7.4是在各种Linux平台上安装PHP的主要形式,通常会遇到各种错误,不是缺少依赖,就是依赖的库版本太低. 主要问题 本人编译PHP碰到的错误主要有如下几个: 1)libxml ...

  8. 源码编译altas mysql_Atlas的安装

    一.安装 1. RedHat/CentOS下安装Atlas(推荐方式) sudo rpm –i Atlas-XX.el6.x86_64.rpm安装. 注意事项: (1).Atlas只能安装运行在64位 ...

  9. 代码工程 /Qt /5.9.3源码编译

    文章目录 概述 小试牛刀 安装Perl configure 执行编译 执行安装 再试牛刀 CMD导致的杯具 正式使用新环境 Qt 安装版(exe文件) 目录基本说明 一个小插曲 重新来过 编译环境 P ...

最新文章

  1. 「深度」线下大数据正成为构建精准“用户画像”的最大助力
  2. python神奇时钟项目_Python Tkinter 数字时钟小项目
  3. Invalid indirect reference 0x28 in decodeIndirectR
  4. php命名空间划重点
  5. Asp.net SignalR 实现服务端消息推送到Web端
  6. MyBatis(增删改查)
  7. LeetCode--Search in Rotated Sorted Array
  8. 彷徨编程十几年,终于盯上 Rust
  9. 开红字信息表的时候服务器为空,对方开了红字信息表但系统没有显示怎么办
  10. [SDOI2006]保安站岗 树dp
  11. 不仅仅于 Json和XML ,快来学习Google出品的序列化神器Protocol Buffer
  12. python打平处理嵌套list
  13. GD32F103学习笔记(3)——新建工程
  14. 计算机鼠标双击怎么,鼠标双击变成属性怎么办 鼠标双击变成属性解决办法【详解】...
  15. 基于Hadoop的云计算平台配置
  16. 咋么用计算机打出,键盘怎么输入符号_怎么用电脑键盘打符号-win7之家
  17. uniapp离线打包
  18. golang 将kafka的offset置为最新
  19. flask内容学习第三天(flak中的csrf跨站请求)
  20. 不惑之年一次性通过软考高项的苦与乐

热门文章

  1. element UI 制作带快捷选项的时间选择器
  2. Linux安装或升级openssh步骤和可能遇到的问题
  3. java util包类_java.util包下的类及常用方法
  4. VR创投寻鹰会,一场深圳VR行业人的大聚会
  5. 关于_WIN32_WINNT的含义
  6. Twain 学习纪录
  7. 如何优化代码节约系统资源解决重复实例化对象的问题——神奇的单例模式(C#设计模式)...
  8. 探讨ASP.NET 2.0中的Web控件改进技术(2)
  9. 为什么喜欢听钢琴+小提琴
  10. 肌肉减少症导致的老人跌倒