[plt-scheme] v3.99.0.2, dvh mysqlclient.ss no build

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Nov 13 20:26:19 EST 2007

`mzc --extension' had lots of problems. Many of them are fixed now in
SVN, but I need to run a lot more tests to make sure that it's working
right.

Matthew

At Tue, 13 Nov 2007 13:59:20 -0500, Geoff Knauth wrote:
> I have some MySQL connectivity code from David Van Horn that has been  
> working great.  After my SVN update this morning, the mysqlclient.ss  
> extension no longer builds.
> 
> mzc -v --save-temps --debug ++ccf --save-temps --auto-dir --extension + 
> +ldf /opt/local/lib/mysql5/mysql/libmysqlclient.dylib ++cppf -I/opt/ 
> local/include/mysql5/mysql ++ccf -I/opt/local/include/mysql5/mysql  
> mysqlclient.ss
> mzc v3.99.0.2 [3m], Copyright (c) 2004-2007 PLT Scheme Inc.
> Warning: compilation to C is usually less effective
> for performance than relying on the bytecode JIT compiler.
> "mysqlclient.ss":
>   Reading...  expanding...
>        [cpu: 140ms, real: 185ms, gc: 46ms]
>   extracting core expressions
> c-syntax.ss:123:10: #%variable-reference: identifier cannot refer to  
> an imported binding at: values in: (#%variable-reference values)
> 
>   === context ===
> /usr/local/plt/collects/compiler/private/driver.ss:697:25: core-thunk
> /usr/local/plt/collects/compiler/private/driver.ss:507:8: verbose-time
> /usr/local/plt/collects/compiler/private/driver.ss:563:8: s:compile
> 
> Here is a snippet from David's c-syntax.ss:
> 
> (module c-syntax mzscheme
>    (require (lib "cffi.ss" "compiler")   ;; c-lambda, c-declare syntax.
>             "c-syntax-transformer.ss")
>    ; ...
>    (define-syntax (c-enum stx)
>      (syntax-case stx ()
>        ((_ enum-name)
>         (identifier? (syntax enum-name))
>         (with-syntax ([str (format "___result = ~a;"
>                                    (scheme-symbol->c-enum-string
>                                     (syntax-e (syntax enum-name))))])
>           (syntax
>            ((c-lambda () int str)))))))
>    ; ...
>    (define-syntax define-c-enums
>      (syntax-rules ()
>        ((_ i ...)
>         (define-values (i ...)
>           (values (c-enum i) ...)))))     ;; <== this is line 123
>    ; ...
>    )
> 
> How do I fix this, or how should I approach fixing this?
> 
> Geoffrey
> --
> Geoffrey S. Knauth | http://knauth.org/gsk
> 
> 
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme


Posted on the users mailing list.