R7RS egg regression?

Jeremy Steward via Chicken-users <[email protected]>
Newsgroups gmane.lisp.scheme.chicken
Organization ThatGeoGuy
Message-ID <[email protected]>
Hey all,

I have been setting up a new machine and tried to install the 
transducers egg with chicken-install. I noticed that the egg builds / 
installs fine with r7rs:1.0.10, but fails with anything newer 
(r7rs:1.0.11, r7rs:1.0.12).

Find the log attached. Could this potentially be related to the recent 
issue reported about there being a bug combining cond-expand and 
include-library-declarations?

Cheers,
-- 
Jeremy Steward
transducers.log (text/x-log, 8.5 KB)
building transducers
   /usr/bin/csc -host -D compiling-extension -J -s -regenerate-import-libraries -setup-mode -I /home/jeremy/.cache/chicken-install/transducers -C -I/home/jeremy/.cache/chicken-install/transducers -X r7rs -R r7rs -O3 -d2 -emit-types-file '/home/jeremy/.cache/chicken-install/transducers/transducers.base.types' -emit-inline-file '/home/jeremy/.cache/chicken-install/transducers/transducers.base.inline' src/transducers.base.sld -o /home/jeremy/.cache/chicken-install/transducers/transducers.base.so

Syntax error (define-library): invalid library declaration

        ((import-syntax (srfi 253)) (import-syntax (chicken type)) (include-library-declarations "src/transducers.base.exports.scm") (begin (define (non-negative-fixnum? x) (and (fixnum? x) (fx>=? x 0))) (define (positive-fixnum? x) (and (fixnum? x) (positive? x))) (define-record-type <reduced> (make-reduced value) reduced? (value unwrap)) (define collect-any (case-lambda ((pred?) (collect-any pred? #f)) ((pred? sentinel) (case-lambda (() sentinel) ((result) result) ((result item) (let ((test (pred? item))) (and (or result test) (make-reduced test)))))))) (define collect-all (case-lambda ((pred?) (collect-all pred? #t)) ((pred? sentinel) (case-lambda (() sentinel) ((result) result) ((result item) (let ((test (pred? item))) (if (and result test) test (make-reduced #f)))))))) (define collect-count (case-lambda (() (collect-count 0)) ((sentinel) (case-lambda (() sentinel) ((result) result) ((result item) (fx+ result 1)))))) (define collect-max (case-lambda (() (collect-max -inf.0)) ((sentinel) (case-lambda (() sentinel) ((result) result) ((result item) (max result item)))))) (define collect-min (case-lambda (() (collect-min +inf.0)) ((sentinel) (case-lambda (() sentinel) ((result) result) ((result item) (min result item)))))) (define collect-first (case-lambda (() (collect-first #f)) ((sentinel) (case-lambda (() sentinel) ((result) result) ((result item) (make-reduced item)))))) (define collect-last (case-lambda (() (collect-last #f)) ((sentinel) (case-lambda (() sentinel) ((result) result) ((result item) item))))) (define collect-sum (case-lambda (() (collect-sum 0)) ((sentinel) (case-lambda (() sentinel) ((result) result) ((result item) (+ result item)))))) (define collect-product (case-lambda (() (collect-product 1)) ((sentinel) (case-lambda (() sentinel) ((result) result) ((result item) (* result item)))))) (define collect-void (case-lambda (() (collect-void (void))) ((_sentinel) (case-lambda (() (void)) ((result) result) ((result item) result))))) (define (transduce folder transducer collector data) (let* ((xf (transducer collector)) (result (folder xf (collector) data))) (xf result))) (define (once-folder xs sentinel item) (let ((result (xs sentinel item))) (if (reduced? result) (unwrap result) result))) (define (once transducer collector item) (transduce once-folder transducer collector item)) (define (map f) (lambda (reducer) (case-lambda (() (reducer)) ((result) (reducer result)) ((result item) (reducer result (f item)))))) (define (filter pred) (lambda (reducer) (case-lambda (() (reducer)) ((result) (reducer result)) ((result item) (if (pred item) (reducer result item) result))))) (define (remove pred) (filter (compose not pred))) (define-checked (drop (n non-negative-fixnum?)) (lambda (reducer) (let ((n n)) (case-lambda (() (reducer)) ((result) (reducer result)) ((result item) (set! n (fx- n 1)) (if (fx>=? n 0) result (reducer result item))))))) (define (drop-while pred) (lambda (reducer) (let ((continue-to-drop #t)) (case-lambda (() (reducer)) ((result) (reducer result)) ((result item) (if continue-to-drop (cond ((pred item) result) (else (set! continue-to-drop #f) (reducer result item))) (reducer result item))))))) (define-checked (take (n positive-fixnum?)) (lambda (reducer) (let ((n n)) (case-lambda (() (reducer)) ((result) (reducer result)) ((result item) (set! n (fx- n 1)) (if (fx>? n 0) (reducer result item) (make-reduced (reducer result item)))))))) (define (take-while pred) (lambda (reducer) (case-lambda (() (reducer)) ((result) (reducer result)) ((result item) (if (pred item) (reducer result item) (make-reduced result)))))) (define (preserving-reduced reducer) (lambda (acc x) (let ((ret (reducer acc x))) (if (reduced? ret) (make-reduced ret) ret)))) (define-syntax define-flatten-transducer (syntax-rules () ((_ name type? type-fold) (define name (lambda (reducer) (case-lambda (() (reducer)) ((result) (reducer result)) ((result item) (if (type? item) (type-fold (preserving-reduced (name reducer)) result item) (reducer result item))))))))) (define-syntax define-chain-transducer (syntax-rules () ((_ name type-fold) (define (name iterable) (lambda (reducer) (case-lambda (() (reducer)) ((result) (reducer (type-fold reducer result iterable))) ((result item) (reducer result item)))))))) (define-checked (chunks (n positive-fixnum?) collector) (lambda (reducer) (let ((i 0) (collection (collector))) (case-lambda (() (reducer)) ((result) (if (fx>? i 0) (let ((new-result (reducer result (collector collection)))) (if (reduced? new-result) (reducer (unwrap new-result)) (reducer new-result))) (reducer result))) ((result item) (let ((new-i (fx+ i 1)) (new-collection (collector collection item))) (cond ((fx<? new-i n) (set! collection new-collection) (set! i new-i) result) (else (set! collection (collector)) (set! i 0) (reducer result (collector new-collection)))))))))) (define-checked (chunks-exact (n positive-fixnum?) collector) (lambda (reducer) (let ((i 0) (collection (collector))) (case-lambda (() (reducer)) ((result) (reducer result)) ((result item) (let ((new-i (fx+ i 1)) (new-collection (collector collection item))) (cond ((fx<? new-i n) (set! collection new-collection) (set! i new-i) result) (else (set! collection (collector)) (set! i 0) (reducer result (collector new-collection)))))))))) (define-syntax define-interleave-transducer (syntax-rules () ((_ name make-state done? next update) (define (name collection) (lambda (reducer) (let ((state (make-state collection))) (case-lambda (() (reducer)) ((result) (reducer result)) ((result item) (if (done? collection state) (make-reduced result) (let ((interleave-item (next collection state)) (next-result (reducer result item))) (set! state (update collection state)) (if (reduced? next-result) next-result (reducer next-result interleave-item)))))))))))) (define-syntax define-zip-transducer (syntax-rules () ((_ name make-state done? next update) (define (name collection) (lambda (reducer) (let ((state (make-state collection))) (case-lambda (() (reducer)) ((result) (reducer result)) ((result item) (if (done? collection state) (make-reduced result) (let ((zip-item (next collection state))) (set! state (update collection state)) (reducer result (cons item zip-item)))))))))))) (define enumerate (lambda (reducer) (let ((n 0)) (case-lambda (() (reducer)) ((result) (reducer result)) ((result item) (let ((enumerated-item (cons n item))) (set! n (fx+ n 1)) (reducer result enumerated-item))))))) (define (inspect f) (lambda (reducer) (case-lambda (() (reducer)) ((result) (reducer result)) ((result item) (f item) (reducer result item))))) (define (for-each folder transducer data) (transduce folder transducer (collect-void) data)) (define-record-type <transducible> (make-transducible folder collector flattener chainer interleaver zipper) transducible? (folder transducible-folder) (collector transducible-collector) (flattener transducible-flattener) (chainer transducible-chainer) (interleaver transducible-interleaver) (zipper transducible-zipper))))

        Expansion history:

        <syntax>          (##core#begin (define-library (transducers base) (import (except (scheme base) map for-each) (scheme...
        <syntax>          (define-library (transducers base) (import (except (scheme base) map for-each) (scheme case-lambda) ...       <--

Error: shell command terminated with non-zero exit status 17920: '/usr/bin/chicken' 'src/transducers.base.sld' -output-file '/home/jeremy/.cache/chicken-install/transducers/transducers.base.c' -dynamic -feature chicken-compile-shared -feature compiling-extension -emit-all-import-libraries -regenerate-import-libraries -setup-mode -include-path /home/jeremy/.cache/chicken-install/transducers -extend r7rs -require-extension r7rs -optimize-level 3 -debug-level 2 -emit-types-file '/home/jeremy/.cache/chicken-install/transducers/transducers.base.types' -emit-inline-file '/home/jeremy/.cache/chicken-install/transducers/transducers.base.inline'

Error: shell command terminated with nonzero exit code
256
"sh /home/jeremy/.cache/chicken-install/transducers/transducers.build.sh"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.