Attempting to build on Rhel4 - x86_64 fails with the following for each:
Linking spider...
c++ -O -pthread Objs/spider.o Objs/resolver.o Objs/httpattr.o Objs/splogger.o Objs/relogger.o Objs/spconfig.o Objs/mimeconv.o Objs/spserver.o Objs/servbase.o Objs/robots.o Objs/spworker.o -L../storage -lstor -L../docparser -ldocparser -L../common -lcommon -L../utils -lutils -L/usr/lib/mysql -lmysqlclient -lz -lssl -lpthread -o ./spider
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
make: *** [spider] Error 1
The reason it fails is because 'COMPLIBS' in './do' hard codes '/usr/lib/mysql' for mysqlclient inclusion. On stock Redhat and other systems, the proper library path is '/usr/lib64/mysql' therefore causing this process to fail.
There should be a proper ./configure script that would allow you to specify '--libdir=/usr/lib64' or the like. However, as a simple work around I have patched './do' to include $COMPLIBS when adding options to COMPLIBS. This way, you can 'export COMPLIBS=$COMPLIBS -L/usr/lib64 -L/usr/lib64/mysql' before runing './doall' and compilation is successful.
I have attached the patch.
Patch to work around lib64 include issues.