此文属于网络收集而来,具体出处由于日子过于久远,无法准确的定位,如果本文章作者看到,可以联系我Mail:BOB.WU@LIVE.COM进行备注或者删除。

 发布此文,是因为这些报错大家确实经常见到,也是最头痛的,算是备忘录吧,不算是研究成果。

错误1:

checking for LUA... no

... checked for Lua via pkg-config: No package 'lua' found. retrying with lua5.1

看错误信息是说找不到lua包。

解决方案:

A>. 参数1.2步骤中所示,编译安装lua;

B>. 设置环境变量:

export LUA_CFLAGS="-I/usr/local/lua/include"

export LUA_LIBS="-L/usr/local/lua/lib -llua -ldl"

注意变量中的路径应为lua实际安装路径,而后重新执行configure配置编译程序。

如果执行上述操作故障依旧,可以尝试将lua安装路径下的etc/lua.pc文件复制到glib2安装路径中的lib/pkgconfig/文件夹内。

 

错误2:

checking for GLIB... configure: error: Package requirements (glib-2.0 >= 2.16.0) were not met:

Requested 'glib-2.0 >= 2.16.0' but version of GLib is 2.12.3

说明默认识别到的glib2版本不正确。

解决方案:

A>. 参照1.3步骤所示,编译安装适当版的glib;

B>. 设置环境变量:

export GLIB_CFLAGS="-I/usr/local/glib-2.2/include/glib-2.0"

export GLIB_LIBS="-L/usr/local/glib-2.2/lib/glib-2.0"

export GMODULE_CFLAGS="-I/usr/local/glib-2.2/include"

export GMODULE_LIBS="-L/usr/local/glib-2.2/lib"

export GTHREAD_CFLAGS="-I/usr/local/glib-2.2/include"

export GTHREAD_LIBS="-L/usr/local/glib-2.2/lib"

特别强调,GMODULE和GTHREAD的相关变量必须设置,否则会遇到(gmodule-2.0 >= 2.16.0) were not met或(gthread-2.0 >= 2.16.0) were not met之类错误。

变量值中的路径应为glib2的实际安装路径,而后重新执行configure配置编译程序。

 

错误3:

checking for event_init in -levent... no

configure: error: libevent is required

没有找到libevent依赖包。

解决方案:

A>. 参照1.1步骤中所示,编译安装libevent。

B>. 设置环境变量:

export LDFLAGS="-L/usr/local/libevent-1.4/lib -lm" 

而后重新执行configure配置编译程序

 

错误4:

/usr/local/lua/lib/liblua.a: could not read symbols: Bad value

看起来是lua调用出错,相关文档提示是提示:64bit环境可能遇到该现象。

解决方案:

A>. 编辑lua的src/MakeFile文件,修改下列参数:

CFLAGS= -O2 -Wall $(MYCFLAGS)

修改为:

CFLAGS= -O2 -Wall -fPIC $(MYCFLAGS)

B>. 按照1.2步骤中所示,编译安装lua。如果之前已经编译过,记得要执行make clean清除已编译配置。

 

错误5:

/usr/local/glib-2.22/include/glib-2.0/glib/gtypes.h:34:24: error: glibconfig.h: No such file or directory

解决方案:

# cp /usr/local/glib-2.2/lib/glib-2.0/include/glibconfig.h /usr/local/glib-2.2/include/glib-2.0/

而后重新执行编译。