When compiling PHP with DBMaker, the error “undefined reference to ´__ctype_b'” happens, what is the reason and how to do? (DBMR 1946, Version; DBMaker 4.2)
This error is not DBMaker's problem; it is from Linux glibc version issue. DBMaker use glibc-2.1 to make our static library, but glibc-2.3 removes some functions - _ctype_b(), _ctype_toupper()…And glibc ensures binary compatibility for shared libraries only not include static library, so static library is not ensured to be compatibility, that is the reason of undefined reference to ´__ctype_b' when link glibc-2.3.
Doing the following actions to solve this problem:
1. Moving /home/dbmaker/4.2/lib/libdmapic.a to other folder.
2. Copying /home/dbmaker/4.2/lib/so/libdmapic.so into /home/dbmaker/4.2/lib/
3. ./configure --with-apxs2=/usr/local/apache/bin/apxs --with-dbmaker=/home/dbmaker/4.2 --enable-track-vars --enable-mbstring
4. make
This is link .so solution; other customers had make success and apply into their system.