Your message dated Fri, 23 Jun 2023 15:36:03 +0000 with message-id <[email protected]> and subject line Bug#1038934: Removed package(s) from unstable has caused the Debian Bug report #183235, regarding Error using foreign symbols in compiled code to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 183235: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=183235 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: cl-pdf Version: 1.1.1b-1 cl-pdf again fails to load with a "compress" foreign symbol error. In addition, once that is passed, the chart.x86f load stumbles on a bug in font.lisp. Included is a patch that fixes both problems. Verified that it works for the cl-pdf example functions on cmucl-normal, acl, and sbcl, within the limits of Lisp memory allegro trial edition allows or cmucl-limits on the MAKE-ALIEN call. The patch for the compress-loading problem is unfortunately one of the "it works but I don't know why" sort; cmucl (or perhaps uffi-on-cmucl) seems extraordinarily picky about how foreign code is loaded. Random Obligatory Bug Report Stuff: cl-pdf 1.1.1b-1 cmucl-normal 3.1.7 acl-installer 6.2.18 sbcl 0.7.13-1 cl-uffi 1.2.7-1 libc6 2.3.1-14 zlib1g-dev 1.1.4-10 kernel-image-2.4.20 custom.1.0 ---- Begin patch ---- diff -ru cl-pdf.orig/config.lisp cl-pdf/config.lisp --- cl-pdf.orig/config.lisp 2003-03-03 07:59:40.000000000 -0700 +++ cl-pdf/config.lisp 2003-03-03 08:04:27.000000000 -0700 @@ -18,8 +18,7 @@ (defvar *compress-streams* t "Enables the internal streams compression by zlib") -(defvar *zlib-search-paths* '("/usr/local/lib/" "/usr/lib/") - "The paths where to search the zlib shared library") +;; Note: *zlib-search-paths* is in zlib.lisp. (defparameter *afm-files-directories* `(#P"/usr/share/fonts/afms/adobe/" #P"/usr/lib/afm/" ,@(when *load-pathname* diff -ru cl-pdf.orig/font.lisp cl-pdf/font.lisp --- cl-pdf.orig/font.lisp 2003-03-03 07:59:40.000000000 -0700 +++ cl-pdf/font.lisp 2003-03-03 08:04:27.000000000 -0700 @@ -18,7 +18,7 @@ (font-metrics :accessor font-metrics) (widths :accessor widths :initform (make-array 256 :initial-element 0 :element-type '(signed-byte 16))) (kernings :accessor kernings :initform (make-array 256 :initial-element nil)) - (characters :accessor characters :initform (make-array 256)))) + (characters :accessor characters :initform (make-array 256 :initial-element nil)))) (defmethod initialize-instance :after ((font font) &rest init-options &key &allow-other-keys) (let ((font-metrics (gethash (name font) *font-metrics*))) diff -ru cl-pdf.orig/zlib.lisp cl-pdf/zlib.lisp --- cl-pdf.orig/zlib.lisp 2003-03-03 07:59:40.000000000 -0700 +++ cl-pdf/zlib.lisp 2003-03-03 08:04:27.000000000 -0700 @@ -6,7 +6,13 @@ ;Adapted from an UFFI example -(eval-when (:load-toplevel) +(eval-when (:compile-toplevel :load-toplevel :execute) + +;; CMUCL desperately wants this *here*, not in config.lisp, or it +;; won't load the compiled file. Putting it in an eval-when in +;; config.lisp doesn't work either. +(defvar *zlib-search-paths* '("/usr/local/lib/" "/usr/lib/") + "The paths where to search the zlib shared library") (defparameter *zlib-path* #-(or macosx darwin) @@ -29,18 +35,20 @@ (push :zlib cl:*features*)) (t (warn "Unable to load zlib. Disabling compression.") - (setf *compress-streams* nil))) + (setf *compress-streams* nil)))) + +#+zlib (uffi:def-struct dummy ; Why is this necessary??? + (dummy :int)) ; Without it, CMUCL doesn't load the library.. -(when (find :zlib cl:*features*) - (uffi:def-function ("compress" c-compress) - ((dest (* :unsigned-char)) - (destlen (* :long)) - (source :cstring) - (source-len :long)) - :returning :int - :module "zlib") +#+zlib (uffi:def-function ("compress" c-compress) + ((dest (* :unsigned-char)) + (destlen (* :long)) + (source :cstring) + (source-len :long)) + :returning :int + :module "zlib") - (defun compress-string (source) +#+zlib (defun compress-string (source) "Returns two values: array of bytes containing the compressed data and the numbe of compressed bytes" (let* ((sourcelen (length source)) @@ -62,7 +70,7 @@ (error "zlib error, code ~D" result)) (progn (uffi:free-foreign-object destlen) - (uffi:free-foreign-object dest))))))))) + (uffi:free-foreign-object dest))))))) #| Unfinished Work! ---- End patch ---- -- Robert Macomber [email protected]
--- End Message ---
--- Begin Message ---Version: 21d-2.1+rm Dear submitter, as the package cmucl has just been removed from the Debian archive unstable we hereby close the associated bug reports. We are sorry that we couldn't deal with your issue properly. For details on the removal, please see https://bugs.debian.org/1038934 The version of this package that was in Debian prior to this removal can still be found using https://snapshot.debian.org/. Please note that the changes have been done on the master archive and will not propagate to any mirrors until the next dinstall run at the earliest. This message was generated automatically; if you believe that there is a problem with it please contact the archive administrators by mailing [email protected]. Debian distribution maintenance software pp. Scott Kitterman (the ftpmaster behind the curtain)
--- End Message ---
