[iolib-devel] Upcoming changes

Christian Mayer marshall.mcluhan at gmx.net
Sat Oct 23 01:08:40 UTC 2010


Stelian Ionescu <sionescu <at> cddr.org> writes:

> 
> Little by little I'll start shoving all syscall-related compatibility
> code into a C library called libfixposix -
> http://gitorious.org/libfixposix/libfixposix - on which iolib will
> depend.
> 
> I've decided to do it mainly because writing OS compatibility code is
> much easier in C and with the use of autoconf and because CFFI .so
> wrappers cause problems with deployment/static executables.
> 
> Until this is finished, sources will be a little unstable so please
> stick with the 0.7.0 release, or if you feel adventurous test
> libfixposix and iolib, especially on *BSD and OSX.
> 


Hi,

with an iolib snapshot and sbcl I got the following errors:

...

; compiling (DEFCSTRUCT (FD-SET :SIZE ...))
; compiling (DEFCONSTANT SIZE-OF-FD-SET ...)
; compiling (DEFCONSTANT WNOHANG ...)
; compiling (DEFCONSTANT WUNTRACED ...)
; compiling (DEFCONSTANT WCONTINUED ...)

;
/home/chris/.cache/common-lisp/sbcl-1.0.37-linux-x86-64/home/chris/code/
lisp-tp/~
iolib-20101017/src/libfixposix/ffi-types.fasl
written
; compilation finished in 0:00:00.270
; compiling file
"/home/chris/code/lisp-tp/iolib-20101017/src/libfixposix/ffi-functions.lisp"
(written 23 OCT 2010 01:52:49 AM):

