Hi all, I am building a new environment running AOL Server 4.5.1 and need to install nsmysql. I have managed this in the past but this time I am running into a few issues.
First time around I tried to use the pre-compiled binaries of version 0.6 from http://panoptic.com/wiki/aolserver/Nsmysql, is this very out of date? I got it setup and working (I thought) until I issued a select statement, upon which i got a fatal signal: [24/May/2009:12:24:09][12724.2689936][-default:0-] Notice: encoding: loaded: iso8859-1 [24/May/2009:12:24:09][12724.2689936][-default:0-] Notice: dbdrv: opening database 'mysql:127.0.0.1:13306:db_feeds' [24/May/2009:12:24:09][12724.2689936][-default:0-] Notice: mysql_real_connect(127.0.0.1, feedusr, <password>, db_feeds, 13306) [24/May/2009:12:24:09][12724.2689936][-default:0-] Notice: Ns_MySQL_Exec(127.0.0.1:13306:db_feeds) called. [24/May/2009:12:24:09][12724.2689936][-default:0-] Notice: Ns_MySQL_Exec(sql) = 'SELECT id, shortName, longName, url FROM feeds' [24/May/2009:12:24:09][12724.2689936][-default:0-] Notice: Ns_MySQL_Exec(numcols) = 4 [24/May/2009:12:24:09][12724.2689936][-default:0-] Notice: Ns_MySQL_Exec(status) = NS_ROWS [24/May/2009:12:24:09][12724.2689936][-default:0-] Notice: dbinit: sql(127.0.0.1:13306:db_feeds): 'SELECT id, shortName, longName, url FROM feeds' [24/May/2009:12:24:09][12724.2689936][-default:0-] Notice: Ns_MySQL_BindRow(127.0.0.1:13306:db_feeds) called. [24/May/2009:12:24:09][12724.2689936][-default:0-] Notice: Ns_MySQL_BindRow(numcols) = 4 [24/May/2009:12:24:09][12724.2689936][-default:0-] Fatal: received fatal signal 11 Aborted I have tried various iterations of the code that was making use of the driver but all failed. The environment I am building is not using a standard layout, things are installed as: AOLServer: /data/opt/aolserver MySQL: /data/opt/mysql - runs on port 13306 Tcl: /data/opt/aolserver/lib This is all running on Ubuntu 8.04.2 (32bit) All software was installed from source. To get the pre-compiled binary to work I added a symlink from /usr/local/lib/mysql/libmysqlclient_r.so.10 to /data/opt/mysql/lib/mysql/libmysqlclient_r.so.16.0.0 Because of the unusual layout I thought it best to try and build the nsmysql driver from source so everything was linked properly. To do this I checked it out from CVS (head) and made the following modifications: - Edited Makefile to point AOLSERVER to /data/opt/aolserver - Edited Makefile to point NSHOME to /data/opt/aolserver - there is something in the AOLServer Makefile.modules that sets AOLSERVER to NSHOME if it is defiend, and if the nsmysql Makefile is pointing NSHOME to $AOLSERVER then you get a bad case of recursion. Making these hard coded to /data/opt/aolserver sorted this out - Edited the Makefile to set $MYSQL_PREFIX to /data/opt/mysql - Edited line 40 in Makefile to the following: MODLIBS += -L$(MYSQL_LIBDIR) -lmysqlclient_r -lnsdb - Compiled by issuing make NO_ROPT=1 NO_LDOVERRIDE=1 install Here is the output: gcc -pipe -I/data/opt/mysql/include/mysql -g -Wall -Wno-implicit-int -fno-strict-aliasing -fPIC -I/data/opt/aolserver/include -I/data/opt/aolserver/include -DNO_CONST -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_GETPWUID_R_5=1 -DHAVE_GETPWUID_R=1 -DHAVE_GETPWNAM_R_5=1 -DHAVE_GETPWNAM_R=1 -DHAVE_GETGRGID_R_5=1 -DHAVE_GETGRGID_R=1 -DHAVE_GETGRNAM_R_5=1 -DHAVE_GETGRNAM_R=1 -DHAVE_GETHOSTBYNAME_R_6=1 -DHAVE_GETHOSTBYNAME_R=1 -DHAVE_GETHOSTBYADDR_R_8=1 -DHAVE_GETHOSTBYADDR_R=1 -DUSE_TERMIOS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_LANGINFO=1 -DHAVE_SYS_IOCTL_H=1 -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DTCL_CFG_DEBUG=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_TIMEGM=1 -DHAVE_DRAND48=1 -DHAVE_RANDOM=1 -DHAVE_POLL=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1 -c -o mysql.o mysql.c mysql.c: In function ‘Ns_MySQL_OpenDb’: mysql.c:133: warning: unused variable ‘len’ mysql.c:133: warning: unused variable ‘y’ mysql.c:133: warning: unused variable ‘x’ mysql.c:125: warning: unused variable ‘rc’ mysql.c: At top level: mysql.c:15: warning: ‘rcsid’ defined but not used /data/opt/aolserver/bin/tclsh8.4 /data/opt/aolserver/bin/nsremove.tcl libnsmysql.so gcc -pipe -shared -nostartfiles -o libnsmysql.so mysql.o \ -L/data/opt/aolserver/lib -lnsd -lnsthread -L/data/opt/aolserver/lib -ltcl8.4g -ldl -lpthread -lieee -lm -lgcc_s -Wl,-rpath,/data/opt/aolserver/lib /data/opt/aolserver/bin/tclsh8.4 /data/opt/aolserver/bin/nsremove.tcl nsmysql.so gcc -pipe -shared -nostartfiles -o nsmysql.so -L/data/opt/mysql/lib/mysql -lmysqlclient_r -lnsdb -L. -lnsmysql -L/data/opt/aolserver/lib -lnsd -lnsthread -L/data/opt/aolserver/lib -ltcl8.4g -ldl -lpthread -lieee -lm -lgcc_s -Wl,-rpath,/data/opt/aolserver/lib /data/opt/aolserver/bin/tclsh8.4 /data/opt/aolserver/bin/nsinstall.tcl -d /data/opt/aolserver/bin -e nsmysql.so installed: /data/opt/aolserver/bin/nsmysql.so (0755) /data/opt/aolserver/bin/tclsh8.4 /data/opt/aolserver/bin/nsinstall.tcl -d /data/opt/aolserver/lib -e libnsmysql.so installed: /data/opt/aolserver/lib/libnsmysql.so (0755) /data/opt/aolserver/bin/tclsh8.4 /data/opt/aolserver/bin/nsinstall.tcl -d /data/opt/aolserver/lib libnsmysql.a ranlib /data/opt/aolserver/lib/libnsmysql.a ranlib: '/data/opt/aolserver/lib/libnsmysql.a': No such file make: *** [install-dll] Error 1 It seems that libnsmysql.a is not being built. This has exceeded my technical understanding in this area so any help getting this working is greatly appreciated. Thanks Nick -- AOLserver - http://www.aolserver.com/ To Remove yourself from this list, simply send an email to <[email protected]> with the body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.
