[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