当使用DBMaster编译PHP时,会发生“undefined reference to ´__ctype_b'”错误,原因是什么?该怎么办?(DBMR 1946, Version; DBMaster 4.2)

~ 0 min
2016-02-26 08:34

这个错误不是DBMaster的问题;它是Linux glibc版本问题。DBMaster使用glibc-2.1来make静态库,但是glibc-2.3删除了一些函数—ctype_b(), _ctype_toupper()…并且glibc保证共享库的二进制兼容性,这些共享库不包括静态库,所以不能保证静态库是兼容的,这就是返回undefined reference to ´__ctype_b'错误信息的原因。

用以下的方法解决这个问题:

1. 移动/home/dbmaster/4.2/lib/libdmapic.a到别的文件夹下。

2. 复制/home/dbmaster/4.2/lib/so/libdmapic.so到/home/dbmaster/4.2/lib/。

3. ./configure --with-apxs2=/usr/local/apache/bin/apxs --with-dbmaster=/home/dbmaster/4.2  --enable-track-vars  --enable-mbstring

4. make

这是一个连接.so的解决方法,别的客户已经make成功并应用于他们的系统中。

平均分: 0 (0 投票)

你不能对该内容发表评论

标签