; file: /home/chris/code/lisp-tp/iolib-20101017/src/libfixposix/~
ffi-functions.lisp
; in: EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE)
;     (CFFI:USE-FOREIGN-LIBRARY LIBFIXPOSIX::LIBFIXPOSIX)
; ==>
;   (CFFI:LOAD-FOREIGN-LIBRARY 'LIBFIXPOSIX::LIBFIXPOSIX)
; 
; caught ERROR:
;   (during compile-time-too processing)
;   Unable to load foreign library (LIBFIXPOSIX).
;     Error opening shared object "libfixposix.so":
;     /usr/local/lib/libfixposix.so: undefined symbol: execvpe.

;
/home/chris/.cache/common-lisp/sbcl-1.0.37-linux-x86-64/home/chris/code/
~lisp-tp/iolib-20101017/src/libfixposix/ASDF-TMP-ffi-functions.fasl
written
; compilation finished in 0:00:00.143
WARNING:
   COMPILE-FILE warned while performing #<COMPILE-OP NIL {10054F89F1}> on
   #<IOLIB-SOURCE-FILE "libfixposix" "ffi-functions">.
; 
; compilation unit aborted
;   caught 1 fatal ERROR condition
;   caught 1 ERROR condition
;   caught 1 STYLE-WARNING condition

CL-USER> 

*Slime Compilation Buffer*

cd /home/chris/code/lisp-tp/iolib-0.7.0/src/multiplex/
6 compiler notes:

Unknown location:
  warning: 
    IOLIB.BASE also exports the following symbols:
      (STREAM-READ-CHAR-NO-HANG STREAM-READ-BYTE STREAM-ADVANCE-TO-COLUMN
                        STREAM-LISTEN STREAM-FORCE-OUTPUT
                        IOLIB.BASE:TRIVIAL-GRAY-STREAM-MIXIN
                        STREAM-START-LINE-P STREAM-CLEAR-OUTPUT
                        STREAM-WRITE-CHAR STREAM-WRITE-STRING
                        FUNDAMENTAL-CHARACTER-INPUT-STREAM
                        FUNDAMENTAL-BINARY-INPUT-STREAM STREAM-CLEAR-INPUT
                        STREAM-FINISH-OUTPUT STREAM-TERPRI
                        FUNDAMENTAL-BINARY-OUTPUT-STREAM
                        FUNDAMENTAL-BINARY-STREAM STREAM-UNREAD-CHAR
                        STREAM-WRITE-BYTE
                        FUNDAMENTAL-CHARACTER-OUTPUT-STREAM
                        STREAM-READ-CHAR STREAM-READ-LINE
                        FUNDAMENTAL-OUTPUT-STREAM STREAM-FRESH-LINE
                        STREAM-LINE-COLUMN IOLIB.BASE:STREAM-READ-SEQUENCE
                        FUNDAMENTAL-STREAM IOLIB.BASE:STREAM-WRITE-SEQUENCE
                        FUNDAMENTAL-CHARACTER-STREAM STREAM-PEEK-CHAR
                        FUNDAMENTAL-INPUT-STREAM
                        IOLIB.BASE:STREAM-FILE-POSITION)
also:
mmon Lisp Hyperspec, DEFPACKAGE [:macro]

Unknown location:
  warning: 
    COMPILE-FILE warned while performing #<COMPILE-OP NIL {1002CFE8D1}> on
    #<CL-SOURCE-FILE "iolib.base" "sequence">.

Unknown location:
  warning: 
    COMPILE-FILE warned while performing #<COMPILE-OP NIL {10031C5D31}> on
    #<CL-SOURCE-FILE "trivial-garbage" "trivial-garbage">.

Unknown location:
  warning: 
    COMPILE-FILE warned while performing #<COMPILE-OP NIL {10054F89F1}> on
    #<IOLIB-SOURCE-FILE "libfixposix" "ffi-functions">.

Unknown location:
  error: 
    erred while invoking #<COMPILE-OP NIL {10054F89F1}> on
    #<IOLIB-SOURCE-FILE "libfixposix" "ffi-functions">

../../../alexandria/alexandria/sequences.lisp:161:23:
  note: 
    unable to
      optimize
    due to type uncertainty:
      The first argument is a SEQUENCE, not a (SIMPLE-ARRAY * (*)).
  note: 
    unable to
      optimize
    due to type uncertainty:
      The first argument is a Ssix.so.0.0.0
libfixposix.so; }; })
libtool: install: /usr/bin/install -c src/lib/.libs/libfixposix.lai
/usr/local/lib/libfixposix.la
libtool: install: /usr/bin/install -c src/lib/.libs/libfixposix.a
/usr/local/lib/libfixposix.a
libtool: install: chmod 644 /usr/local/lib/libfixposix.a
libtool: install: ranlib /usr/local/lib/libfixposix.a
libtool: finish:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin"
ldconfig -n /ent> ASDF:LOAD-OP "iolib")
 17: ((LAMBDA ()))
 18: ((FLET SWANK-BACKEND:CALL-WITH-COMPILATION-HOOKS) #<CLOSURE (LAMBDA #)
{1004321EC9}>)
 --more--



...

; compiling (DEFUN WEAKNESS-KEYWORD-OPT ...)

