[cl-debian] Bug#462088: clisp: create C files with missing includes
Jörg Sommer
joerg at alea.gnuu.de
Tue Jan 22 12:47:56 UTC 2008
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
-------------- next part --------------
;; $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'.
|#
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <https://mailman.common-lisp.net/pipermail/cl-debian/attachments/20080122/6f3ce20f/attachment.sig>
More information about the Cl-debian
mailing list