Package: clisp Version: 1:2.43-1 Severity: normal Hi,
a C file created with “clisp -q -norc -c ordrulei.lsp” (the source file ordrulei.lsp is attached to this mail) includes the references to some types they are not available. I think includes for them are missing. void module__ordrulei__init_function_1 (module_t* module) { register_foreign_inttype("tcflag_t",sizeof(tcflag_t),(tcflag_t)-1<=(tcflag_t)0); register_foreign_inttype("speed_t",sizeof(speed_t),(speed_t)-1<=(speed_t)0); register_foreign_inttype("cc_t",sizeof(cc_t),(cc_t)-1<=(cc_t)0); … register_foreign_inttype("__ipc_pid_t",sizeof(__ipc_pid_t),(__ipc_pid_t)-1<=(__ipc_pid_t)0); … register_foreign_inttype("ptrdiff_t",sizeof(ptrdiff_t),(ptrdiff_t)-1<=(ptrdiff_t)0); } This leads to the following build error: /usr/lib/clisp-2.43/clisp-link add-module-set ordrules /usr/lib/clisp-2.43/full xindy-build-dir make[1]: Entering directory `/home/joerg/git/debian/xindy/rte/ordrules' gcc -g -O2 -Igllib -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -O2 -DUNICODE -DDYNAMIC_FFI -DDYNAMIC_MODULES -I. -fPIC -I/usr/lib/clisp-2.43/linkkit -c ordrulei.c ordrulei.c: In function ‘module__ordrulei__init_function_1’: ordrulei.c:24: error: ‘tcflag_t’ undeclared (first use in this function) ordrulei.c:24: error: (Each undeclared identifier is reported only once ordrulei.c:24: error: for each function it appears in.) ordrulei.c:24: error: expected ‘)’ before numeric constant ordrulei.c:25: error: ‘speed_t’ undeclared (first use in this function) ordrulei.c:25: error: expected ‘)’ before numeric constant ordrulei.c:26: error: ‘cc_t’ undeclared (first use in this function) ordrulei.c:26: error: expected ‘)’ before numeric constant ordrulei.c:43: error: ‘__ipc_pid_t’ undeclared (first use in this function) ordrulei.c:43: error: expected ‘)’ before numeric constant ordrulei.c:46: error: ‘ptrdiff_t’ undeclared (first use in this function) ordrulei.c:46: error: expected ‘)’ before numeric constant make[1]: *** [ordrulei.o] Fehler 1 make[1]: Leaving directory `/home/joerg/git/debian/xindy/rte/ordrules' make: *** [xindy-build-dir] Fehler 2 Bye, Jörg. -- System Information: Debian Release: unstable/experimental APT prefers unstable APT policy: (900, 'unstable'), (700, 'experimental') Architecture: powerpc (ppc) Kernel: Linux 2.6.24-rc6 Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages clisp depends on: ii common-lisp-controller 6.12 Common Lisp source and compiler ma ii libc6 2.7-6 GNU C Library: Shared libraries ii libdb4.6 4.6.21-5 Berkeley v4.6 Database Libraries [ ii libice6 2:1.0.4-1 X11 Inter-Client Exchange library ii libncurses5 5.6+20080105-1 Shared libraries for terminal hand ii libreadline5 5.2-3 GNU readline and history libraries ii libsigsegv0 2.5-1 Library for handling page faults i ii libsm6 2:1.0.3-1+b1 X11 Session Management library ii libx11-6 2:1.0.3-7 X11 client-side library ii libxau6 1:1.0.3-2 X11 authorisation library ii libxext6 1:1.0.3-2 X11 miscellaneous extension librar ii libxpm4 1:3.5.7-1 X11 pixmap library clisp recommends no packages. -- no debconf information
;; $Id: ordrulei.lsp,v 1.5 2005/05/02 21:39:53 jschrod Exp $ ;; ------------------------------------------------------------ ;;; ;;; Interface definition of the ordrules module ;;; (defpackage :ordrules (:use :cl :ffi) (:export :initialize :add-keyword-sort-rule :add-keyword-merge-rule :gen-keyword-sortkey :gen-keyword-mergekey)) (in-package :ordrules) (c-lines "#include \"ordrules.h\"~%") ; Common OS definitions: (def-c-type size_t uint) (def-c-var *string-buffer* (:name "ordrules_string_buffer") (:type (c-array char 1024)) (:alloc :NONE)) (def-c-var *string-buffer-used-bytes* (:name "ordrules_string_buffer_used_bytes") (:type int) (:alloc :NONE)) (def-c-var *string-buffer-used-bytes* (:name "ordrules_string_buffer_used_bytes") (:type int) (:alloc :NONE)) (def-c-var *message-logging* (:name "ordrules_msg_logging") (:type int) (:alloc :NONE)) (def-c-var *message-buffer* (:name "ordrules_msg_buffer") (:type c-string) (:alloc :NONE)) (def-c-var *message-buffer-ptr* (:name "ordrules_msg_buffer_ptr") (:type int) (:alloc :NONE)) (def-call-out initialize (:language :stdc) (:name "initialize") (:arguments (num-sort-tables int)) (:return-type int)) (def-call-out add-keyword-sort-rule (:language :stdc) (:name "add_sort_rule") (:arguments (run int) (left c-string) (right c-string) (isreject int) (ruletype int)) (:return-type int)) (def-call-out add-keyword-merge-rule (:language :stdc) (:name "add_merge_rule") (:arguments (left c-string) (right c-string) (isreject int) (ruletype int)) (:return-type int)) (def-call-out gen-keyword-sortkey (:language :stdc) (:name "gen_sortkey") (:arguments (key c-string) (run int)) (:return-type c-string :malloc-free)) (def-call-out gen-keyword-mergekey (:language :stdc) (:name "gen_mergekey") (:arguments (key c-string)) (:return-type c-string :malloc-free)) #| $Log: ordrulei.lsp,v $ Revision 1.5 2005/05/02 21:39:53 jschrod xindy run time engine 3.0; as used for CLISP 2.33.2. Revision 1.4 1997/10/20 11:23:12 kehr New version of sorting rules. Sorting of more complex indexes (i.e. French) is now possible. Revision 1.3 1997/01/17 16:43:38 kehr Several changes for new version 1.1. Revision 1.2 1996/04/30 15:56:38 kehr Renamed some of the functions to avoid conflicts with other functions in other packages (only for the sake of convenience). Revision 1.1 1996/03/27 20:29:07 kehr It works. Today I had my first success in getting the FFI running with the ordrules-library. The interface is defined in `ordrulei.lsp' and allows direct access to the functions in `ordrules.c'. |#
signature.asc
Description: Digital signature