; file: /home/chris/code/lisp-tp/trivial-garbage_0.18/trivial-garbage.lisp
; in: DEFUN WEAKNESS-KEYWORD-OPT
;     (DEFUN TRIVIAL-GARBAGE::WEAKNESS-KEYWORD-OPT
;            (TRIVIAL-GARBAGE::WEAKNESS TRIVIAL-GARBAGE::ERRORP)
;       (ECASE TRIVIAL-GARBAGE::WEAKNESS
;         SYSCALLS::I)
; --> AREF 
; ==>
;   (SB-KERNEL:HAIRY-DATA-VECTOR-REF ARRAY SB-INT:INDEX)
; 
; note: unable to
;   optimize
; due to type uncertainty:
;   The first argument is a STRING, not a SIMPLE-STRING.
; 
; note: unable to
;   avoid runtime dispatch on array element type
; due to type uncertainty:
;   The first argument is a STRING, not a SIMPLE-ARRAY.

;     (CHAR IOLIB.SYSCALLS::SSTRING (INCF IOLIB.SYSCALLS::I))
; --> AREF 
; ==>
;   (SB-KERNEL:HAIRY-DATA-VECTOR-REF ARRAY SB-INT:INDEX)
; 
;
; 
; note: unable to
;   fold identity operations
; due to type uncertainty:
;   The first argument is a NUMBER, not a (OR RATIONAL (COMPLEX RATIONAL)).
; 
; note: unable to
;   recode as leas, shifts and adds
; due to type uncertainty:
;   The first argument is a NUMBER, not a (UNSIGNED-BYTE 64).
;   The result is a (VALUES NUMBER &OPTIONAL), not a (VAR, not a INTEGER.
; 
; note: unable to
;   fold identity operations
; due to type uncertainty:
;   The first argument is a NUMBER, not a (OR RATIONAL (COMPLEX RATIONAL)).
; 
; note: unable to
;   recode as leas, shifts and adds
; due to type uncertainty:
;   The first argument is a NUMBER, not a (UNSIGNED-BYTE 64).
;   The result is a (VALUES FIXNUM &OPTIONAL), not a (VALUES
(UNSIGNED-BYTE 64)
 ;&REST T).
; 
; note: unable to
;   recode as leas, shifts and adds
; due to type uncertainty:
;   The first argument is a NUMBER, not a FIXNUM.

;     (INCF IOLIB.SYSCALLS::LS::C-PTR :UNSIGNED-CHAR
;                          IOLIB.SYSCALLS::INDEX)
;             IOLIB.SYSCALLS::OCTET)
; --> LET* MULTIPLE-VALUE-BIND LET PROGN CFFI::MEM-SET CFFI-SYS:%MEM-SET 
; --> LET SETF SB-KERNEL:%SET-SAP-REF-8 
; ==>
;   (* #:INDEX-TMP65 1)
; 
; note: unable to
;   optimize
; due to type uncertainty:
;   The first argument is a NUMBER, not a FLOAT.
; 
; note: unable to
;   convert x*2^k to shift
; due to type uncertainty:
;   The first argument is a NUMBER, not a INTEGER.
; 
; note: unable to
;   fold identity operations
; due to type uncertainty:
;   The first argument is a NUMBER, not a (OR RATIONAL ~
(COMPLEX RATIONALe uncertainty:
;   The first argument is a NUMBER, not a FIXNUM.

;     (INCF IOLIB.SYSCALLS::INDEX)
; --> LET* 
; ==>
;   (+ IOLIB.SYSCALLS::INDEX #:G51)
; 
; note: unable to
;   optimize
; due to type uncertainty:
;   The first argument is a NUMBER, not a FLOAT.

;     (LOOP :WITH IOLIB.SYSCALLS::LEN := (LENGTH IOLIB.SYSCALLS::SSTRING)
;           :WITH IOLIB.SYSCALLS::END-OFFSET := (   IOLIB.SYSCALLS::OCTET)
; --> LET* MULTIPLE-VALUE-BIND LET PROGN CFFI::MEM-SET CFFI-SYS:%MEM-SET 
; --> LET SETF SB-KERNEL:%SET-SAP-REF-8 
; ==>
;   (* #:INDEX-TMP115 1)
; 
; note: forced to do GENERIC-* (cost 30)
;       unable to do inline fixnum arithmetic (cost 3) because:
;       The first argument is a NUMBER, not a FIXNUM.
;       unable to do inline (signed-byte 64) arithmetic (cost 4)~
ithmetic (cost 4) because:
;       The first argument is a NUMBER, not a (SIGNED-BYTE 64).
;       etc.

;     (INCF IOLIB.SYSCALLS::INDEX)
; --> LET* 
; ==>
;   (+ IOLIB.SYSCALLS::INDEX #:G91)
; 
; note: forced to do GENERIC-+ (cost 10)
;       unable to do inline fixnum arithmetic (cost 1) ES NUMBER &OPTIONAL),~
not a (VALUES FIXNUM &REST T).
;       unable to do inline fixnum arithmetic (cost 2) because:
;       The first argument is a NUMBER, not a FIXNUM.
;       The result is a (VALUES NUMBER &OPTIONAL), not a ~
(VALUES FIXNUM &REST T).
;       etc.

;     (SETF (CFFI:MEM-AREF IOLIB.SYSCALLS::C-PTR :UNSIGNED-CHAR
;                          IOLIB.SYSCALLS::INDEX)
;             IOLIB.SYSCALLS::OCTET)
; --> LET* MULTIPLE-VALUE-BIND LETt is a NUMBER, not a FIXNUM.
;       The result is a (VALUES NUMBER &OPTIONAL), not a (VALUES ~
FIXNUM &REST T).
;       etc.

;     (SETF (CFFI:MEM-AREF IOLINEL:HAIRY-DATA-VECTOR-REF ARRAY SB-INT:INDEX)
; 
; note: unable to
;   optimize
; due to type uncertainty:
;   The first argument is a STRING, not a SIMPLE-STRING.
; 
; note: unable to
;   avoid runtime dispatch on array element type
; due to type uncertainty:
;   The first argument is a STRING, not a SIMPLE-ARRAY.

;     (LOOP :WITH IOLIB.SYSCALLS::LEN := (LENGs-unix
/home/chris/.cache/common-lisp/sbcl-1.0.37-linux-x86-64/home/chris/code/~
lisp-tp/iolib-0.7.0/src/syscalls/ffi-types-unix.c
;
/home/chris/.cache/common-lisp/sbcl-1.0.37-linux-x86-64/home/chris/code/~
lisp-tp /iolib-0.7.0/src/syscalls/ffi-types-unix
/home/chris/.cache/common-lisp/sbcl-1.0.37-linux-x86-64/home/chris/code/
lisp-tp/iolib-0.7.0/src/syscalls/ffi-types-unix.grovel-tmp.lisp
;g (COMMON-LISP:DEFCONSTANT S-IRWXG ...)
; compiling (COMMON-LISP:DEFCONSTANT S-IRGRP ...)
; compiling (COMMON-LISP:DEFCONSTANT S-IWGRP ...)
; compiling (COMMON-LISP:DEFCONSTANT S-IXGRP ...)
; compiling (COMMON-LISP:DEFCONSTANT S-IRWXO ...)
; compiling (COMMON-LISP:DEFCONSTANT S-IROTH ...)
; compiling (COMMON-LISP:DEFCONSTANSTANT MAP-SHARED ...)
; compiling (COMMON-LISP:DEFCONSTANT MAP-PRIVATE ...)
; compiling (COMMON-LISP:DEFCONSTANT MAP-FIXED ...)
; compiling (COMMON-LISP:DEFCONSTANT MAP-FAILED ...)
; compiling (DEFCTYPE NFDS-T ...)
; compiling (COMMON-LISP:DEFCONSTANT SIZE-OF-NFDS-T ...)
; compiling (DEFCSTRUCT (POLLFD :SIZE.)
; compiling (COMMON-LISP:DEFCONSTANT RLIMIT-NICE ...)
; compiling (COMMON-LISP:DEFCONSTANT RLIMIT-RTPRIO ...)
; compiling (COMMON-LISP:DEFCONSTANT RLIMIT-SIGPENDING ...)
; compiling (DEFCSTRUCT (UTSNAME :SIZE ...) ...)
; compiling (COMMON-LISP:DEFCONSTANT SIZE-OF-UTSNAME ...)
; compil compiling (COMMON-LISP:DEFCONSTANT EUCLEAN ...)
; compiling (COMMON-LISP:DEFCONSTANT ENOTNAM ...)
; compiling (COMMON-LISP:DEFCONSTANT ENAVAIL ...)
; compiling (COMMON-LISP:DEFCONSTANT EREMOTEIO ...)
; compiling (COMMON-LISP:DEFCONSTANT ENOMEDIUM ...)
; compiling (COMMON-LISP:DEFCONSTANT EMEDIUMTYPE ...)
; compiling (COMMON-LISP:DEFCONSTANT ESTALE bcl-1.0.37-linux-x86-64/home/~
chris/code/lisp-tp/iolib-0.7.0/src/syscalls/ASDF-TMP-conditions.fasl
written
; compilation finished in 0:00:00.053
; compiling file
"/home/chris/code/lisp-tp/iolib-0.7.0/src/syscalls/os-conditions-unix.lisp"
(written 23 OCT 2010 01:04:29 AM):

;
/home/chris/.cache/common-lisp/sbcl-1.0.37-linux-x86-64/home/chris/code/
~lisp-tp/iolib-0.7.0/src/syscalls/ASDF-TMP-os-conditions-unix.fasl
written
; compilation finished in 0:00:00.037
; compiling file
"/home/chris/code/lisp-tp/io





More information about the iolib-devel mailing list