Hi,
I'm trying to build CLSQL using CMUCL18e and MySQL 4.0.16. After setting
the paths to my MySQL (it's not in standard directories) corrctly in
db-mysql/Makefile and db-mysql/mysql-loader.lisp I issued make in
db-mysql and then I evalueted:
(asdf:oos 'asdf:load-op :clsql-base)
(asdf:oos 'asdf:load-op :clsql-mysql)
in CMUCL. The first one runs without problems, the second one ends in
the error message listed below. I would be very appreciative for any
help to get clsql running.
Thanks in advance
Regards
Rolf Wester
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Byte Compiling Top-Level Form:
; Converted MYSQL-NUM-FIELDS.
; Compiling UFFI:DEF-FUNCTION "mysql_num_fields":
; Converted CLSQL-MYSQL-EOF.
; Compiling UFFI:DEF-FUNCTION ("mysql_eof" CLSQL-MYSQL-EOF):
; Converted MYSQL-EOF.
; Compiling DEFUN MYSQL-EOF:
; Byte Compiling Top-Level Form:
; Converted MYSQL-ERROR.
; Compiling UFFI:DEF-FUNCTION ("mysql_error" MYSQL-ERROR):
; Converted MYSQL-ERROR-STRING.
; Compiling DEFUN MYSQL-ERROR-STRING:
; Converted MYSQL-ERRNO.
; Compiling UFFI:DEF-FUNCTION "mysql_errno":
; Converted MYSQL-INFO.
; Compiling UFFI:DEF-FUNCTION ("mysql_info" MYSQL-INFO):
; Byte Compiling Top-Level Form:
; Converted MYSQL-INFO-STRING.
; Compiling DEFUN MYSQL-INFO-STRING:
; Converted CLSQL-MYSQL-DATA-SEEK.
; Compiling UFFI:DEF-FUNCTION "clsql_mysql_data_seek":
; Converted MYSQL-DATA-SEEK.
; Compiling DEFUN MYSQL-DATA-SEEK: ; [GC threshold exceeded with
17,998,976 bytes in use. Commencing GC.]
; [GC completed with 4,445,200 bytes retained and 13,553,776 bytes freed.]
; [GC will next occur when at least 16,445,200 bytes are in use.]
; Byte Compiling Top-Level Form:
; /home/wester/usr/apache/modlisp/clsql-1.8.7/db-mysql/mysql-api.x86f
written.
; Compilation finished in 0:00:03.
; Loading
#p"/home/wester/usr/apache/modlisp/clsql-1.8.7/db-mysql/mysql-api.x86f".
Undefined foreign symbol: "mysql_connect"
[Condition of type KERNEL:SIMPLE-PROGRAM-ERROR]
Restarts:
0: [CONTINUE ] Return NIL from load of
#p"/home/wester/usr/apache/modlisp/clsql-1.8.7/db-mysql/mysql-api.x86f".
1: [RETRY-COMPONENT] ASDF::RETRY-COMPONENT
2: [SKIP-COMPONENT ] ASDF::SKIP-COMPONENT
3: [ABORT ] Return to Top-Level.
Debug (type H for help)
(KERNEL:UNDEFINED-FOREIGN-SYMBOL-ERROR-HANDLER "<error finding name>"
#.(SYSTEM:INT-SAP
#x3FFFC710)
#<Alien (* #) at #x3FFFC3A8>
(14))
Source: Error finding source:
Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer
exists:
target:code/interr.lisp.
0]
>>>>> "rw" == Rolf Wester <···········@t-online.de> writes:
rw> I'm trying to build CLSQL using CMUCL18e and MySQL 4.0.16. After
rw> setting the paths to my MySQL (it's not in standard directories)
rw> corrctly in db-mysql/Makefile and db-mysql/mysql-loader.lisp I issued
rw> make in db-mysql and then I evalueted:
rw>
rw> (asdf:oos 'asdf:load-op :clsql-base)
rw> (asdf:oos 'asdf:load-op :clsql-mysql)
rw>
rw> in CMUCL. The first one runs without problems, the second one ends in
rw> the error message listed below.
rw> ; Loading #p"/home/wester/usr/apache/modlisp/clsql-1.8.7/db-mysql/mysql-api.x86f".
rw> Undefined foreign symbol: "mysql_connect"
I can't help you with the specifics of CLSQL, but before loading a
file that references a foreign symbol (mysql_connect in this case)
into CMUCL, you need to have loaded the corresponding foreign library.
The load of the foreign library may have failed, or possibly the CLSQL
build process is loading it too late.
Foreign libraries are loaded with EXT:LOAD-FOREIGN, or possibly with
the equivalent UFFI function.
--
Eric Marsden <URL:http://www.laas.fr/~emarsden/>
Eric Marsden wrote:
>>>>>>"rw" == Rolf Wester <···········@t-online.de> writes:
>
>
> rw> I'm trying to build CLSQL using CMUCL18e and MySQL 4.0.16. After
> rw> setting the paths to my MySQL (it's not in standard directories)
> rw> corrctly in db-mysql/Makefile and db-mysql/mysql-loader.lisp I issued
> rw> make in db-mysql and then I evalueted:
> rw>
> rw> (asdf:oos 'asdf:load-op :clsql-base)
> rw> (asdf:oos 'asdf:load-op :clsql-mysql)
> rw>
> rw> in CMUCL. The first one runs without problems, the second one ends in
> rw> the error message listed below.
>
> rw> ; Loading #p"/home/wester/usr/apache/modlisp/clsql-1.8.7/db-mysql/mysql-api.x86f".
> rw> Undefined foreign symbol: "mysql_connect"
>
> I can't help you with the specifics of CLSQL, but before loading a
> file that references a foreign symbol (mysql_connect in this case)
> into CMUCL, you need to have loaded the corresponding foreign library.
> The load of the foreign library may have failed, or possibly the CLSQL
> build process is loading it too late.
>
> Foreign libraries are loaded with EXT:LOAD-FOREIGN, or possibly with
> the equivalent UFFI function.
>
Thank you for your reply. Some other mysql foreign functions have been
compiled before the error occurs so the library should already have been
loaded. Thanks again.
Rolf Wester