\start
Date: Fri, 01 Sep 2017 11:47:29 -0400
From: Camm Maguire <camm@maguirefamily.org>
To: Tim Daly <axiomcas@gmail.com>
Subject: [Axiom-developer] 20170501
Cc: Barry M Trager <bmt@us.ibm.com>, Tim Daly <daly@axiom-developer.org>,
	axiom-developer@nongnu.org

Greetings!  Just FYI for possible cleanups at some point:

\begin{verbatim}dpkg-shlibdeps: warning: package could avoid a useless dependency if debian=
/axiom-hypertex/usr/lib/axiom-20170501/bin/hypertex was not linked against =
libm.so.6 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian=
/axiom/usr/lib/axiom-20170501/lib/spadbuf debian/axiom/usr/lib/axiom-201705=
01/lib/ex2ht were not linked against libXpm.so.4 (they use none of the libr=
ary's symbols)

Take care,

Tim Daly <axiomcas@gmail.com> writes:

> Camm,
>
> I applied your changes, tested it, and pushed it.
>
> Tim
>
> On Wed, Aug 23, 2017 at 9:24 PM, Tim Daly <axiomcas@gmail.com> wrote:
>
>     Camm,
>
>     I've applied all of the above patches and am rebuilding now.
>     I'll let you know if anything fails. Thanks for the patches.
>
>     re: list_order, etc...
>     I have a meeting at CMU on friday with some profs to talk about the
>     state of my research on proving Axiom correct so I'm going to be
>     busy prepping for that.
>
>     Tim
>
>     On Wed, Aug 23, 2017 at 3:18 PM, Camm Maguire <camm@maguirefamily.org=
> wrote:
>
>         Greetings!
>
>         Tim Daly <axiomcas@gmail.com> writes:
>
>         > Camm,
>         >
>         > So far I've discoverd that chdir is no longer exported from sys=
tem and
>         > that pathname-* no longer accepts a symbol.
>         >
>
>         Correct.
>
>         > These changes are painful to find. You are clearly on the path =
to making
>         > GCL into CLTL2. Do you have a list of these semantic changes so=
mewhere?
>         >
>
>         Actually I do not think this was even valid ClTL1. GCL does in=
tend to
>         support both dialects. But with the next release the default w=
ill be
>         ansi. One can get CLTL1 with --disable-ansi passed to configur=
e.
>
>         Here are my patches addressing these issues. Pretty small issue:
>
>         #################################################################=
############
>         Description: <short summary of the patch>
>         TODO: Put a short summary on the line above and replace this p=
aragraph
>         with a longer explanation of this change. Complete the meta-in=
formation
>         with other relevant fields (see below for details). To make it=
 easier, the
>         information below has been extracted from the changelog. Adjus=
t it or drop
>         it.
>         .
>         axiom (20140801-12) unstable; urgency=medium
>         .
>          * build dep against latest gcl
>          * Bug fix: "FTBFS on arm64, mips64el and mipsel", thanks t=
o Emilio
>           Pozuelo Monfort (Closes: #840639).
>         Author: Camm Maguire <camm@debian.org>
>         Bug-Debian: https://bugs.debian.org/840639
>
>         ---
>         The information above should follow the Patch Tagging Guidelines,=
 please
>         checkout http://dep.debian.net/deps/dep3/ to learn about the form=
at. Here
>         are templates for supplementary fields that you might want to add:
>
>         Origin: <vendor|upstream|other>, <url of original patch>
>         Bug: <url in upstream bugtracker>
>         Bug-Debian: https://bugs.debian.org/<bugnumber>
>         Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
>         Forwarded: <no|not-needed|url proving that it has been forwarded>
>         Reviewed-By: <name and email of someone who approved the patch>
>         Last-Update: 2016-10-13
>
>         Index: axiom-20170401/books/bookvol5.pamphlet
>         ======================
==========================
=====================
>         --- axiom-20170401.orig/books/bookvol5.pamphlet
>         +++ axiom-20170401/books/bookvol5.pamphlet
>         @@ -47588,9 +47588,9 @@ nrlib/index.kaf
>          (processDir (dirarg thisdir)
>           (let (allfiles)
>           (declare (special vmlisp::*index-filename*))
>         -  (system:chdir (string dirarg))
>         +  (system::chdir (string dirarg))
>           (setq allfiles (directory "*"))
>         -  (system:chdir thisdir)
>         +  (system::chdir thisdir)
>            (mapcan #'(lambda (f)
>            (when (string-equal (pathname-type f) "nrlib")
>             (list (concatenate 'string (namestring f) "/"
>         Index: axiom-20170401/src/interp/patches.lisp.pamphlet
>         ======================
>         --- axiom-20170401.orig/src/interp/patches.lisp.pamphlet
>         +++ axiom-20170401/src/interp/patches.lisp.pamphlet
>         @@ -123,7 +123,7 @@ It used to read:
>             ((eql (|directoryp| (interp-make-directory (ca=
r args))) 1)
>              (setq $current-directory
>               (namestring (truename (interp-make-direct=
ory (car args)))))))
>         -#+(or :kcl :ibcl :CCL) (system:CHDIR $current-directory)
>         +#+(or :kcl :ibcl :CCL) (system::CHDIR $current-directory)
>         #+(and :lucid :ibm/370)
>          (setq *default-pathname-defaults* "")
>         #-(and :lucid :ibm/370)
>         @@ -143,7 +143,7 @@ It used to read:
>           ((eql (|directoryp| (interp-make-directory (car args))=
) 1)
>            (setq $current-directory
>             (namestring (truename (interp-make-directory (car=
 args)))))))
>         -#+(or :kcl :ibcl :CCL) (system:CHDIR $current-directory)
>         +#+(or :kcl :ibcl :CCL) (system::CHDIR $current-directory)
>         #+(and :lucid :ibm/370)
>          (setq *default-pathname-defaults* "")
>         #-(and :lucid :ibm/370)
>         ======================
>         Description: <short summary of the patch>
>         TODO: Put a short summary on the line above and replace this p=
aragraph
>         with a longer explanation of this change. Complete the meta-in=
formation
>         with other relevant fields (see below for details). To make it=
 easier, the
>         information below has been extracted from the changelog. Adjus=
t it or drop
>         it.
>         .
>         axiom (20140801-11) unstable; urgency=medium
>         .
>          * fix FTBFS ppc64, patch to avoid overflow of BSD sockaddr=
 sa_data in
>           make_server_name
>          * build-dep latest gcl
>          * Bug fix: "FTBFS on mips", thanks to Sebastian Ramacher (=
Closes:
>           #756793). autobuild with latest tools on mips works.
>          * Bug fix: "naive methods of exiting axiom can blow up
>           catastrophically", thanks to Tom Hargreaves (Closes: #=
346552).
>          * Bug fix: "&quot;backspace&quot; key doesn&#39;t work as =
expected",
>           thanks to Edi Meier (Closes: #708733). Command line ed=
iting in
>           terminal now has a conventionally functioning Backspace
>         Author: Camm Maguire <camm@debian.org>
>         Bug-Debian: https://bugs.debian.org/346552
>         Bug-Debian: https://bugs.debian.org/708733
>         Bug-Debian: https://bugs.debian.org/756793
>
>         ---
>         The information above should follow the Patch Tagging Guidelines,=
 please
>         checkout http://dep.debian.net/deps/dep3/ to learn about the form=
at. Here
>         are templates for supplementary fields that you might want to add:
>
>         Origin: <vendor|upstream|other>, <url of original patch>
>         Bug: <url in upstream bugtracker>
>         Bug-Debian: https://bugs.debian.org/<bugnumber>
>         Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
>         Forwarded: <no|not-needed|url proving that it has been forwarded>
>         Reviewed-By: <name and email of someone who approved the patch>
>         Last-Update: 2016-10-13
>
>         Index: axiom-20170401/books/bookvol5.pamphlet
>         ======================
>         --- axiom-20170401.orig/books/bookvol5.pamphlet
>         +++ axiom-20170401/books/bookvol5.pamphlet
>         @@ -37537,7 +37537,7 @@ o )history
>           (cond
>            ((eq fullopt '|ifthere|) (setq ifthere t))
>            ((eq fullopt '|quiet|) (setq quiet t))))
>         - (setq ef (|pathname| /editfile))
>         + (setq ef (or (|pathname| /editfile) ""))
>          (when (eq (|pathnameTypeId| ef) 'spad)
>           (setq ef (|makePathname| (|pathnameName| ef) "*" "*")))
>          (if arg
>         @@ -47605,8 +47605,9 @@ nrlib/index.kaf
>          (if make-database? (setq noexpose t))
>          (when dir (setq nrlibs (processDir dir thisdir)))
>          (dolist (file filelist)
>         - (let ((filename (pathname-name file))
>         -    (namedir (directory-namestring file)))
>         + (let* ((file (string file))
>         +     (filename (pathname-name file))
>         +     (namedir (directory-namestring file)))
>           (unless namedir (setq thisdir (concatenate 'string thi=
sdir "/")))
>           (cond
>            ((setq file (probe-file
>         @@ -48838,7 +48839,7 @@ filetype and filemode. We also UPCASE ev
>         (defun |pathname| (p)
>          (cond
>          ((null p) p)
>         - ((pathnamep p) p)
>         + ((pathnamep p) p)((symbolp p) (pathname (string p)))
>          ((null (consp p)) (pathname p))
>          (t
>           (when (> (|#| p) 2) (setq p (cons (elt p 0) (cons (elt p =
1) nil))))
>         Index: axiom-20170401/src/interp/patches.lisp.pamphlet
>         ======================
>         --- axiom-20170401.orig/src/interp/patches.lisp.pamphlet
>         +++ axiom-20170401/src/interp/patches.lisp.pamphlet
>         @@ -100,9 +100,9 @@ previous definition.
>          (cond ((null filename)
>              (dribble) (TERPRI)
>              (reset-highlight))
>         -    ((probe-file (car filename))
>         +    ((probe-file (string (car filename)))
>              (error (format nil "file ~a already exists" (=
car filename))))
>         -    (t (dribble (car filename))
>         +    (t (dribble (string (car filename)))
>               (TERPRI)
>               (clear-highlight))
>           ))
>         Index: axiom-20170401/src/interp/util.lisp.pamphlet
>         ======================
>         --- axiom-20170401.orig/src/interp/util.lisp.pamphlet
>         +++ axiom-20170401/src/interp/util.lisp.pamphlet
>         @@ -1145,7 +1145,7 @@ Run the etags command on all of the lisp
>         final TAGS file is constructed in the {\bf tmp} directory.
>         \begin{chunk}{make-tags-file}
>         (defun make-tags-file ()
>         -#+:gcl (system:chdir "/tmp")
>         +#+:gcl (system::chdir "/tmp")
>         #-:gcl (vmlisp::obey (concatenate 'string "cd " "/tmp"))
>          (obey (concat "etags " (make-absolute-filename "../../src/=
interp/*.lisp")))
>          (spadtags-from-directory "../../src/interp" "boot")
>         #################################################################=
>
>         Take care,
>
>         > Tim
>         >
>         > On Thu, Jul 20, 2017 at 7:14 PM, Tim Daly <axiomcas@gmail.com> =
wrote:
>         >
>         >  Never mind. I might have figured it out. I'll let you=
 know.
>         >
>         >  On Thu, Jul 20, 2017 at 6:30 PM, Tim Daly <axiomcas@g=
mail.com> wrote:
>         >
>         >    Camm, Barry,
>         >
>         >    Yeah, I know. But it wasnt' needed before.
>         >    I've fixed that. Now the problem is:
>         >
>         >    >;; Loading "/home/daly/axiom/obj/ubuntu/inte=
rp/makedep.lisp"
>         >    ;; Loading "/home/daly/axiom/obj/ubuntu/inter=
p/sys-pkg.lsp"
>         >    ;; Finished loading "/home/daly/axiom/obj/ubu=
ntu/interp/sys-pkg.lsp"
>         >    ;; Loading "/home/daly/axiom/src/interp/inter=
p-proclaims.lisp"
>         >    ;; Finished loading "/home/daly/axiom/src/int=
erp/interp-proclaims.lisp"
>         >    ;; Loading "/home/daly/axiom/obj/ubuntu/inter=
p/nocompil"
>         >    ;; Finished loading "/home/daly/axiom/obj/ubu=
ntu/interp/nocompil"
>         >    ;; Loading "/home/daly/axiom/obj/ubuntu/inter=
p/bookvol5"
>         >
>         >    Error: ERROR "Cannot find the external symbol=
 CHDIR in #<\"SYSTEM\" package>."
>         >    Fast links are on: do (si::use-fast-links nil=
) for debugging
>         >    Signalled by LOAD.
>         >    ERROR "Cannot find the external symbol CHDIR =
in #<\"SYSTEM\" package>."
>         >
>         >    Broken at LOAD. Type :H for Help.
>         >      1 Return to top level.
>         >    BOOT>>Makefile:174: recipe for target '/home/=
daly/axiom/obj/ubuntu/bin/depsys' failed
>         >    make[3]: *** [/home/daly/axiom/obj/ubuntu/bin=
/depsys] Error 255
>         >    rm /home/daly/axiom/int/interp/nocompil.lisp =
/home/daly/axiom/int/interp/sys-pkg.lisp /home/daly/axiom/int/interp/util.l=
isp /home
>         /daly/axiom/int/interp/parsing.lisp
>         >    make[3]: Leaving directory '/home/daly/axiom/=
src/interp'
>         >    Makefile:80: recipe for target 'interpdir' fa=
iled
>         >    make[2]: *** [interpdir] Error 2
>         >    make[2]: Leaving directory '/home/daly/axiom/=
src'
>         >    Makefile.ubuntu:164: recipe for target 'srcdi=
r' failed
>         >    make[1]: *** [srcdir] Error 2
>         >    make[1]: Leaving directory '/home/daly/axiom'
>         >    Makefile:140: recipe for target 'all' failed
>         >    make: *** [all] Error 2
>         >
>         >    When I build gcl with Axiom and run bin/gcl
>         >
>         >    (find-all-symbols 'chdir) ==> (system::ch=
dir chdir)
>         >
>         >    but when I do the build the above failure occ=
urs. Yet
>         >
>         >    every call to chdir uses the fully qualified =
system::chdir
>         >
>         >    suggestions?
>         >
>         >    On Wed, Jul 19, 2017 at 5:28 PM, Barry M Trag=
er <bmt@us.ibm.com> wrote:
>         >
>         >      Tim, I think bsdSignal comes from you=
r bsdsignal.c so don't you need to include bcdsignal.o when trying to link =
in sockio-c.o
>         ?
>         >
>         >      Barry
>         >
>         >      From:    Tim Daly <axiomc=
as@gmail.com>
>         >      To:    Camm Maguire <camm=
@maguirefamily.org>
>         >      Cc:    Barry M Trager <bm=
t@us.ibm.com>, Tim Daly <daly@axiom-developer.org>
>         >      Date:    07/19/2017 03:09=
 PM
>         >      Subject:    Re: [Axiom] B=
uild failures
>         >      -------------------------------------=
---------------------------------------------------------------------------=
-------
>         ----------------
>         >
>         >      I have integrated the list_order bran=
ch into the Axiom build. Without
>         >      change, the list_order GCL will build=
 on Ubuntu 16.10
>         >
>         >      Axiom requires two addtional files, s=
ockio and cfuns to be part of the
>         >      lisp image. This step fails, missing =
bsdSignal:
>         >
>         >      ar: creating libpre_gcl.a
>         >      cp ../o/gcllib.a libgclp.a
>         >      ranlib libgclp.a
>         >      cat sys_init.lsp.in| sed \
>         >              -e "s=
#@LI-VERS@#(`cat ../majvers`.`cat ../minvers`) `cat ../release`#1" \
>         >              -e "s=
#@LI-EXTVERS@#`cat ../minvers | cut -f2 -d.`#1" \
>         >              -e "s=
#@LI-MINVERS@#`cat ../minvers | cut -f1 -d.`#1" \
>         >              -e "s=
#@LI-MAJVERS@#`cat ../majvers`#1" \
>         >              -e "s=
#@LI-RELEASE@#`cat ../release`#1" \
>         >              -e "s=
#@LI-CC@#\"gcc -c -fsigned-char -pipe -fno-builtin-malloc -fno-builtin-free=
 -fno-PIE -fno-pie -fno-PIC
>         -fno-pic
>         >      -Wall -Wno-empty-body -Wno-unused-but=
-set-variable  \"#1" \
>         >              -e "s=
#@LI-LD@#\"gcc -Wl,-z,lazy -Wl,-T,../unixport/gcl.script -o \"#1" \
>         >              -e "s=
#@LI-LD-LIBS@#\" -l -lm -lc -lgclp\"#1" \
>         >              -e "s=
#@LI-OPT-THREE@#\"-O3 -fomit-frame-pointer\"#1" \
>         >              -e "s=
#@LI-OPT-TWO@#\"-O\"#1" \
>         >              -e "s=
#@LI-INIT-LSP@#\"sys_init.lsp\"#1" >sys_init.lsp
>         >      touch raw_pre_gcl_map
>         >      gcc -Wl,-z,lazy -Wl,-T,../unixport/gc=
l.script -o raw_pre_gcl /home/daly/axiom/obj/ubuntu/lib/cfuns-c.o /home/dal=
y/axiom/obj/
>         ubuntu/lib/
>         >      sockio-c.o -L. -Wl,-Map raw_pre_gc=
l_map -lpre_gcl -lm -lc -lgclp
>         >      /home/daly/axiom/obj/ubuntu/lib/socki=
o-c.o: In function `open_server':
>         >      sockio-c.c:(.text+0x1c73): undefined =
reference to `bsdSignal'
>         >      collect2: error: ld returned 1 exit s=
tatus
>         >      makefile:137: recipe for target 'raw_=
pre_gcl_map' failed
>         >      make[4]: *** [raw_pre_gcl_map] Error 1
>         >      make[4]: Leaving directory '/home/dal=
y/axiom/lsp/gcl-2.6.13pre/unixport'
>         >      makefile:74: recipe for target 'unixp=
ort/saved_pre_gcl' failed
>         >      make[3]: *** [unixport/saved_pre_gcl]=
 Error 2
>         >      rm h/mcompdefs.h
>         >      make[3]: Leaving directory '/home/dal=
y/axiom/lsp/gcl-2.6.13pre'
>         >      /bin/sh: 6: unixport/saved_gcl: not f=
ound
>         >      Makefile:8: recipe for target 'gcldir=
' failed
>         >      make[2]: *** [gcldir] Error 127
>         >      make[2]: Leaving directory '/home/dal=
y/axiom/lsp'
>         >      Makefile.ubuntu:181: recipe for targe=
t 'lspdir' failed
>         >      make[1]: *** [lspdir] Error 2
>         >      make[1]: Leaving directory '/home/dal=
y/axiom'
>         >      Makefile:140: recipe for target 'all'=
 failed
>         >      make: *** [all] Error 2
>         >
>         >      On Mon, Jul 17, 2017 at 10:26 PM, Tim=
 Daly <axiomcas@gmail.com> wrote:
>         >      Thanks. I'm cloning it now. I'll let =
you know how it goes.
>         >
>         >      Axiom would not exist without your he=
lp.
>         >      I can't tell you how much I appreciat=
e it.
>         >      Debugging a C compiler problem is pai=
nful.
>         >
>         >      Tim
>         >
>         >      On Mon, Jul 17, 2017 at 4:47 PM, Camm=
 Maguire <camm@maguirefamily.org> wrote:
>         >      Hi Tim! I take it you are using 2.=
6.13pre? If so, please advance to
>         >      the list_order branch, which I will b=
e pushing to 2.6.13pre soon. I
>         >      have a configure script which tests f=
or and adds -fno_pie as needed.
>         >
>         >      Take care,
>         >
>         >      Tim Daly <axiomcas@gmail.com> writes:
>         >
>         >      > No. I have spent the last two days =
trying to get that to work.
>         >      > Apparently it also affects the ship=
ped libraries so the linker is
>         >      > unhappy. I also tried using update-=
alternatives to install back-level
>         >      > gcc versions but they also will not=
 build.
>         >      >
>         >      > One option is to rebuild the compil=
er/linker/library chain without PIE
>         >      > but then I have a much larger maint=
enance task.
>         >      >
>         >      > Unfortunately this is viral. GCC 6.=
2 will eventually be on all shipped
>         >      > systems in the future so Axiom will=
 only be able to be built as long
>         >      > as I maintain old build servers. On=
ce my binaries from old build
>         >      > servers stop working on new systems=
 the whole project will suffer.
>         >      >
>         >      > I will try to use clang in the next=
 few days.
>         >      >
>         >      > On Mon, Jul 17, 2017 at 2:41 PM, Ba=
rry M Trager <bmt@us.ibm.com> wrote:
>         >      >
>         >      >  Tim, now that you've foun=
d the problem, can't you just add the -no-pie compiler flag to fix it?
>         >      >  Barry
>         >      >  
>         >      >  
>         >      >
>         >      >    ----- Original me=
ssage -----
>         >      >    From: Tim Daly <a=
xiomcas@gmail.com>
>         >      >    To: Camm Maguire =
<camm@maguirefamily.org>, Barry M Trager <bmt@us.ibm.com>, Tim Daly <daly@a=
xiom-developer.org>
>         >      >    Cc:
>         >      >    Subject: [Axiom] =
Build failures
>         >      >    Date: Mon, Jul 17=
, 2017 2:21 PM
>         >      >    
>         >      >    I have been unabl=
e to build Axiom on Ubuntu on any system from
>         >      >    16.10 onward. The=
 lisp build fails.
>         >      >    
>         >      >    I finally tracked=
 down the problem. Some bright-spot thought it would
>         >      >    be a great idea t=
o enable PIE by default.
>         >      >    https://wiki.ubun=
tu.com/SecurityTeam/PIE
>         >      >    
>         >      >    So essentially I =
cannot compile Axiom on any system with
>         >      >    GCC 6.2.0 or abov=
e.
>         >      >    
>         >      >    This is misguided=
 on two levels. A language compiler has no business
>         >      >    trying to enforce=
 security-related protocols. And the whole idea
>         >      >    of address space =
layout randomization is a subset of the SELINUX
>         >      >    (an NSA/SAIC hack=
) attempt to simulate a harvard architecture
>         >      >    machine on a prin=
ceton architecture machine, which is failure by design.
>         >      >    
>         >      >    I may have to cha=
nge compilers.
>         >      >    
>         >      >    Tim
>         >      >    
>         >      >
>         >      >  
>         >      >
>         >
>         >      --
>         >      Camm Maguire      =
              camm@maguirefamily.=
org
>         >      =============
==========================
==========================
============
>         >      "The earth is but one country, and ma=
nkind its citizens." -- Baha'u'llah
>         >
>
>         --
>         Camm Maguire             =

\start
Date: Fri, 01 Sep 2017 11:13:13 -0400
From: Camm Maguire <camm@maguirefamily.org>
To: Tim Daly <axiomcas@gmail.com>
Cc: Barry M Trager <bmt@us.ibm.com>, Tim Daly <daly@axiom-developer.org>,
	axiom-developer@nongnu.org
Subject: [Axiom-developer] 20170501

Greetings!  Just wondering about the status of the test failures:

int/input/allfns.regress:regression result FAILED 56 of 3320 stanzas file a=
llfns
int/input/bugs.regress:regression result FAILED 1 of 49 stanzas file bugs
int/input/cad.regress:regression result FAILED 1 of 12 stanzas file cad
int/input/ch.regress:regression result FAILED 6 of 7 stanzas file ch
int/input/charlwood.regress:regression result FAILED 196 of 250 stanzas fil=
e charlwood
int/input/chtheorem.regress:regression result FAILED 8 of 28 stanzas file c=
htheorem
int/input/classtalk.regress:regression result FAILED 7 of 72 stanzas file c=
lasstalk
int/input/clif.regress:regression result FAILED 27 of 36 stanzas file clif
int/input/clifford.regress:regression result FAILED 30 of 39 stanzas file c=
lifford
int/input/cmds.regress:regression result FAILED early exit in file cmds?
int/input/danzwill.regress:regression result FAILED 10 of 17 stanzas file d=
anzwill
int/input/danzwill2.regress:regression result FAILED 7 of 50 stanzas file d=
anzwill2
int/input/divisor.regress:regression result FAILED 14 of 18 stanzas file di=
visor
int/input/easter.regress:regression result FAILED 85 of 200 stanzas file ea=
ster
int/input/eigen.regress:regression result FAILED 34 of 36 stanzas file eigen
int/input/ffdemo.regress:regression result FAILED 4 of 350 stanzas file ffd=
emo
int/input/fname1.regress:regression result FAILED 1 of 18 stanzas file fnam=
e1
int/input/gbf.regress:regression result FAILED 2 of 3 stanzas file gbf
int/input/grpthry.regress:regression result FAILED 2 of 55 stanzas file grp=
thry
int/input/guess.regress:regression result FAILED 2 of 102 stanzas file guess
int/input/ico.regress:regression result FAILED 5 of 65 stanzas file ico
int/input/intaf.regress:regression result FAILED 5 of 20 stanzas file intaf
int/input/linalg.regress:regression result FAILED 20 of 82 stanzas file lin=
alg
int/input/liska.regress:regression result FAILED 5 of 94 stanzas file liska
int/input/liu.regress:regression result FAILED 1 of 9 stanzas file liu
int/input/manuel.regress:regression result FAILED 2 of 3 stanzas file manuel
int/input/mapleok.regress:regression result FAILED 172 of 224 stanzas file =
mapleok
int/input/mathml.regress:regression result FAILED 1 of 21 stanzas file math=
ml
int/input/mfinfact.regress:regression result FAILED 12 of 13 stanzas file m=
finfact
int/input/mset.regress:regression result FAILED 6 of 17 stanzas file mset
int/input/mset2.regress:regression result FAILED 8 of 12 stanzas file mset2
int/input/paff.regress:regression result FAILED 13 of 26 stanzas file paff
int/input/polygamma.regress:regression result FAILED 1 of 6 stanzas file po=
lygamma
int/input/r20bugs.regress:regression result FAILED 1 of 27 stanzas file r20=
bugs
int/input/risch.regress:regression result FAILED 4 of 8 stanzas file risch
int/input/segletes.regress:regression result FAILED 1 of 61 stanzas file se=
gletes
int/input/setcmd.regress:regression result FAILED early exit in file setcmd?
int/input/sregset.regress:regression result FAILED 2 of 23 stanzas file sre=
gset
int/input/strtbl.regress:regression result FAILED 1 of 3 stanzas file strtbl
int/input/tutorium.regress:regression result FAILED 50 of 222 stanzas file =
tutorium
int/input/unittest1.regress:regression result FAILED 3 of 63 stanzas file u=
nittest1
int/input/unittest1.regress:regression result FAILED early exit in file uni=
ttest1?
int/input/unittest2.regress:regression result FAILED 10 of 234 stanzas file=
 unittest2

Take care,

Tim Daly <axiomcas@gmail.com> writes:

> Camm,
>
> I applied your changes, tested it, and pushed it.
>
> Tim
>
> On Wed, Aug 23, 2017 at 9:24 PM, Tim Daly <axiomcas@gmail.com> wrote:
>
>     Camm,
>
>     I've applied all of the above patches and am rebuilding now.
>     I'll let you know if anything fails. Thanks for the patches.
>
>     re: list_order, etc...
>     I have a meeting at CMU on friday with some profs to talk about the
>     state of my research on proving Axiom correct so I'm going to be
>     busy prepping for that.
>
>     Tim
>
>     On Wed, Aug 23, 2017 at 3:18 PM, Camm Maguire <camm@maguirefamily.org=
> wrote:
>
>         Greetings!
>
>         Tim Daly <axiomcas@gmail.com> writes:
>
>         > Camm,
>         >
>         > So far I've discoverd that chdir is no longer exported from sys=
tem and
>         > that pathname-* no longer accepts a symbol.
>         >
>
>         Correct.
>
>         > These changes are painful to find. You are clearly on the path =
to making
>         > GCL into CLTL2. Do you have a list of these semantic changes so=
mewhere?
>         >
>
>         Actually I do not think this was even valid ClTL1. GCL does in=
tend to
>         support both dialects. But with the next release the default w=
ill be
>         ansi. One can get CLTL1 with --disable-ansi passed to configur=
e.
>
>         Here are my patches addressing these issues. Pretty small issue:
>
>         #################################################################=
############
>         Description: <short summary of the patch>
>         TODO: Put a short summary on the line above and replace this p=
aragraph
>         with a longer explanation of this change. Complete the meta-in=
formation
>         with other relevant fields (see below for details). To make it=
 easier, the
>         information below has been extracted from the changelog. Adjus=
t it or drop
>         it.
>         .
>         axiom (20140801-12) unstable; urgency=medium
>         .
>          * build dep against latest gcl
>          * Bug fix: "FTBFS on arm64, mips64el and mipsel", thanks t=
o Emilio
>           Pozuelo Monfort (Closes: #840639).
>         Author: Camm Maguire <camm@debian.org>
>         Bug-Debian: https://bugs.debian.org/840639
>
>         ---
>         The information above should follow the Patch Tagging Guidelines,=
 please
>         checkout http://dep.debian.net/deps/dep3/ to learn about the form=
at. Here
>         are templates for supplementary fields that you might want to add:
>
>         Origin: <vendor|upstream|other>, <url of original patch>
>         Bug: <url in upstream bugtracker>
>         Bug-Debian: https://bugs.debian.org/<bugnumber>
>         Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
>         Forwarded: <no|not-needed|url proving that it has been forwarded>
>         Reviewed-By: <name and email of someone who approved the patch>
>         Last-Update: 2016-10-13
>
>         Index: axiom-20170401/books/bookvol5.pamphlet
>         ======================
==========================
=====================
>         --- axiom-20170401.orig/books/bookvol5.pamphlet
>         +++ axiom-20170401/books/bookvol5.pamphlet
>         @@ -47588,9 +47588,9 @@ nrlib/index.kaf
>          (processDir (dirarg thisdir)
>           (let (allfiles)
>           (declare (special vmlisp::*index-filename*))
>         -  (system:chdir (string dirarg))
>         +  (system::chdir (string dirarg))
>           (setq allfiles (directory "*"))
>         -  (system:chdir thisdir)
>         +  (system::chdir thisdir)
>            (mapcan #'(lambda (f)
>            (when (string-equal (pathname-type f) "nrlib")
>             (list (concatenate 'string (namestring f) "/"
>         Index: axiom-20170401/src/interp/patches.lisp.pamphlet
>         ======================
==========================
=====================
>         --- axiom-20170401.orig/src/interp/patches.lisp.pamphlet
>         +++ axiom-20170401/src/interp/patches.lisp.pamphlet
>         @@ -123,7 +123,7 @@ It used to read:
>             ((eql (|directoryp| (interp-make-directory (ca=
r args))) 1)
>              (setq $current-directory
>               (namestring (truename (interp-make-direct=
ory (car args)))))))
>         -#+(or :kcl :ibcl :CCL) (system:CHDIR $current-directory)
>         +#+(or :kcl :ibcl :CCL) (system::CHDIR $current-directory)
>         #+(and :lucid :ibm/370)
>          (setq *default-pathname-defaults* "")
>         #-(and :lucid :ibm/370)
>         @@ -143,7 +143,7 @@ It used to read:
>           ((eql (|directoryp| (interp-make-directory (car args))=
) 1)
>            (setq $current-directory
>             (namestring (truename (interp-make-directory (car=
 args)))))))
>         -#+(or :kcl :ibcl :CCL) (system:CHDIR $current-directory)
>         +#+(or :kcl :ibcl :CCL) (system::CHDIR $current-directory)
>         #+(and :lucid :ibm/370)
>          (setq *default-pathname-defaults* "")
>         #-(and :lucid :ibm/370)
>         ======================
==========================
==========================
======
>         Description: <short summary of the patch>
>         TODO: Put a short summary on the line above and replace this p=
aragraph
>         with a longer explanation of this change. Complete the meta-in=
formation
>         with other relevant fields (see below for details). To make it=
 easier, the
>         information below has been extracted from the changelog. Adjus=
t it or drop
>         it.
>         .
>         axiom (20140801-11) unstable; urgency=medium
>         .
>          * fix FTBFS ppc64, patch to avoid overflow of BSD sockaddr=
 sa_data in
>           make_server_name
>          * build-dep latest gcl
>          * Bug fix: "FTBFS on mips", thanks to Sebastian Ramacher (=
Closes:
>           #756793). autobuild with latest tools on mips works.
>          * Bug fix: "naive methods of exiting axiom can blow up
>           catastrophically", thanks to Tom Hargreaves (Closes: #=
346552).
>          * Bug fix: "&quot;backspace&quot; key doesn&#39;t work as =
expected",
>           thanks to Edi Meier (Closes: #708733). Command line ed=
iting in
>           terminal now has a conventionally functioning Backspace
>         Author: Camm Maguire <camm@debian.org>
>         Bug-Debian: https://bugs.debian.org/346552
>         Bug-Debian: https://bugs.debian.org/708733
>         Bug-Debian: https://bugs.debian.org/756793
>
>         ---
>         The information above should follow the Patch Tagging Guidelines,=
 please
>         checkout http://dep.debian.net/deps/dep3/ to learn about the form=
at. Here
>         are templates for supplementary fields that you might want to add:
>
>         Origin: <vendor|upstream|other>, <url of original patch>
>         Bug: <url in upstream bugtracker>
>         Bug-Debian: https://bugs.debian.org/<bugnumber>
>         Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
>         Forwarded: <no|not-needed|url proving that it has been forwarded>
>         Reviewed-By: <name and email of someone who approved the patch>
>         Last-Update: 2016-10-13
>
>         Index: axiom-20170401/books/bookvol5.pamphlet
>         ======================
==========================
=====================
>         --- axiom-20170401.orig/books/bookvol5.pamphlet
>         +++ axiom-20170401/books/bookvol5.pamphlet
>         @@ -37537,7 +37537,7 @@ o )history
>           (cond
>            ((eq fullopt '|ifthere|) (setq ifthere t))
>            ((eq fullopt '|quiet|) (setq quiet t))))
>         - (setq ef (|pathname| /editfile))
>         + (setq ef (or (|pathname| /editfile) ""))
>          (when (eq (|pathnameTypeId| ef) 'spad)
>           (setq ef (|makePathname| (|pathnameName| ef) "*" "*")))
>          (if arg
>         @@ -47605,8 +47605,9 @@ nrlib/index.kaf
>          (if make-database? (setq noexpose t))
>          (when dir (setq nrlibs (processDir dir thisdir)))
>          (dolist (file filelist)
>         - (let ((filename (pathname-name file))
>         -    (namedir (directory-namestring file)))
>         + (let* ((file (string file))
>         +     (filename (pathname-name file))
>         +     (namedir (directory-namestring file)))
>           (unless namedir (setq thisdir (concatenate 'string thi=
sdir "/")))
>           (cond
>            ((setq file (probe-file
>         @@ -48838,7 +48839,7 @@ filetype and filemode. We also UPCASE ev
>         (defun |pathname| (p)
>          (cond
>          ((null p) p)
>         - ((pathnamep p) p)
>         + ((pathnamep p) p)((symbolp p) (pathname (string p)))
>          ((null (consp p)) (pathname p))
>          (t
>           (when (> (|#| p) 2) (setq p (cons (elt p 0) (cons (elt p =
1) nil))))
>         Index: axiom-20170401/src/interp/patches.lisp.pamphlet
>         ======================
==========================
=====================
>         --- axiom-20170401.orig/src/interp/patches.lisp.pamphlet
>         +++ axiom-20170401/src/interp/patches.lisp.pamphlet
>         @@ -100,9 +100,9 @@ previous definition.
>          (cond ((null filename)
>              (dribble) (TERPRI)
>              (reset-highlight))
>         -    ((probe-file (car filename))
>         +    ((probe-file (string (car filename)))
>              (error (format nil "file ~a already exists" (=
car filename))))
>         -    (t (dribble (car filename))
>         +    (t (dribble (string (car filename)))
>               (TERPRI)
>               (clear-highlight))
>           ))
>         Index: axiom-20170401/src/interp/util.lisp.pamphlet
>         ======================
==========================
=====================
>         --- axiom-20170401.orig/src/interp/util.lisp.pamphlet
>         +++ axiom-20170401/src/interp/util.lisp.pamphlet
>         @@ -1145,7 +1145,7 @@ Run the etags command on all of the lisp
>         final TAGS file is constructed in the {\bf tmp} directory.
>         \begin{chunk}{make-tags-file}
>         (defun make-tags-file ()
>         -#+:gcl (system:chdir "/tmp")
>         +#+:gcl (system::chdir "/tmp")
>         #-:gcl (vmlisp::obey (concatenate 'string "cd " "/tmp"))
>          (obey (concat "etags " (make-absolute-filename "../../src/=
interp/*.lisp")))
>          (spadtags-from-directory "../../src/interp" "boot")
>         #################################################################=
############
>
>         Take care,
>
>         > Tim
>         >
>         > On Thu, Jul 20, 2017 at 7:14 PM, Tim Daly <axiomcas@gmail.com> =
wrote:
>         >
>         >  Never mind. I might have figured it out. I'll let you=
 know.
>         >
>         >  On Thu, Jul 20, 2017 at 6:30 PM, Tim Daly <axiomcas@g=
mail.com> wrote:
>         >
>         >    Camm, Barry,
>         >
>         >    Yeah, I know. But it wasnt' needed before.
>         >    I've fixed that. Now the problem is:
>         >
>         >    >;; Loading "/home/daly/axiom/obj/ubuntu/inte=
rp/makedep.lisp"
>         >    ;; Loading "/home/daly/axiom/obj/ubuntu/inter=
p/sys-pkg.lsp"
>         >    ;; Finished loading "/home/daly/axiom/obj/ubu=
ntu/interp/sys-pkg.lsp"
>         >    ;; Loading "/home/daly/axiom/src/interp/inter=
p-proclaims.lisp"
>         >    ;; Finished loading "/home/daly/axiom/src/int=
erp/interp-proclaims.lisp"
>         >    ;; Loading "/home/daly/axiom/obj/ubuntu/inter=
p/nocompil"
>         >    ;; Finished loading "/home/daly/axiom/obj/ubu=
ntu/interp/nocompil"
>         >    ;; Loading "/home/daly/axiom/obj/ubuntu/inter=
p/bookvol5"
>         >
>         >    Error: ERROR "Cannot find the external symbol=
 CHDIR in #<\"SYSTEM\" package>."
>         >    Fast links are on: do (si::use-fast-links nil=
) for debugging
>         >    Signalled by LOAD.
>         >    ERROR "Cannot find the external symbol CHDIR =
in #<\"SYSTEM\" package>."
>         >
>         >    Broken at LOAD. Type :H for Help.
>         >      1 Return to top level.
>         >    BOOT>>Makefile:174: recipe for target '/home/=
daly/axiom/obj/ubuntu/bin/depsys' failed
>         >    make[3]: *** [/home/daly/axiom/obj/ubuntu/bin=
/depsys] Error 255
>         >    rm /home/daly/axiom/int/interp/nocompil.lisp =
/home/daly/axiom/int/interp/sys-pkg.lisp /home/daly/axiom/int/interp/util.l=
isp /home
>         /daly/axiom/int/interp/parsing.lisp
>         >    make[3]: Leaving directory '/home/daly/axiom/=
src/interp'
>         >    Makefile:80: recipe for target 'interpdir' fa=
iled
>         >    make[2]: *** [interpdir] Error 2
>         >    make[2]: Leaving directory '/home/daly/axiom/=
src'
>         >    Makefile.ubuntu:164: recipe for target 'srcdi=
r' failed
>         >    make[1]: *** [srcdir] Error 2
>         >    make[1]: Leaving directory '/home/daly/axiom'
>         >    Makefile:140: recipe for target 'all' failed
>         >    make: *** [all] Error 2
>         >
>         >    When I build gcl with Axiom and run bin/gcl
>         >
>         >    (find-all-symbols 'chdir) ==> (system::ch=
dir chdir)
>         >
>         >    but when I do the build the above failure occ=
urs. Yet
>         >
>         >    every call to chdir uses the fully qualified =
system::chdir
>         >
>         >    suggestions?
>         >
>         >    On Wed, Jul 19, 2017 at 5:28 PM, Barry M Trag=
er <bmt@us.ibm.com> wrote:
>         >
>         >      Tim, I think bsdSignal comes from you=
r bsdsignal.c so don't you need to include bcdsignal.o when trying to link =
in sockio-c.o
>         ?
>         >
>         >      Barry
>         >
>         >      From:    Tim Daly <axiomc=
as@gmail.com>
>         >      To:    Camm Maguire <camm=
@maguirefamily.org>
>         >      Cc:    Barry M Trager <bm=
t@us.ibm.com>, Tim Daly <daly@axiom-developer.org>
>         >      Date:    07/19/2017 03:09=
 PM
>         >      Subject:    Re: [Axiom] B=
uild failures
>         >      -------------------------------------=
---------------------------------------------------------------------------=
-------
>         ----------------
>         >
>         >      I have integrated the list_order bran=
ch into the Axiom build. Without
>         >      change, the list_order GCL will build=
 on Ubuntu 16.10
>         >
>         >      Axiom requires two addtional files, s=
ockio and cfuns to be part of the
>         >      lisp image. This step fails, missing =
bsdSignal:
>         >
>         >      ar: creating libpre_gcl.a
>         >      cp ../o/gcllib.a libgclp.a
>         >      ranlib libgclp.a
>         >      cat sys_init.lsp.in| sed \
>         >              -e "s=
#@LI-VERS@#(`cat ../majvers`.`cat ../minvers`) `cat ../release`#1" \
>         >              -e "s=
#@LI-EXTVERS@#`cat ../minvers | cut -f2 -d.`#1" \
>         >              -e "s=
#@LI-MINVERS@#`cat ../minvers | cut -f1 -d.`#1" \
>         >              -e "s=
#@LI-MAJVERS@#`cat ../majvers`#1" \
>         >              -e "s=
#@LI-RELEASE@#`cat ../release`#1" \
>         >              -e "s=
#@LI-CC@#\"gcc -c -fsigned-char -pipe -fno-builtin-malloc -fno-builtin-free=
 -fno-PIE -fno-pie -fno-PIC
>         -fno-pic
>         >      -Wall -Wno-empty-body -Wno-unused-but=
-set-variable  \"#1" \
>         >              -e "s=
#@LI-LD@#\"gcc -Wl,-z,lazy -Wl,-T,../unixport/gcl.script -o \"#1" \
>         >              -e "s=
#@LI-LD-LIBS@#\" -l -lm -lc -lgclp\"#1" \
>         >              -e "s=
#@LI-OPT-THREE@#\"-O3 -fomit-frame-pointer\"#1" \
>         >              -e "s=
#@LI-OPT-TWO@#\"-O\"#1" \
>         >              -e "s=
#@LI-INIT-LSP@#\"sys_init.lsp\"#1" >sys_init.lsp
>         >      touch raw_pre_gcl_map
>         >      gcc -Wl,-z,lazy -Wl,-T,../unixport/gc=
l.script -o raw_pre_gcl /home/daly/axiom/obj/ubuntu/lib/cfuns-c.o /home/dal=
y/axiom/obj/
>         ubuntu/lib/
>         >      sockio-c.o -L. -Wl,-Map raw_pre_gc=
l_map -lpre_gcl -lm -lc -lgclp
>         >      /home/daly/axiom/obj/ubuntu/lib/socki=
o-c.o: In function `open_server':
>         >      sockio-c.c:(.text+0x1c73): undefined =
reference to `bsdSignal'
>         >      collect2: error: ld returned 1 exit s=
tatus
>         >      makefile:137: recipe for target 'raw_=
pre_gcl_map' failed
>         >      make[4]: *** [raw_pre_gcl_map] Error 1
>         >      make[4]: Leaving directory '/home/dal=
y/axiom/lsp/gcl-2.6.13pre/unixport'
>         >      makefile:74: recipe for target 'unixp=
ort/saved_pre_gcl' failed
>         >      make[3]: *** [unixport/saved_pre_gcl]=
 Error 2
>         >      rm h/mcompdefs.h
>         >      make[3]: Leaving directory '/home/dal=
y/axiom/lsp/gcl-2.6.13pre'
>         >      /bin/sh: 6: unixport/saved_gcl: not f=
ound
>         >      Makefile:8: recipe for target 'gcldir=
' failed
>         >      make[2]: *** [gcldir] Error 127
>         >      make[2]: Leaving directory '/home/dal=
y/axiom/lsp'
>         >      Makefile.ubuntu:181: recipe for targe=
t 'lspdir' failed
>         >      make[1]: *** [lspdir] Error 2
>         >      make[1]: Leaving directory '/home/dal=
y/axiom'
>         >      Makefile:140: recipe for target 'all'=
 failed
>         >      make: *** [all] Error 2
>         >
>         >      On Mon, Jul 17, 2017 at 10:26 PM, Tim=
 Daly <axiomcas@gmail.com> wrote:
>         >      Thanks. I'm cloning it now. I'll let =
you know how it goes.
>         >
>         >      Axiom would not exist without your he=
lp.
>         >      I can't tell you how much I appreciat=
e it.
>         >      Debugging a C compiler problem is pai=
nful.
>         >
>         >      Tim
>         >
>         >      On Mon, Jul 17, 2017 at 4:47 PM, Camm=
 Maguire <camm@maguirefamily.org> wrote:
>         >      Hi Tim! I take it you are using 2.=
6.13pre? If so, please advance to
>         >      the list_order branch, which I will b=
e pushing to 2.6.13pre soon. I
>         >      have a configure script which tests f=
or and adds -fno_pie as needed.
>         >
>         >      Take care,
>         >
>         >      Tim Daly <axiomcas@gmail.com> writes:
>         >
>         >      > No. I have spent the last two days =
trying to get that to work.
>         >      > Apparently it also affects the ship=
ped libraries so the linker is
>         >      > unhappy. I also tried using update-=
alternatives to install back-level
>         >      > gcc versions but they also will not=
 build.
>         >      >
>         >      > One option is to rebuild the compil=
er/linker/library chain without PIE
>         >      > but then I have a much larger maint=
enance task.
>         >      >
>         >      > Unfortunately this is viral. GCC 6.=
2 will eventually be on all shipped
>         >      > systems in the future so Axiom will=
 only be able to be built as long
>         >      > as I maintain old build servers. On=
ce my binaries from old build
>         >      > servers stop working on new systems=
 the whole project will suffer.
>         >      >
>         >      > I will try to use clang in the next=
 few days.
>         >      >
>         >      > On Mon, Jul 17, 2017 at 2:41 PM, Ba=
rry M Trager <bmt@us.ibm.com> wrote:
>         >      >
>         >      >  Tim, now that you've foun=
d the problem, can't you just add the -no-pie compiler flag to fix it?
>         >      >  Barry
>         >      >  
>         >      >  
>         >      >
>         >      >    ----- Original me=
ssage -----
>         >      >    From: Tim Daly <a=
xiomcas@gmail.com>
>         >      >    To: Camm Maguire =
<camm@maguirefamily.org>, Barry M Trager <bmt@us.ibm.com>, Tim Daly <daly@a=
xiom-developer.org>
>         >      >    Cc:
>         >      >    Subject: [Axiom] =
Build failures
>         >      >    Date: Mon, Jul 17=
, 2017 2:21 PM
>         >      >    
>         >      >    I have been unabl=
e to build Axiom on Ubuntu on any system from
>         >      >    16.10 onward. The=
 lisp build fails.
>         >      >    
>         >      >    I finally tracked=
 down the problem. Some bright-spot thought it would
>         >      >    be a great idea t=
o enable PIE by default.
>         >      >    https://wiki.ubun=
tu.com/SecurityTeam/PIE
>         >      >    
>         >      >    So essentially I =
cannot compile Axiom on any system with
>         >      >    GCC 6.2.0 or abov=
e.
>         >      >    
>         >      >    This is misguided=
 on two levels. A language compiler has no business
>         >      >    trying to enforce=
 security-related protocols. And the whole idea
>         >      >    of address space =
layout randomization is a subset of the SELINUX
>         >      >    (an NSA/SAIC hack=
) attempt to simulate a harvard architecture
>         >      >    machine on a prin=
ceton architecture machine, which is failure by design.
>         >      >    
>         >      >    I may have to cha=
nge compilers.
>         >      >    
>         >      >    Tim
>         >      >    
>         >      >
>         >      >  
>         >      >
>         >
>         >      --
>         >      Camm Maguire      =
              camm@maguirefamily.=
org
>         >      =============
==========================
==========================
============
>         >      "The earth is but one country, and ma=
nkind its citizens." -- Baha'u'llah
>         >
>
>         --
>         Camm Maguire             =
       camm@maguirefamily.org
>         ======================
==========================
==========================
===
>         "The earth is but one country, and mankind its citizens." --=
 Baha'u'llah
>

--
Camm Maguire			     		    camm@maguirefamily.org
==========================
==========================
========================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah


\start
Date: Sat, 2 Sep 2017 10:39:36 -0400
From: Tim Daly <axiomcas@gmail.com>
To: Camm Maguire <camm@maguirefamily.org>
Subject: Re: [Axiom-developer] 20170501
Cc: Barry M Trager <bmt@us.ibm.com>, Tim Daly <daly@axiom-developer.org>, 

re: cleanups.

I will look into the library links. Odds are good I'm just using a generic
list
of X11 libraries for every link command.


On Fri, Sep 1, 2017 at 11:47 AM, Camm Maguire <camm@maguirefamily.org>
wrote:

> Greetings!  Just FYI for possible cleanups at some point:
>
> dpkg-shlibdeps: warning: package could avoid a useless dependency if
> debian/axiom-hypertex/usr/lib/axiom-20170501/bin/hypertex was not linked
> against libm.so.6 (it uses none of the library's symbols)
> dpkg-shlibdeps: warning: package could avoid a useless dependency if
> debian/axiom/usr/lib/axiom-20170501/lib/spadbuf
> debian/axiom/usr/lib/axiom-20170501/lib/ex2ht were not linked against
> libXpm.so.4 (they use none of the library's symbols)
>
> Take care,
>
> Tim Daly <axiomcas@gmail.com> writes:
>
> > Camm,
> >
> > I applied your changes, tested it, and pushed it.
> >
> > Tim
> >
> > On Wed, Aug 23, 2017 at 9:24 PM, Tim Daly <axiomcas@gmail.com> wrote:
> >
> >     Camm,
> >
> >     I've applied all of the above patches and am rebuilding now.
> >     I'll let you know if anything fails. Thanks for the patches.
> >
> >     re: list_order, etc...
> >     I have a meeting at CMU on friday with some profs to talk about the
> >     state of my research on proving Axiom correct so I'm going to be
> >     busy prepping for that.
> >
> >     Tim
> >
> >     On Wed, Aug 23, 2017 at 3:18 PM, Camm Maguire <
> camm@maguirefamily.org> wrote:
> >
> >         Greetings!
> >
> >         Tim Daly <axiomcas@gmail.com> writes:
> >
> >         > Camm,
> >         >
> >         > So far I've discoverd that chdir is no longer exported from
> system and
> >         > that pathname-* no longer accepts a symbol.
> >         >
> >
> >         Correct.
> >
> >         > These changes are painful to find. You are clearly on the path
> to making
> >         > GCL into CLTL2. Do you have a list of these semantic changes
> somewhere?
> >         >
> >
> >         Actually I do not think this was even valid ClTL1.  GCL does
> intend to
> >         support both dialects.  But with the next release the default
> will be
> >         ansi.  One can get CLTL1 with --disable-ansi passed to configure.
> >
> >         Here are my patches addressing these issues. Pretty small issue:
> >
> >         ############################################################
> #################
> >         Description: <short summary of the patch>
> >          TODO: Put a short summary on the line above and replace this
> paragraph
> >          with a longer explanation of this change. Complete the
> meta-information
> >          with other relevant fields (see below for details). To make it
> easier, the
> >          information below has been extracted from the changelog. Adjust
> it or drop
> >          it.
> >          .
> >          axiom (20140801-12) unstable; urgency=medium
> >          .
> >            * build dep against latest gcl
> >            * Bug fix: "FTBFS on arm64, mips64el and mipsel", thanks to
> Emilio
> >              Pozuelo Monfort (Closes: #840639).
> >         Author: Camm Maguire <camm@debian.org>
> >         Bug-Debian: https://bugs.debian.org/840639
> >
> >         ---
> >         The information above should follow the Patch Tagging
> Guidelines, please
> >         checkout http://dep.debian.net/deps/dep3/ to learn about the
> format. Here
> >         are templates for supplementary fields that you might want to
> add:
> >
> >         Origin: <vendor|upstream|other>, <url of original patch>
> >         Bug: <url in upstream bugtracker>
> >         Bug-Debian: https://bugs.debian.org/<bugnumber>
> >         Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
> >         Forwarded: <no|not-needed|url proving that it has been forwarded>
> >         Reviewed-By: <name and email of someone who approved the patch>
> >         Last-Update: 2016-10-13
> >
> >         Index: axiom-20170401/books/bookvol5.pamphlet
> >         ============================================================
> =======
> >         --- axiom-20170401.orig/books/bookvol5.pamphlet
> >         +++ axiom-20170401/books/bookvol5.pamphlet
> >         @@ -47588,9 +47588,9 @@ nrlib/index.kaf
> >            (processDir (dirarg thisdir)
> >             (let (allfiles)
> >              (declare (special vmlisp::*index-filename*))
> >         -    (system:chdir (string dirarg))
> >         +    (system::chdir (string dirarg))
> >              (setq allfiles (directory "*"))
> >         -    (system:chdir thisdir)
> >         +    (system::chdir thisdir)
> >               (mapcan #'(lambda (f)
> >                (when (string-equal (pathname-type f) "nrlib")
> >                 (list (concatenate 'string (namestring f) "/"
> >         Index: axiom-20170401/src/interp/patches.lisp.pamphlet
> >         ============================================================
> =======
> >         --- axiom-20170401.orig/src/interp/patches.lisp.pamphlet
> >         +++ axiom-20170401/src/interp/patches.lisp.pamphlet
> >         @@ -123,7 +123,7 @@ It used to read:
> >                  ((eql (|directoryp| (interp-make-directory (car args)))
> 1)
> >                   (setq $current-directory
> >                     (namestring (truename (interp-make-directory (car
> args)))))))
> >         -#+(or :kcl :ibcl :CCL) (system:CHDIR $current-directory)
> >         +#+(or :kcl :ibcl :CCL) (system::CHDIR $current-directory)
> >          #+(and :lucid :ibm/370)
> >            (setq *default-pathname-defaults* "")
> >          #-(and :lucid :ibm/370)
> >         @@ -143,7 +143,7 @@ It used to read:
> >              ((eql (|directoryp| (interp-make-directory (car args))) 1)
> >               (setq $current-directory
> >                 (namestring (truename (interp-make-directory (car
> args)))))))
> >         -#+(or :kcl :ibcl :CCL) (system:CHDIR $current-directory)
> >         +#+(or :kcl :ibcl :CCL) (system::CHDIR $current-directory)
> >          #+(and :lucid :ibm/370)
> >            (setq *default-pathname-defaults* "")
> >          #-(and :lucid :ibm/370)
> >         ============================================================
> =================
> >         Description: <short summary of the patch>
> >          TODO: Put a short summary on the line above and replace this
> paragraph
> >          with a longer explanation of this change. Complete the
> meta-information
> >          with other relevant fields (see below for details). To make it
> easier, the
> >          information below has been extracted from the changelog. Adjust
> it or drop
> >          it.
> >          .
> >          axiom (20140801-11) unstable; urgency=medium
> >          .
> >            * fix FTBFS ppc64, patch to avoid overflow of BSD sockaddr
> sa_data in
> >              make_server_name
> >            * build-dep latest gcl
> >            * Bug fix: "FTBFS on mips", thanks to Sebastian Ramacher
> (Closes:
> >              #756793).  autobuild with latest tools on mips works.
> >            * Bug fix: "naive methods of exiting axiom can blow up
> >              catastrophically", thanks to Tom Hargreaves (Closes:
> #346552).
> >            * Bug fix: "&quot;backspace&quot; key doesn&#39;t work as
> expected",
> >              thanks to Edi Meier (Closes: #708733). Command line editing
> in
> >              terminal now has a conventionally functioning Backspace
> >         Author: Camm Maguire <camm@debian.org>
> >         Bug-Debian: https://bugs.debian.org/346552
> >         Bug-Debian: https://bugs.debian.org/708733
> >         Bug-Debian: https://bugs.debian.org/756793
> >
> >         ---
> >         The information above should follow the Patch Tagging
> Guidelines, please
> >         checkout http://dep.debian.net/deps/dep3/ to learn about the
> format. Here
> >         are templates for supplementary fields that you might want to
> add:
> >
> >         Origin: <vendor|upstream|other>, <url of original patch>
> >         Bug: <url in upstream bugtracker>
> >         Bug-Debian: https://bugs.debian.org/<bugnumber>
> >         Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
> >         Forwarded: <no|not-needed|url proving that it has been forwarded>
> >         Reviewed-By: <name and email of someone who approved the patch>
> >         Last-Update: 2016-10-13
> >
> >         Index: axiom-20170401/books/bookvol5.pamphlet
> >         ============================================================
> =======
> >         --- axiom-20170401.orig/books/bookvol5.pamphlet
> >         +++ axiom-20170401/books/bookvol5.pamphlet
> >         @@ -37537,7 +37537,7 @@ o )history
> >              (cond
> >               ((eq fullopt '|ifthere|) (setq ifthere t))
> >               ((eq fullopt '|quiet|)   (setq quiet t))))
> >         -  (setq ef (|pathname| /editfile))
> >         +  (setq ef (or (|pathname| /editfile) ""))
> >            (when (eq (|pathnameTypeId| ef) 'spad)
> >              (setq ef (|makePathname| (|pathnameName| ef) "*" "*")))
> >            (if arg
> >         @@ -47605,8 +47605,9 @@ nrlib/index.kaf
> >            (if make-database? (setq noexpose t))
> >            (when dir (setq nrlibs (processDir dir thisdir)))
> >            (dolist (file filelist)
> >         -   (let ((filename (pathname-name file))
> >         -         (namedir (directory-namestring file)))
> >         +   (let* ((file (string file))
> >         +          (filename (pathname-name file))
> >         +          (namedir (directory-namestring file)))
> >              (unless namedir (setq thisdir (concatenate 'string thisdir
> "/")))
> >              (cond
> >               ((setq file (probe-file
> >         @@ -48838,7 +48839,7 @@ filetype and filemode. We also UPCASE ev
> >          (defun |pathname| (p)
> >           (cond
> >            ((null p) p)
> >         -  ((pathnamep p) p)
> >         +  ((pathnamep p) p)((symbolp p) (pathname (string p)))
> >            ((null (consp p)) (pathname p))
> >            (t
> >             (when (> (|#| p) 2) (setq p (cons (elt p 0) (cons (elt p 1)
> nil))))
> >         Index: axiom-20170401/src/interp/patches.lisp.pamphlet
> >         ============================================================
> =======
> >         --- axiom-20170401.orig/src/interp/patches.lisp.pamphlet
> >         +++ axiom-20170401/src/interp/patches.lisp.pamphlet
> >         @@ -100,9 +100,9 @@ previous definition.
> >            (cond ((null filename)
> >                   (dribble) (TERPRI)
> >                   (reset-highlight))
> >         -        ((probe-file (car filename))
> >         +        ((probe-file (string (car filename)))
> >                   (error (format nil "file ~a already exists" (car
> filename))))
> >         -        (t (dribble (car filename))
> >         +        (t (dribble (string (car filename)))
> >                     (TERPRI)
> >                     (clear-highlight))
> >              ))
> >         Index: axiom-20170401/src/interp/util.lisp.pamphlet
> >         ============================================================
> =======
> >         --- axiom-20170401.orig/src/interp/util.lisp.pamphlet
> >         +++ axiom-20170401/src/interp/util.lisp.pamphlet
> >         @@ -1145,7 +1145,7 @@ Run the etags command on all of the lisp
> >          final TAGS file is constructed in the {\bf tmp} directory.
> >          \begin{chunk}{make-tags-file}
> >          (defun make-tags-file ()
> >         -#+:gcl (system:chdir "/tmp")
> >         +#+:gcl (system::chdir "/tmp")
> >          #-:gcl (vmlisp::obey (concatenate 'string "cd " "/tmp"))
> >            (obey (concat "etags " (make-absolute-filename
> "../../src/interp/*.lisp")))
> >            (spadtags-from-directory "../../src/interp" "boot")
> >         ############################################################
> #################
> >
> >         Take care,
> >
> >         > Tim
> >         >
> >         > On Thu, Jul 20, 2017 at 7:14 PM, Tim Daly <axiomcas@gmail.com>
> wrote:
> >         >
> >         >     Never mind. I might have figured it out. I'll let you know.
> >         >
> >         >     On Thu, Jul 20, 2017 at 6:30 PM, Tim Daly <
> axiomcas@gmail.com> wrote:
> >         >
> >         >         Camm, Barry,
> >         >
> >         >         Yeah, I know. But it wasnt' needed before.
> >         >         I've fixed that. Now the problem is:
> >         >
> >         >         >;; Loading "/home/daly/axiom/obj/ubuntu/
> interp/makedep.lisp"
> >         >         ;; Loading "/home/daly/axiom/obj/ubuntu/
> interp/sys-pkg.lsp"
> >         >         ;; Finished loading "/home/daly/axiom/obj/ubuntu/
> interp/sys-pkg.lsp"
> >         >         ;; Loading "/home/daly/axiom/src/interp/
> interp-proclaims.lisp"
> >         >         ;; Finished loading "/home/daly/axiom/src/interp/
> interp-proclaims.lisp"
> >         >         ;; Loading "/home/daly/axiom/obj/ubuntu/
> interp/nocompil"
> >         >         ;; Finished loading "/home/daly/axiom/obj/ubuntu/
> interp/nocompil"
> >         >         ;; Loading "/home/daly/axiom/obj/ubuntu/
> interp/bookvol5"
> >         >
> >         >         Error: ERROR "Cannot find the external symbol CHDIR in
> #<\"SYSTEM\" package>."
> >         >         Fast links are on: do (si::use-fast-links nil) for
> debugging
> >         >         Signalled by LOAD.
> >         >         ERROR "Cannot find the external symbol CHDIR in
> #<\"SYSTEM\" package>."
> >         >
> >         >         Broken at LOAD.  Type :H for Help.
> >         >             1  Return to top level.
> >         >         BOOT>>Makefile:174: recipe for target
> '/home/daly/axiom/obj/ubuntu/bin/depsys' failed
> >         >         make[3]: *** [/home/daly/axiom/obj/ubuntu/bin/depsys]
> Error 255
> >         >         rm /home/daly/axiom/int/interp/nocompil.lisp
> /home/daly/axiom/int/interp/sys-pkg.lisp /home/daly/axiom/int/interp/util.lisp
> /home
> >         /daly/axiom/int/interp/parsing.lisp
> >         >         make[3]: Leaving directory
> '/home/daly/axiom/src/interp'
> >         >         Makefile:80: recipe for target 'interpdir' failed
> >         >         make[2]: *** [interpdir] Error 2
> >         >         make[2]: Leaving directory '/home/daly/axiom/src'
> >         >         Makefile.ubuntu:164: recipe for target 'srcdir' failed
> >         >         make[1]: *** [srcdir] Error 2
> >         >         make[1]: Leaving directory '/home/daly/axiom'
> >         >         Makefile:140: recipe for target 'all' failed
> >         >         make: *** [all] Error 2
> >         >
> >         >         When I build gcl with Axiom and run bin/gcl
> >         >
> >         >         (find-all-symbols 'chdir) ==> (system::chdir chdir)
> >         >
> >         >         but when I do the build the above failure occurs. Yet
> >         >
> >         >         every call to chdir uses the fully qualified
> system::chdir
> >         >
> >         >         suggestions?
> >         >
> >         >         On Wed, Jul 19, 2017 at 5:28 PM, Barry M Trager <
> bmt@us.ibm.com> wrote:
> >         >
> >         >             Tim, I think bsdSignal comes from your bsdsignal.c
> so don't you need to include bcdsignal.o when trying to link in sockio-c.o
> >         ?
> >         >
> >         >             Barry
> >         >
> >         >             From:        Tim Daly <axiomcas@gmail.com>
> >         >             To:        Camm Maguire <camm@maguirefamily.org>
> >         >             Cc:        Barry M Trager <bmt@us.ibm.com>, Tim
> Daly <daly@axiom-developer.org>
> >         >             Date:        07/19/2017 03:09 PM
> >         >             Subject:        Re: [Axiom] Build failures
> >         >             -----------------------------
> ------------------------------------------------------------
> ------------------------------
> >         ----------------
> >         >
> >         >             I have integrated the list_order branch into the
> Axiom build. Without
> >         >             change, the list_order GCL will build on Ubuntu
> 16.10
> >         >
> >         >             Axiom requires two addtional files, sockio and
> cfuns to be part of the
> >         >             lisp image. This step fails, missing bsdSignal:
> >         >
> >         >             ar: creating libpre_gcl.a
> >         >             cp ../o/gcllib.a libgclp.a
> >         >             ranlib libgclp.a
> >         >             cat sys_init.lsp.in| sed \
> >         >                             -e "s#@LI-VERS@#(`cat
> ../majvers`.`cat ../minvers`) `cat ../release`#1" \
> >         >                             -e "s#@LI-EXTVERS@#`cat
> ../minvers | cut -f2 -d.`#1" \
> >         >                             -e "s#@LI-MINVERS@#`cat
> ../minvers | cut -f1 -d.`#1" \
> >         >                             -e "s#@LI-MAJVERS@#`cat
> ../majvers`#1" \
> >         >                             -e "s#@LI-RELEASE@#`cat
> ../release`#1" \
> >         >                             -e "s#@LI-CC@#\"gcc -c
> -fsigned-char -pipe -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie
> -fno-PIC
> >         -fno-pic
> >         >             -Wall -Wno-empty-body -Wno-unused-but-set-variable
>   \"#1" \
> >         >                             -e "s#@LI-LD@#\"gcc -Wl,-z,lazy
> -Wl,-T,../unixport/gcl.script -o \"#1" \
> >         >                             -e "s#@LI-LD-LIBS@#\"  -l -lm
>  -lc -lgclp\"#1" \
> >         >                             -e "s#@LI-OPT-THREE@#\"-O3
> -fomit-frame-pointer\"#1" \
> >         >                             -e "s#@LI-OPT-TWO@#\"-O\"#1" \
> >         >                             -e "s#@LI-INIT-LSP@#\"sys_init.lsp\"#1"
> >sys_init.lsp
> >         >             touch raw_pre_gcl_map
> >         >             gcc -Wl,-z,lazy -Wl,-T,../unixport/gcl.script -o
> raw_pre_gcl /home/daly/axiom/obj/ubuntu/lib/cfuns-c.o
> /home/daly/axiom/obj/
> >         ubuntu/lib/
> >         >             sockio-c.o -L.  -Wl,-Map raw_pre_gcl_map
>  -lpre_gcl -lm  -lc -lgclp
> >         >             /home/daly/axiom/obj/ubuntu/lib/sockio-c.o: In
> function `open_server':
> >         >             sockio-c.c:(.text+0x1c73): undefined reference to
> `bsdSignal'
> >         >             collect2: error: ld returned 1 exit status
> >         >             makefile:137: recipe for target 'raw_pre_gcl_map'
> failed
> >         >             make[4]: *** [raw_pre_gcl_map] Error 1
> >         >             make[4]: Leaving directory
> '/home/daly/axiom/lsp/gcl-2.6.13pre/unixport'
> >         >             makefile:74: recipe for target
> 'unixport/saved_pre_gcl' failed
> >         >             make[3]: *** [unixport/saved_pre_gcl] Error 2
> >         >             rm h/mcompdefs.h
> >         >             make[3]: Leaving directory
> '/home/daly/axiom/lsp/gcl-2.6.13pre'
> >         >             /bin/sh: 6: unixport/saved_gcl: not found
> >         >             Makefile:8: recipe for target 'gcldir' failed
> >         >             make[2]: *** [gcldir] Error 127
> >         >             make[2]: Leaving directory '/home/daly/axiom/lsp'
> >         >             Makefile.ubuntu:181: recipe for target 'lspdir'
> failed
> >         >             make[1]: *** [lspdir] Error 2
> >         >             make[1]: Leaving directory '/home/daly/axiom'
> >         >             Makefile:140: recipe for target 'all' failed
> >         >             make: *** [all] Error 2
> >         >
> >         >             On Mon, Jul 17, 2017 at 10:26 PM, Tim Daly <
> axiomcas@gmail.com> wrote:
> >         >             Thanks. I'm cloning it now. I'll let you know how
> it goes.
> >         >
> >         >             Axiom would not exist without your help.
> >         >             I can't tell you how much I appreciate it.
> >         >             Debugging a C compiler problem is painful.
> >         >
> >         >             Tim
> >         >
> >         >             On Mon, Jul 17, 2017 at 4:47 PM, Camm Maguire <
> camm@maguirefamily.org> wrote:
> >         >             Hi Tim!  I take it you are using 2.6.13pre?  If
> so, please advance to
> >         >             the list_order branch, which I will be pushing to
> 2.6.13pre soon.  I
> >         >             have a configure script which tests for and adds
> -fno_pie as needed.
> >         >
> >         >             Take care,
> >         >
> >         >             Tim Daly <axiomcas@gmail.com> writes:
> >         >
> >         >             > No. I have spent the last two days trying to get
> that to work.
> >         >             > Apparently it also affects the shipped libraries
> so the linker is
> >         >             > unhappy. I also tried using update-alternatives
> to install back-level
> >         >             > gcc versions but they also will not build.
> >         >             >
> >         >             > One option is to rebuild the
> compiler/linker/library chain without PIE
> >         >             > but then I have a much larger maintenance task.
> >         >             >
> >         >             > Unfortunately this is viral. GCC 6.2 will
> eventually be on all shipped
> >         >             > systems in the future so Axiom will only be able
> to be built as long
> >         >             > as I maintain old build servers. Once my
> binaries from old build
> >         >             > servers stop working on new systems the whole
> project will suffer.
> >         >             >
> >         >             > I will try to use clang in the next few days.
> >         >             >
> >         >             > On Mon, Jul 17, 2017 at 2:41 PM, Barry M Trager <
> bmt@us.ibm.com> wrote:
> >         >             >
> >         >             >     Tim, now that you've found the problem,
> can't you just add the -no-pie compiler flag to fix it?
> >         >             >     Barry
> >         >             >
> >         >             >
> >         >             >
> >         >             >         ----- Original message -----
> >         >             >         From: Tim Daly <axiomcas@gmail.com>
> >         >             >         To: Camm Maguire <camm@maguirefamily.org>,
> Barry M Trager <bmt@us.ibm.com>, Tim Daly <daly@axiom-developer.org>
> >         >             >         Cc:
> >         >             >         Subject: [Axiom] Build failures
> >         >             >         Date: Mon, Jul 17, 2017 2:21 PM
> >         >             >
> >         >             >         I have been unable to build Axiom on
> Ubuntu on any system from
> >         >             >         16.10 onward. The lisp build fails.
> >         >             >
> >         >             >         I finally tracked down the problem. Some
> bright-spot thought it would
> >         >             >         be a great idea to enable PIE by default.
> >         >             >         https://wiki.ubuntu.com/SecurityTeam/PIE
> >         >             >
> >         >             >         So essentially I cannot compile Axiom on
> any system with
> >         >             >         GCC 6.2.0 or above.
> >         >             >
> >         >             >         This is misguided on two levels. A
> language compiler has no business
> >         >             >         trying to enforce security-related
> protocols. And the whole idea
> >         >             >         of address space layout randomization is
> a subset of the SELINUX
> >         >             >         (an NSA/SAIC hack) attempt to simulate a
> harvard architecture
> >         >             >         machine on a princeton architecture
> machine, which is failure by design.
> >         >             >
> >         >             >         I may have to change compilers.
> >         >             >
> >         >             >         Tim
> >         >             >
> >         >             >
> >         >             >
> >         >             >
> >         >
> >         >             --
> >         >             Camm Maguire
>   camm@maguirefamily.org
> >         >             =============================
> =============================================
> >         >             "The earth is but one country, and mankind its
> citizens."  --  Baha'u'llah
> >         >
> >
> >         --
> >         Camm Maguire
> camm@maguirefamily.org
> >         ============================================================
> ==============
> >         "The earth is but one country, and mankind its citizens."  --
> Baha'u'llah
> >
>
> --
> Camm Maguire                                        camm@maguirefamily.org
> ==========================================================================
> "The earth is but one country, and mankind its citizens."  --  Baha'u'llah
>
>

\start
Date: Sat, 2 Sep 2017 10:51:15 -0400
From: Tim Daly <axiomcas@gmail.com>
To: Camm Maguire <camm@maguirefamily.org>
Cc: Barry M Trager <bmt@us.ibm.com>, Tim Daly <daly@axiom-developer.org>, 
Subject: Re: [Axiom-developer] 20170501

re: build failures.

Axiom saves the )spool output from running .input files.
These outputs are string compared with expected output.
The expected output uses an Axiom comment line followed by R as in:

2+3
--R 5
--R          Type: NonNegativeInteger

Lines that are not expected to match use --I (as in "ignore")

String compare usually fails for several reasons

1) the output depends on random numbers
2) the output depends on Axiom's substitutions (e.g. %K) in results

These are normal failures and are usually caused by some change
made which affects the result. These are benign failures.

3) floating point failures

Various operating systems and various platforms generate different
results for floating point. These are annoying but I don't know how to
fix them except to create some sort of epsilon-compare function.

4) breaking changes in Axiom

A benign example is a change to the syntax of an error message or
adding a function to a Domain (since domain lists are usually checked).
This is also benign but requires cleanup.

5) breaking changes in lisp

This is caused by things like changing the semantics of pathname
so it no longer accepts symbols. This is not benign and we fixed this.

6) breaking changes in Axiom

This is where I screwed up something.

In general I make sure that the tests pass on Ubuntu 10.04.
This will catch important breaking changes. But when compiled
on a variety of platforms the things like 1-4 show up. You would
think that it was possible to write portable code in common lisp,
especially when I'm using a cached version of that lisp, but
apparently not. Sigh.

I'm busy writing a paper on my research at the moment but I'll
look into the failures in more detail soon.

Tim


On Fri, Sep 1, 2017 at 11:13 AM, Camm Maguire <camm@maguirefamily.org>
wrote:

> Greetings!  Just wondering about the status of the test failures:
>
> int/input/allfns.regress:regression result FAILED 56 of 3320 stanzas file
> allfns
> int/input/bugs.regress:regression result FAILED 1 of 49 stanzas file bugs
> int/input/cad.regress:regression result FAILED 1 of 12 stanzas file cad
> int/input/ch.regress:regression result FAILED 6 of 7 stanzas file ch
> int/input/charlwood.regress:regression result FAILED 196 of 250 stanzas
> file charlwood
> int/input/chtheorem.regress:regression result FAILED 8 of 28 stanzas file
> chtheorem
> int/input/classtalk.regress:regression result FAILED 7 of 72 stanzas file
> classtalk
> int/input/clif.regress:regression result FAILED 27 of 36 stanzas file clif
> int/input/clifford.regress:regression result FAILED 30 of 39 stanzas file
> clifford
> int/input/cmds.regress:regression result FAILED early exit in file cmds?
> int/input/danzwill.regress:regression result FAILED 10 of 17 stanzas file
> danzwill
> int/input/danzwill2.regress:regression result FAILED 7 of 50 stanzas file
> danzwill2
> int/input/divisor.regress:regression result FAILED 14 of 18 stanzas file
> divisor
> int/input/easter.regress:regression result FAILED 85 of 200 stanzas file
> easter
> int/input/eigen.regress:regression result FAILED 34 of 36 stanzas file
> eigen
> int/input/ffdemo.regress:regression result FAILED 4 of 350 stanzas file
> ffdemo
> int/input/fname1.regress:regression result FAILED 1 of 18 stanzas file
> fname1
> int/input/gbf.regress:regression result FAILED 2 of 3 stanzas file gbf
> int/input/grpthry.regress:regression result FAILED 2 of 55 stanzas file
> grpthry
> int/input/guess.regress:regression result FAILED 2 of 102 stanzas file
> guess
> int/input/ico.regress:regression result FAILED 5 of 65 stanzas file ico
> int/input/intaf.regress:regression result FAILED 5 of 20 stanzas file
> intaf
> int/input/linalg.regress:regression result FAILED 20 of 82 stanzas file
> linalg
> int/input/liska.regress:regression result FAILED 5 of 94 stanzas file
> liska
> int/input/liu.regress:regression result FAILED 1 of 9 stanzas file liu
> int/input/manuel.regress:regression result FAILED 2 of 3 stanzas file
> manuel
> int/input/mapleok.regress:regression result FAILED 172 of 224 stanzas
> file mapleok
> int/input/mathml.regress:regression result FAILED 1 of 21 stanzas file
> mathml
> int/input/mfinfact.regress:regression result FAILED 12 of 13 stanzas file
> mfinfact
> int/input/mset.regress:regression result FAILED 6 of 17 stanzas file mset
> int/input/mset2.regress:regression result FAILED 8 of 12 stanzas file
> mset2
> int/input/paff.regress:regression result FAILED 13 of 26 stanzas file paff
> int/input/polygamma.regress:regression result FAILED 1 of 6 stanzas file
> polygamma
> int/input/r20bugs.regress:regression result FAILED 1 of 27 stanzas file
> r20bugs
> int/input/risch.regress:regression result FAILED 4 of 8 stanzas file risch
> int/input/segletes.regress:regression result FAILED 1 of 61 stanzas file
> segletes
> int/input/setcmd.regress:regression result FAILED early exit in file
> setcmd?
> int/input/sregset.regress:regression result FAILED 2 of 23 stanzas file
> sregset
> int/input/strtbl.regress:regression result FAILED 1 of 3 stanzas file
> strtbl
> int/input/tutorium.regress:regression result FAILED 50 of 222 stanzas
> file tutorium
> int/input/unittest1.regress:regression result FAILED 3 of 63 stanzas file
> unittest1
> int/input/unittest1.regress:regression result FAILED early exit in file
> unittest1?
> int/input/unittest2.regress:regression result FAILED 10 of 234 stanzas
> file unittest2
>
> Take care,
>
> Tim Daly <axiomcas@gmail.com> writes:
>
> > Camm,
> >
> > I applied your changes, tested it, and pushed it.
> >
> > Tim
> >
> > On Wed, Aug 23, 2017 at 9:24 PM, Tim Daly <axiomcas@gmail.com> wrote:
> >
> >     Camm,
> >
> >     I've applied all of the above patches and am rebuilding now.
> >     I'll let you know if anything fails. Thanks for the patches.
> >
> >     re: list_order, etc...
> >     I have a meeting at CMU on friday with some profs to talk about the
> >     state of my research on proving Axiom correct so I'm going to be
> >     busy prepping for that.
> >
> >     Tim
> >
> >     On Wed, Aug 23, 2017 at 3:18 PM, Camm Maguire <
> camm@maguirefamily.org> wrote:
> >
> >         Greetings!
> >
> >         Tim Daly <axiomcas@gmail.com> writes:
> >
> >         > Camm,
> >         >
> >         > So far I've discoverd that chdir is no longer exported from
> system and
> >         > that pathname-* no longer accepts a symbol.
> >         >
> >
> >         Correct.
> >
> >         > These changes are painful to find. You are clearly on the path
> to making
> >         > GCL into CLTL2. Do you have a list of these semantic changes
> somewhere?
> >         >
> >
> >         Actually I do not think this was even valid ClTL1.  GCL does
> intend to
> >         support both dialects.  But with the next release the default
> will be
> >         ansi.  One can get CLTL1 with --disable-ansi passed to configure.
> >
> >         Here are my patches addressing these issues. Pretty small issue:
> >
> >         ############################################################
> #################
> >         Description: <short summary of the patch>
> >          TODO: Put a short summary on the line above and replace this
> paragraph
> >          with a longer explanation of this change. Complete the
> meta-information
> >          with other relevant fields (see below for details). To make it
> easier, the
> >          information below has been extracted from the changelog. Adjust
> it or drop
> >          it.
> >          .
> >          axiom (20140801-12) unstable; urgency=medium
> >          .
> >            * build dep against latest gcl
> >            * Bug fix: "FTBFS on arm64, mips64el and mipsel", thanks to
> Emilio
> >              Pozuelo Monfort (Closes: #840639).
> >         Author: Camm Maguire <camm@debian.org>
> >         Bug-Debian: https://bugs.debian.org/840639
> >
> >         ---
> >         The information above should follow the Patch Tagging
> Guidelines, please
> >         checkout http://dep.debian.net/deps/dep3/ to learn about the
> format. Here
> >         are templates for supplementary fields that you might want to
> add:
> >
> >         Origin: <vendor|upstream|other>, <url of original patch>
> >         Bug: <url in upstream bugtracker>
> >         Bug-Debian: https://bugs.debian.org/<bugnumber>
> >         Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
> >         Forwarded: <no|not-needed|url proving that it has been forwarded>
> >         Reviewed-By: <name and email of someone who approved the patch>
> >         Last-Update: 2016-10-13
> >
> >         Index: axiom-20170401/books/bookvol5.pamphlet
> >         ============================================================
> =======
> >         --- axiom-20170401.orig/books/bookvol5.pamphlet
> >         +++ axiom-20170401/books/bookvol5.pamphlet
> >         @@ -47588,9 +47588,9 @@ nrlib/index.kaf
> >            (processDir (dirarg thisdir)
> >             (let (allfiles)
> >              (declare (special vmlisp::*index-filename*))
> >         -    (system:chdir (string dirarg))
> >         +    (system::chdir (string dirarg))
> >              (setq allfiles (directory "*"))
> >         -    (system:chdir thisdir)
> >         +    (system::chdir thisdir)
> >               (mapcan #'(lambda (f)
> >                (when (string-equal (pathname-type f) "nrlib")
> >                 (list (concatenate 'string (namestring f) "/"
> >         Index: axiom-20170401/src/interp/patches.lisp.pamphlet
> >         ============================================================
> =======
> >         --- axiom-20170401.orig/src/interp/patches.lisp.pamphlet
> >         +++ axiom-20170401/src/interp/patches.lisp.pamphlet
> >         @@ -123,7 +123,7 @@ It used to read:
> >                  ((eql (|directoryp| (interp-make-directory (car args)))
> 1)
> >                   (setq $current-directory
> >                     (namestring (truename (interp-make-directory (car
> args)))))))
> >         -#+(or :kcl :ibcl :CCL) (system:CHDIR $current-directory)
> >         +#+(or :kcl :ibcl :CCL) (system::CHDIR $current-directory)
> >          #+(and :lucid :ibm/370)
> >            (setq *default-pathname-defaults* "")
> >          #-(and :lucid :ibm/370)
> >         @@ -143,7 +143,7 @@ It used to read:
> >              ((eql (|directoryp| (interp-make-directory (car args))) 1)
> >               (setq $current-directory
> >                 (namestring (truename (interp-make-directory (car
> args)))))))
> >         -#+(or :kcl :ibcl :CCL) (system:CHDIR $current-directory)
> >         +#+(or :kcl :ibcl :CCL) (system::CHDIR $current-directory)
> >          #+(and :lucid :ibm/370)
> >            (setq *default-pathname-defaults* "")
> >          #-(and :lucid :ibm/370)
> >         ============================================================
> =================
> >         Description: <short summary of the patch>
> >          TODO: Put a short summary on the line above and replace this
> paragraph
> >          with a longer explanation of this change. Complete the
> meta-information
> >          with other relevant fields (see below for details). To make it
> easier, the
> >          information below has been extracted from the changelog. Adjust
> it or drop
> >          it.
> >          .
> >          axiom (20140801-11) unstable; urgency=medium
> >          .
> >            * fix FTBFS ppc64, patch to avoid overflow of BSD sockaddr
> sa_data in
> >              make_server_name
> >            * build-dep latest gcl
> >            * Bug fix: "FTBFS on mips", thanks to Sebastian Ramacher
> (Closes:
> >              #756793).  autobuild with latest tools on mips works.
> >            * Bug fix: "naive methods of exiting axiom can blow up
> >              catastrophically", thanks to Tom Hargreaves (Closes:
> #346552).
> >            * Bug fix: "&quot;backspace&quot; key doesn&#39;t work as
> expected",
> >              thanks to Edi Meier (Closes: #708733). Command line editing
> in
> >              terminal now has a conventionally functioning Backspace
> >         Author: Camm Maguire <camm@debian.org>
> >         Bug-Debian: https://bugs.debian.org/346552
> >         Bug-Debian: https://bugs.debian.org/708733
> >         Bug-Debian: https://bugs.debian.org/756793
> >
> >         ---
> >         The information above should follow the Patch Tagging
> Guidelines, please
> >         checkout http://dep.debian.net/deps/dep3/ to learn about the
> format. Here
> >         are templates for supplementary fields that you might want to
> add:
> >
> >         Origin: <vendor|upstream|other>, <url of original patch>
> >         Bug: <url in upstream bugtracker>
> >         Bug-Debian: https://bugs.debian.org/<bugnumber>
> >         Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
> >         Forwarded: <no|not-needed|url proving that it has been forwarded>
> >         Reviewed-By: <name and email of someone who approved the patch>
> >         Last-Update: 2016-10-13
> >
> >         Index: axiom-20170401/books/bookvol5.pamphlet
> >         ============================================================
> =======
> >         --- axiom-20170401.orig/books/bookvol5.pamphlet
> >         +++ axiom-20170401/books/bookvol5.pamphlet
> >         @@ -37537,7 +37537,7 @@ o )history
> >              (cond
> >               ((eq fullopt '|ifthere|) (setq ifthere t))
> >               ((eq fullopt '|quiet|)   (setq quiet t))))
> >         -  (setq ef (|pathname| /editfile))
> >         +  (setq ef (or (|pathname| /editfile) ""))
> >            (when (eq (|pathnameTypeId| ef) 'spad)
> >              (setq ef (|makePathname| (|pathnameName| ef) "*" "*")))
> >            (if arg
> >         @@ -47605,8 +47605,9 @@ nrlib/index.kaf
> >            (if make-database? (setq noexpose t))
> >            (when dir (setq nrlibs (processDir dir thisdir)))
> >            (dolist (file filelist)
> >         -   (let ((filename (pathname-name file))
> >         -         (namedir (directory-namestring file)))
> >         +   (let* ((file (string file))
> >         +          (filename (pathname-name file))
> >         +          (namedir (directory-namestring file)))
> >              (unless namedir (setq thisdir (concatenate 'string thisdir
> "/")))
> >              (cond
> >               ((setq file (probe-file
> >         @@ -48838,7 +48839,7 @@ filetype and filemode. We also UPCASE ev
> >          (defun |pathname| (p)
> >           (cond
> >            ((null p) p)
> >         -  ((pathnamep p) p)
> >         +  ((pathnamep p) p)((symbolp p) (pathname (string p)))
> >            ((null (consp p)) (pathname p))
> >            (t
> >             (when (> (|#| p) 2) (setq p (cons (elt p 0) (cons (elt p 1)
> nil))))
> >         Index: axiom-20170401/src/interp/patches.lisp.pamphlet
> >         ============================================================
> =======
> >         --- axiom-20170401.orig/src/interp/patches.lisp.pamphlet
> >         +++ axiom-20170401/src/interp/patches.lisp.pamphlet
> >         @@ -100,9 +100,9 @@ previous definition.
> >            (cond ((null filename)
> >                   (dribble) (TERPRI)
> >                   (reset-highlight))
> >         -        ((probe-file (car filename))
> >         +        ((probe-file (string (car filename)))
> >                   (error (format nil "file ~a already exists" (car
> filename))))
> >         -        (t (dribble (car filename))
> >         +        (t (dribble (string (car filename)))
> >                     (TERPRI)
> >                     (clear-highlight))
> >              ))
> >         Index: axiom-20170401/src/interp/util.lisp.pamphlet
> >         ============================================================
> =======
> >         --- axiom-20170401.orig/src/interp/util.lisp.pamphlet
> >         +++ axiom-20170401/src/interp/util.lisp.pamphlet
> >         @@ -1145,7 +1145,7 @@ Run the etags command on all of the lisp
> >          final TAGS file is constructed in the {\bf tmp} directory.
> >          \begin{chunk}{make-tags-file}
> >          (defun make-tags-file ()
> >         -#+:gcl (system:chdir "/tmp")
> >         +#+:gcl (system::chdir "/tmp")
> >          #-:gcl (vmlisp::obey (concatenate 'string "cd " "/tmp"))
> >            (obey (concat "etags " (make-absolute-filename
> "../../src/interp/*.lisp")))
> >            (spadtags-from-directory "../../src/interp" "boot")
> >         ############################################################
> #################
> >
> >         Take care,
> >
> >         > Tim
> >         >
> >         > On Thu, Jul 20, 2017 at 7:14 PM, Tim Daly <axiomcas@gmail.com>
> wrote:
> >         >
> >         >     Never mind. I might have figured it out. I'll let you know.
> >         >
> >         >     On Thu, Jul 20, 2017 at 6:30 PM, Tim Daly <
> axiomcas@gmail.com> wrote:
> >         >
> >         >         Camm, Barry,
> >         >
> >         >         Yeah, I know. But it wasnt' needed before.
> >         >         I've fixed that. Now the problem is:
> >         >
> >         >         >;; Loading "/home/daly/axiom/obj/ubuntu/
> interp/makedep.lisp"
> >         >         ;; Loading "/home/daly/axiom/obj/ubuntu/
> interp/sys-pkg.lsp"
> >         >         ;; Finished loading "/home/daly/axiom/obj/ubuntu/
> interp/sys-pkg.lsp"
> >         >         ;; Loading "/home/daly/axiom/src/interp/
> interp-proclaims.lisp"
> >         >         ;; Finished loading "/home/daly/axiom/src/interp/
> interp-proclaims.lisp"
> >         >         ;; Loading "/home/daly/axiom/obj/ubuntu/
> interp/nocompil"
> >         >         ;; Finished loading "/home/daly/axiom/obj/ubuntu/
> interp/nocompil"
> >         >         ;; Loading "/home/daly/axiom/obj/ubuntu/
> interp/bookvol5"
> >         >
> >         >         Error: ERROR "Cannot find the external symbol CHDIR in
> #<\"SYSTEM\" package>."
> >         >         Fast links are on: do (si::use-fast-links nil) for
> debugging
> >         >         Signalled by LOAD.
> >         >         ERROR "Cannot find the external symbol CHDIR in
> #<\"SYSTEM\" package>."
> >         >
> >         >         Broken at LOAD.  Type :H for Help.
> >         >             1  Return to top level.
> >         >         BOOT>>Makefile:174: recipe for target
> '/home/daly/axiom/obj/ubuntu/bin/depsys' failed
> >         >         make[3]: *** [/home/daly/axiom/obj/ubuntu/bin/depsys]
> Error 255
> >         >         rm /home/daly/axiom/int/interp/nocompil.lisp
> /home/daly/axiom/int/interp/sys-pkg.lisp /home/daly/axiom/int/interp/util.lisp
> /home
> >         /daly/axiom/int/interp/parsing.lisp
> >         >         make[3]: Leaving directory
> '/home/daly/axiom/src/interp'
> >         >         Makefile:80: recipe for target 'interpdir' failed
> >         >         make[2]: *** [interpdir] Error 2
> >         >         make[2]: Leaving directory '/home/daly/axiom/src'
> >         >         Makefile.ubuntu:164: recipe for target 'srcdir' failed
> >         >         make[1]: *** [srcdir] Error 2
> >         >         make[1]: Leaving directory '/home/daly/axiom'
> >         >         Makefile:140: recipe for target 'all' failed
> >         >         make: *** [all] Error 2
> >         >
> >         >         When I build gcl with Axiom and run bin/gcl
> >         >
> >         >         (find-all-symbols 'chdir) ==> (system::chdir chdir)
> >         >
> >         >         but when I do the build the above failure occurs. Yet
> >         >
> >         >         every call to chdir uses the fully qualified
> system::chdir
> >         >
> >         >         suggestions?
> >         >
> >         >         On Wed, Jul 19, 2017 at 5:28 PM, Barry M Trager <
> bmt@us.ibm.com> wrote:
> >         >
> >         >             Tim, I think bsdSignal comes from your bsdsignal.c
> so don't you need to include bcdsignal.o when trying to link in sockio-c.o
> >         ?
> >         >
> >         >             Barry
> >         >
> >         >             From:        Tim Daly <axiomcas@gmail.com>
> >         >             To:        Camm Maguire <camm@maguirefamily.org>
> >         >             Cc:        Barry M Trager <bmt@us.ibm.com>, Tim
> Daly <daly@axiom-developer.org>
> >         >             Date:        07/19/2017 03:09 PM
> >         >             Subject:        Re: [Axiom] Build failures
> >         >             -----------------------------
> ------------------------------------------------------------
> ------------------------------
> >         ----------------
> >         >
> >         >             I have integrated the list_order branch into the
> Axiom build. Without
> >         >             change, the list_order GCL will build on Ubuntu
> 16.10
> >         >
> >         >             Axiom requires two addtional files, sockio and
> cfuns to be part of the
> >         >             lisp image. This step fails, missing bsdSignal:
> >         >
> >         >             ar: creating libpre_gcl.a
> >         >             cp ../o/gcllib.a libgclp.a
> >         >             ranlib libgclp.a
> >         >             cat sys_init.lsp.in| sed \
> >         >                             -e "s#@LI-VERS@#(`cat
> ../majvers`.`cat ../minvers`) `cat ../release`#1" \
> >         >                             -e "s#@LI-EXTVERS@#`cat
> ../minvers | cut -f2 -d.`#1" \
> >         >                             -e "s#@LI-MINVERS@#`cat
> ../minvers | cut -f1 -d.`#1" \
> >         >                             -e "s#@LI-MAJVERS@#`cat
> ../majvers`#1" \
> >         >                             -e "s#@LI-RELEASE@#`cat
> ../release`#1" \
> >         >                             -e "s#@LI-CC@#\"gcc -c
> -fsigned-char -pipe -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie
> -fno-PIC
> >         -fno-pic
> >         >             -Wall -Wno-empty-body -Wno-unused-but-set-variable
>   \"#1" \
> >         >                             -e "s#@LI-LD@#\"gcc -Wl,-z,lazy
> -Wl,-T,../unixport/gcl.script -o \"#1" \
> >         >                             -e "s#@LI-LD-LIBS@#\"  -l -lm
>  -lc -lgclp\"#1" \
> >         >                             -e "s#@LI-OPT-THREE@#\"-O3
> -fomit-frame-pointer\"#1" \
> >         >                             -e "s#@LI-OPT-TWO@#\"-O\"#1" \
> >         >                             -e "s#@LI-INIT-LSP@#\"sys_init.lsp\"#1"
> >sys_init.lsp
> >         >             touch raw_pre_gcl_map
> >         >             gcc -Wl,-z,lazy -Wl,-T,../unixport/gcl.script -o
> raw_pre_gcl /home/daly/axiom/obj/ubuntu/lib/cfuns-c.o
> /home/daly/axiom/obj/
> >         ubuntu/lib/
> >         >             sockio-c.o -L.  -Wl,-Map raw_pre_gcl_map
>  -lpre_gcl -lm  -lc -lgclp
> >         >             /home/daly/axiom/obj/ubuntu/lib/sockio-c.o: In
> function `open_server':
> >         >             sockio-c.c:(.text+0x1c73): undefined reference to
> `bsdSignal'
> >         >             collect2: error: ld returned 1 exit status
> >         >             makefile:137: recipe for target 'raw_pre_gcl_map'
> failed
> >         >             make[4]: *** [raw_pre_gcl_map] Error 1
> >         >             make[4]: Leaving directory
> '/home/daly/axiom/lsp/gcl-2.6.13pre/unixport'
> >         >             makefile:74: recipe for target
> 'unixport/saved_pre_gcl' failed
> >         >             make[3]: *** [unixport/saved_pre_gcl] Error 2
> >         >             rm h/mcompdefs.h
> >         >             make[3]: Leaving directory
> '/home/daly/axiom/lsp/gcl-2.6.13pre'
> >         >             /bin/sh: 6: unixport/saved_gcl: not found
> >         >             Makefile:8: recipe for target 'gcldir' failed
> >         >             make[2]: *** [gcldir] Error 127
> >         >             make[2]: Leaving directory '/home/daly/axiom/lsp'
> >         >             Makefile.ubuntu:181: recipe for target 'lspdir'
> failed
> >         >             make[1]: *** [lspdir] Error 2
> >         >             make[1]: Leaving directory '/home/daly/axiom'
> >         >             Makefile:140: recipe for target 'all' failed
> >         >             make: *** [all] Error 2
> >         >
> >         >             On Mon, Jul 17, 2017 at 10:26 PM, Tim Daly <
> axiomcas@gmail.com> wrote:
> >         >             Thanks. I'm cloning it now. I'll let you know how
> it goes.
> >         >
> >         >             Axiom would not exist without your help.
> >         >             I can't tell you how much I appreciate it.
> >         >             Debugging a C compiler problem is painful.
> >         >
> >         >             Tim
> >         >
> >         >             On Mon, Jul 17, 2017 at 4:47 PM, Camm Maguire <
> camm@maguirefamily.org> wrote:
> >         >             Hi Tim!  I take it you are using 2.6.13pre?  If
> so, please advance to
> >         >             the list_order branch, which I will be pushing to
> 2.6.13pre soon.  I
> >         >             have a configure script which tests for and adds
> -fno_pie as needed.
> >         >
> >         >             Take care,
> >         >
> >         >             Tim Daly <axiomcas@gmail.com> writes:
> >         >
> >         >             > No. I have spent the last two days trying to get
> that to work.
> >         >             > Apparently it also affects the shipped libraries
> so the linker is
> >         >             > unhappy. I also tried using update-alternatives
> to install back-level
> >         >             > gcc versions but they also will not build.
> >         >             >
> >         >             > One option is to rebuild the
> compiler/linker/library chain without PIE
> >         >             > but then I have a much larger maintenance task.
> >         >             >
> >         >             > Unfortunately this is viral. GCC 6.2 will
> eventually be on all shipped
> >         >             > systems in the future so Axiom will only be able
> to be built as long
> >         >             > as I maintain old build servers. Once my
> binaries from old build
> >         >             > servers stop working on new systems the whole
> project will suffer.
> >         >             >
> >         >             > I will try to use clang in the next few days.
> >         >             >
> >         >             > On Mon, Jul 17, 2017 at 2:41 PM, Barry M Trager <
> bmt@us.ibm.com> wrote:
> >         >             >
> >         >             >     Tim, now that you've found the problem,
> can't you just add the -no-pie compiler flag to fix it?
> >         >             >     Barry
> >         >             >
> >         >             >
> >         >             >
> >         >             >         ----- Original message -----
> >         >             >         From: Tim Daly <axiomcas@gmail.com>
> >         >             >         To: Camm Maguire <camm@maguirefamily.org>,
> Barry M Trager <bmt@us.ibm.com>, Tim Daly <daly@axiom-developer.org>
> >         >             >         Cc:
> >         >             >         Subject: [Axiom] Build failures
> >         >             >         Date: Mon, Jul 17, 2017 2:21 PM
> >         >             >
> >         >             >         I have been unable to build Axiom on
> Ubuntu on any system from
> >         >             >         16.10 onward. The lisp build fails.
> >         >             >
> >         >             >         I finally tracked down the problem. Some
> bright-spot thought it would
> >         >             >         be a great idea to enable PIE by default.
> >         >             >         https://wiki.ubuntu.com/SecurityTeam/PIE
> >         >             >
> >         >             >         So essentially I cannot compile Axiom on
> any system with
> >         >             >         GCC 6.2.0 or above.
> >         >             >
> >         >             >         This is misguided on two levels. A
> language compiler has no business
> >         >             >         trying to enforce security-related
> protocols. And the whole idea
> >         >             >         of address space layout randomization is
> a subset of the SELINUX
> >         >             >         (an NSA/SAIC hack) attempt to simulate a
> harvard architecture
> >         >             >         machine on a princeton architecture
> machine, which is failure by design.
> >         >             >
> >         >             >         I may have to change compilers.
> >         >             >
> >         >             >         Tim
> >         >             >
> >         >             >
> >         >             >
> >         >             >
> >         >
> >         >             --
> >         >             Camm Maguire
>   camm@maguirefamily.org

\start
Date: Tue, 5 Sep 2017 14:33:46 +0100
From: Nicolas Doye <nic@worldofnic.org>
To: axiom-developer@nongnu.org
Subject: [Axiom-developer] Catching up on internals

Dear all,

last time I looked at the internals (20 years ago) the parts I was =
interested in were all written in BOOT. I wrote all my tentative code in =
BOOT and patched one function (possibly coerceInteractive) to accept it. =
I have several hundred lines of BOOT code that may be of interest to =
people.

I can=E2=80=99t remember exactly how one compiles BOOT and adds it into =
the interpreter=E2=80=99s path Worse, I can=E2=80=99t remember BOOT=E2=80=99=
s syntax. I had a photocopy of the BOOT programming guide, but, sadly, =
can=E2=80=99t find it.

Is there any online documentation on hacking the Axiom interpreter? =
Also, if anyone has a scan of the BOOT document, please can you let me =
get hold of it somehow?

Quick Bio: I was a student of James Davenport=E2=80=99s in the late 90s =
working on coercion, Axiom=E2=80=99s type system and Universal Algebra. =
Since then I=E2=80=99ve not been in academia.


Nic Doye

email: nic@worldofnic.org
web: https://worldofnic.org =
<https://worldofnic.org/?utm_source=email+signature>
twitter: @nicdoye <https://twitter.com/nicdoye>


\start
Date: Tue, 05 Sep 2017 11:45:54 -0400
From: Camm Maguire <camm@maguirefamily.org>
To: Tim Daly <axiomcas@gmail.com>
Subject: Re: [Axiom-developer] 20170501

Hi Tim!  I think your socket bind code needs modifying along these lines
(apply these sequentially, see also man 7 unix).  The
server[1].addr.u_addr.sa_data array is 14 bytes long and the strcpy can
(and does) overflow, triggering a failure when built with stack
checking.

Take care,

--- axiom-20170501.orig/books/bookvol8.pamphlet
+++ axiom-20170501/books/bookvol8.pamphlet
@@ -27066,12 +27066,11 @@ open_server(char *server_name)
     server[1].socket = 0;
     return -2;
   } else {
-    server[1].addr.u_addr.sa_family = AF_UNIX;
-    memset(server[1].addr.u_addr.sa_data, 0,
-           sizeof(server[1].addr.u_addr.sa_data));
-    strcpy(server[1].addr.u_addr.sa_data, name);
-    if (bind(server[1].socket, &server[1].addr.u_addr,
-             sizeof(server[1].addr.u_addr))) {
+    struct sockaddr_un nn;
+    memset(&nn, 0, sizeof(nn));
+    nn.sun_family = AF_UNIX;
+    strncpy(name.sun_path, name, sizeof(name.sun_path) - 1);
+    if (bind(server[1].socket,(const struct sockaddr *) &nn,sizeof(nn))) {
       perror("binding UNIX server socket");
       server[1].socket = 0;
       return -2;


--- axiom-20170501.orig/books/bookvol8.pamphlet
+++ axiom-20170501/books/bookvol8.pamphlet
@@ -27024,6 +27024,8 @@ make_server_name(char *name,char * base)

 /* client Spad server sockets.  Two sockets are created: server[0]
    is the internet server socket, and server[1] is a UNIX domain socket. */
+#include <sys/un.h>
+
 int
 open_server(char *server_name)
 {
@@ -27069,7 +27071,7 @@ open_server(char *server_name)
     struct sockaddr_un nn;
     memset(&nn, 0, sizeof(nn));
     nn.sun_family = AF_UNIX;
-    strncpy(name.sun_path, name, sizeof(name.sun_path) - 1);
+    strncpy(nn.sun_path, name, sizeof(nn.sun_path) - 1);
     if (bind(server[1].socket,(const struct sockaddr *) &nn,sizeof(nn))) {
       perror("binding UNIX server socket");
       server[1].socket = 0;



Tim Daly <axiomcas@gmail.com> writes:

> re: cleanups.
>
> I will look into the library links. Odds are good I'm just using a generi=
c list
> of X11 libraries for every link command.
>
> On Fri, Sep 1, 2017 at 11:47 AM, Camm Maguire <camm@maguirefamily.org> wr=
ote:
>
>     Greetings! Just FYI for possible cleanups at some point:
>
>     dpkg-shlibdeps: warning: package could avoid a useless dependency if =
debian/axiom-hypertex/usr/lib/axiom-20170501/bin/hypertex was not linked
>     against libm.so.6 (it uses none of the library's symbols)
>     dpkg-shlibdeps: warning: package could avoid a useless dependency if =
debian/axiom/usr/lib/axiom-20170501/lib/spadbuf debian/axiom/usr/lib/
>     axiom-20170501/lib/ex2ht were not linked against libXpm.so.4 (they us=
e none of the library's symbols)
>
>     Take care,
>
>     Tim Daly <axiomcas@gmail.com> writes:
>
>     > Camm,
>     >
>     > I applied your changes, tested it, and pushed it.
>     >
>     > Tim
>     >
>     > On Wed, Aug 23, 2017 at 9:24 PM, Tim Daly <axiomcas@gmail.com> wrot=
e:
>     >
>     >  Camm,
>     >
>     >  I've applied all of the above patches and am rebuilding n=
ow.
>     >  I'll let you know if anything fails. Thanks for the patch=
es.
>     >
>     >  re: list_order, etc...
>     >  I have a meeting at CMU on friday with some profs to talk=
 about the
>     >  state of my research on proving Axiom correct so I'm goin=
g to be
>     >  busy prepping for that.
>     >
>     >  Tim
>     >
>     >  On Wed, Aug 23, 2017 at 3:18 PM, Camm Maguire <camm@magui=
refamily.org> wrote:
>     >
>     >    Greetings!
>     >
>     >    Tim Daly <axiomcas@gmail.com> writes:
>     >
>     >    > Camm,
>     >    >
>     >    > So far I've discoverd that chdir is no longer e=
xported from system and
>     >    > that pathname-* no longer accepts a symbol.
>     >    >
>     >
>     >    Correct.
>     >
>     >    > These changes are painful to find. You are clea=
rly on the path to making
>     >    > GCL into CLTL2. Do you have a list of these sem=
antic changes somewhere?
>     >    >
>     >
>     >    Actually I do not think this was even valid ClTL1=
. GCL does intend to
>     >    support both dialects. But with the next relea=
se the default will be
>     >    ansi. One can get CLTL1 with --disable-ansi pa=
ssed to configure.
>     >
>     >    Here are my patches addressing these issues. Pret=
ty small issue:
>     >
>     >    #################################################=
############################
>     >    Description: <short summary of the patch>
>     >    TODO: Put a short summary on the line above an=
d replace this paragraph
>     >    with a longer explanation of this change. Comp=
lete the meta-information
>     >    with other relevant fields (see below for deta=
ils). To make it easier, the
>     >    information below has been extracted from the =
changelog. Adjust it or drop
>     >    it.
>     >    .
>     >    axiom (20140801-12) unstable; urgency=medium
>     >    .
>     >     * build dep against latest gcl
>     >     * Bug fix: "FTBFS on arm64, mips64el and m=
ipsel", thanks to Emilio
>     >      Pozuelo Monfort (Closes: #840639).
>     >    Author: Camm Maguire <camm@debian.org>
>     >    Bug-Debian: https://bugs.debian.org/840639
>     >
>     >    ---
>     >    The information above should follow the Patch Tag=
ging Guidelines, please
>     >    checkout http://dep.debian.net/deps/dep3/ to lear=
n about the format. Here
>     >    are templates for supplementary fields that you m=
ight want to add:
>     >
>     >    Origin: <vendor|upstream|other>, <url of original=
 patch>
>     >    Bug: <url in upstream bugtracker>
>     >    Bug-Debian: https://bugs.debian.org/<bugnumber>
>     >    Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
>     >    Forwarded: <no|not-needed|url proving that it has=
 been forwarded>
>     >    Reviewed-By: <name and email of someone who appro=
ved the patch>
>     >    Last-Update: 2016-10-13
>     >
>     >    Index: axiom-20170401/books/bookvol5.pamphlet
>     >    =================
==========================
==========================
=
>     >    --- axiom-20170401.orig/books/bookvol5.pamphlet
>     >    +++ axiom-20170401/books/bookvol5.pamphlet
>     >    @@ -47588,9 +47588,9 @@ nrlib/index.kaf
>     >     (processDir (dirarg thisdir)
>     >      (let (allfiles)
>     >      (declare (special vmlisp::*index-filen=
ame*))
>     >    -  (system:chdir (string dirarg))
>     >    +  (system::chdir (string dirarg))
>     >      (setq allfiles (directory "*"))
>     >    -  (system:chdir thisdir)
>     >    +  (system::chdir thisdir)
>     >       (mapcan #'(lambda (f)
>     >       (when (string-equal (pathname-type=
 f) "nrlib")
>     >        (list (concatenate 'string (names=
tring f) "/"
>     >    Index: axiom-20170401/src/interp/patches.lisp.pam=
phlet
>     >    =================
==========================
==========================
=
>     >    --- axiom-20170401.orig/src/interp/patches.lisp.p=
amphlet
>     >    +++ axiom-20170401/src/interp/patches.lisp.pamphl=
et
>     >    @@ -123,7 +123,7 @@ It used to read:
>     >        ((eql (|directoryp| (interp-ma=
ke-directory (car args))) 1)
>     >         (setq $current-directory
>     >          (namestring (truename (in=
terp-make-directory (car args)))))))
>     >    -#+(or :kcl :ibcl :CCL) (system:CHDIR $current-di=
rectory)
>     >    +#+(or :kcl :ibcl :CCL) (system::CHDIR $current-d=
irectory)
>     >    #+(and :lucid :ibm/370)
>     >     (setq *default-pathname-defaults* "")
>     >    #-(and :lucid :ibm/370)
>     >    @@ -143,7 +143,7 @@ It used to read:
>     >      ((eql (|directoryp| (interp-make-direc=
tory (car args))) 1)
>     >       (setq $current-directory
>     >        (namestring (truename (interp-mak=
e-directory (car args)))))))
>     >    -#+(or :kcl :ibcl :CCL) (system:CHDIR $current-di=
rectory)
>     >    +#+(or :kcl :ibcl :CCL) (system::CHDIR $current-d=
irectory)
>     >    #+(and :lucid :ibm/370)
>     >     (setq *default-pathname-defaults* "")
>     >    #-(and :lucid :ibm/370)
>     >    =================
==========================
==========================
===========
>     >    Description: <short summary of the patch>
>     >    TODO: Put a short summary on the line above an=
d replace this paragraph
>     >    with a longer explanation of this change. Comp=
lete the meta-information
>     >    with other relevant fields (see below for deta=
ils). To make it easier, the
>     >    information below has been extracted from the =
changelog. Adjust it or drop
>     >    it.
>     >    .
>     >    axiom (20140801-11) unstable; urgency=medium
>     >    .
>     >     * fix FTBFS ppc64, patch to avoid overflow=
 of BSD sockaddr sa_data in
>     >      make_server_name
>     >     * build-dep latest gcl
>     >     * Bug fix: "FTBFS on mips", thanks to Seba=
stian Ramacher (Closes:
>     >      #756793). autobuild with latest too=
ls on mips works.
>     >     * Bug fix: "naive methods of exiting axiom=
 can blow up
>     >      catastrophically", thanks to Tom Hargr=
eaves (Closes: #346552).
>     >     * Bug fix: "&quot;backspace&quot; key does=
n&#39;t work as expected",
>     >      thanks to Edi Meier (Closes: #708733).=
 Command line editing in
>     >      terminal now has a conventionally func=
tioning Backspace
>     >    Author: Camm Maguire <camm@debian.org>
>     >    Bug-Debian: https://bugs.debian.org/346552
>     >    Bug-Debian: https://bugs.debian.org/708733
>     >    Bug-Debian: https://bugs.debian.org/756793
>     >
>     >    ---
>     >    The information above should follow the Patch Tag=
ging Guidelines, please
>     >    checkout http://dep.debian.net/deps/dep3/ to lear=
n about the format. Here
>     >    are templates for supplementary fields that you m=
ight want to add:
>     >
>     >    Origin: <vendor|upstream|other>, <url of original=
 patch>
>     >    Bug: <url in upstream bugtracker>
>     >    Bug-Debian: https://bugs.debian.org/<bugnumber>
>     >    Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
>     >    Forwarded: <no|not-needed|url proving that it has=
 been forwarded>
>     >    Reviewed-By: <name and email of someone who appro=
ved the patch>
>     >    Last-Update: 2016-10-13
>     >
>     >    Index: axiom-20170401/books/bookvol5.pamphlet
>     >    =================
==========================
==========================
=
>     >    --- axiom-20170401.orig/books/bookvol5.pamphlet
>     >    +++ axiom-20170401/books/bookvol5.pamphlet
>     >    @@ -37537,7 +37537,7 @@ o )history
>     >      (cond
>     >       ((eq fullopt '|ifthere|) (setq ifther=
e t))
>     >       ((eq fullopt '|quiet|) (setq qu=
iet t))))
>     >    - (setq ef (|pathname| /editfile))
>     >    + (setq ef (or (|pathname| /editfile) ""))
>     >     (when (eq (|pathnameTypeId| ef) 'spad)
>     >      (setq ef (|makePathname| (|pathnameNam=
e| ef) "*" "*")))
>     >     (if arg
>     >    @@ -47605,8 +47605,9 @@ nrlib/index.kaf
>     >     (if make-database? (setq noexpose t))
>     >     (when dir (setq nrlibs (processDir dir thi=
sdir)))
>     >     (dolist (file filelist)
>     >    - (let ((filename (pathname-name file))
>     >    -    (namedir (directory-namestrin=
g file)))
>     >    + (let* ((file (string file))
>     >    +     (filename (pathname-name fil=
e))
>     >    +     (namedir (directory-namestri=
ng file)))
>     >      (unless namedir (setq thisdir (concate=
nate 'string thisdir "/")))
>     >      (cond
>     >       ((setq file (probe-file
>     >    @@ -48838,7 +48839,7 @@ filetype and filemode. We=
 also UPCASE ev
>     >    (defun |pathname| (p)
>     >     (cond
>     >     ((null p) p)
>     >    - ((pathnamep p) p)
>     >    + ((pathnamep p) p)((symbolp p) (pathname (str=
ing p)))
>     >     ((null (consp p)) (pathname p))
>     >     (t
>     >      (when (> (|#| p) 2) (setq p (cons (elt p =
0) (cons (elt p 1) nil))))
>     >    Index: axiom-20170401/src/interp/patches.lisp.pam=
phlet
>     >    =================
==========================
==========================
=
>     >    --- axiom-20170401.orig/src/interp/patches.lisp.p=
amphlet
>     >    +++ axiom-20170401/src/interp/patches.lisp.pamphl=
et
>     >    @@ -100,9 +100,9 @@ previous definition.
>     >     (cond ((null filename)
>     >         (dribble) (TERPRI)
>     >         (reset-highlight))
>     >    -    ((probe-file (car filename))
>     >    +    ((probe-file (string (car filena=
me)))
>     >         (error (format nil "file ~a a=
lready exists" (car filename))))
>     >    -    (t (dribble (car filename))
>     >    +    (t (dribble (string (car filenam=
e)))
>     >          (TERPRI)
>     >          (clear-highlight))
>     >      ))
>     >    Index: axiom-20170401/src/interp/util.lisp.pamphl=
et
>     >    =================
==========================
==========================
=
>     >    --- axiom-20170401.orig/src/interp/util.lisp.pamp=
hlet
>     >    +++ axiom-20170401/src/interp/util.lisp.pamphlet
>     >    @@ -1145,7 +1145,7 @@ Run the etags command on al=
l of the lisp
>     >    final TAGS file is constructed in the {\bf tmp=
} directory.
>     >    \begin{chunk}{make-tags-file}
>     >    (defun make-tags-file ()
>     >    -#+:gcl (system:chdir "/tmp")
>     >    +#+:gcl (system::chdir "/tmp")
>     >    #-:gcl (vmlisp::obey (concatenate 'string "cd =
" "/tmp"))
>     >     (obey (concat "etags " (make-absolute-file=
name "../../src/interp/*.lisp")))
>     >     (spadtags-from-directory "../../src/interp=
" "boot")
>     >    #################################################=
############################
>     >
>     >    Take care,
>     >
>     >    > Tim
>     >    >
>     >    > On Thu, Jul 20, 2017 at 7:14 PM, Tim Daly <axio=
mcas@gmail.com> wrote:
>     >    >
>     >    >  Never mind. I might have figured it o=
ut. I'll let you know.
>     >    >
>     >    >  On Thu, Jul 20, 2017 at 6:30 PM, Tim =
Daly <axiomcas@gmail.com> wrote:
>     >    >
>     >    >    Camm, Barry,
>     >    >
>     >    >    Yeah, I know. But it wasnt' n=
eeded before.
>     >    >    I've fixed that. Now the prob=
lem is:
>     >    >
>     >    >    >;; Loading "/home/daly/axiom=
/obj/ubuntu/interp/makedep.lisp"
>     >    >    ;; Loading "/home/daly/axiom/=
obj/ubuntu/interp/sys-pkg.lsp"
>     >    >    ;; Finished loading "/home/da=
ly/axiom/obj/ubuntu/interp/sys-pkg.lsp"
>     >    >    ;; Loading "/home/daly/axiom/=
src/interp/interp-proclaims.lisp"
>     >    >    ;; Finished loading "/home/da=
ly/axiom/src/interp/interp-proclaims.lisp"
>     >    >    ;; Loading "/home/daly/axiom/=
obj/ubuntu/interp/nocompil"
>     >    >    ;; Finished loading "/home/da=
ly/axiom/obj/ubuntu/interp/nocompil"
>     >    >    ;; Loading "/home/daly/axiom/=
obj/ubuntu/interp/bookvol5"
>     >    >
>     >    >    Error: ERROR "Cannot find the=
 external symbol CHDIR in #<\"SYSTEM\" package>."
>     >    >    Fast links are on: do (si::us=
e-fast-links nil) for debugging
>     >    >    Signalled by LOAD.
>     >    >    ERROR "Cannot find the extern=
al symbol CHDIR in #<\"SYSTEM\" package>."
>     >    >
>     >    >    Broken at LOAD. Type :H fo=
r Help.
>     >    >      1 Return to top le=
vel.
>     >    >    BOOT>>Makefile:174: recipe fo=
r target '/home/daly/axiom/obj/ubuntu/bin/depsys' failed
>     >    >    make[3]: *** [/home/daly/axio=
m/obj/ubuntu/bin/depsys] Error 255
>     >    >    rm /home/daly/axiom/int/inter=
p/nocompil.lisp /home/daly/axiom/int/interp/sys-pkg.lisp /home/daly/axiom/i=
nt/interp/util.lisp
>     /home
>     >    /daly/axiom/int/interp/parsing.lisp
>     >    >    make[3]: Leaving directory '/=
home/daly/axiom/src/interp'
>     >    >    Makefile:80: recipe for targe=
t 'interpdir' failed
>     >    >    make[2]: *** [interpdir] Erro=
r 2
>     >    >    make[2]: Leaving directory '/=
home/daly/axiom/src'
>     >    >    Makefile.ubuntu:164: recipe f=
or target 'srcdir' failed
>     >    >    make[1]: *** [srcdir] Error 2
>     >    >    make[1]: Leaving directory '/=
home/daly/axiom'
>     >    >    Makefile:140: recipe for targ=
et 'all' failed
>     >    >    make: *** [all] Error 2
>     >    >
>     >    >    When I build gcl with Axiom a=
nd run bin/gcl
>     >    >
>     >    >    (find-all-symbols 'chdir) ==
=> (system::chdir chdir)
>     >    >
>     >    >    but when I do the build the a=
bove failure occurs. Yet
>     >    >
>     >    >    every call to chdir uses the =
fully qualified system::chdir
>     >    >
>     >    >    suggestions?
>     >    >
>     >    >    On Wed, Jul 19, 2017 at 5:28 =
PM, Barry M Trager <bmt@us.ibm.com> wrote:
>     >    >
>     >    >      Tim, I think bsdSigna=
l comes from your bsdsignal.c so don't you need to include bcdsignal.o when=
 trying to link in
>     sockio-c.o
>     >    ?
>     >    >
>     >    >      Barry
>     >    >
>     >    >      From:    =
Tim Daly <axiomcas@gmail.com>
>     >    >      To:    Ca=
mm Maguire <camm@maguirefamily.org>
>     >    >      Cc:    Ba=
rry M Trager <bmt@us.ibm.com>, Tim Daly <daly@axiom-developer.org>
>     >    >      Date:    =
07/19/2017 03:09 PM
>     >    >      Subject:    =
Re: [Axiom] Build failures
>     >    >      ---------------------=
---------------------------------------------------------------------------=
-----------------------
>     >    ----------------
>     >    >
>     >    >      I have integrated the=
 list_order branch into the Axiom build. Without
>     >    >      change, the list_orde=
r GCL will build on Ubuntu 16.10
>     >    >
>     >    >      Axiom requires two ad=
dtional files, sockio and cfuns to be part of the
>     >    >      lisp image. This step=
 fails, missing bsdSignal:
>     >    >
>     >    >      ar: creating libpre_g=
cl.a
>     >    >      cp ../o/gcllib.a libg=
clp.a
>     >    >      ranlib libgclp.a
>     >    >      cat sys_init.lsp.in| =
sed \
>     >    >           =
   -e "s#@LI-VERS@#(`cat ../majvers`.`cat ../minvers`) `cat ../rel=
ease`#1" \
>     >    >           =
   -e "s#@LI-EXTVERS@#`cat ../minvers | cut -f2 -d.`#1" \
>     >    >           =
   -e "s#@LI-MINVERS@#`cat ../minvers | cut -f1 -d.`#1" \
>     >    >           =
   -e "s#@LI-MAJVERS@#`cat ../majvers`#1" \
>     >    >           =
   -e "s#@LI-RELEASE@#`cat ../release`#1" \
>     >    >           =
   -e "s#@LI-CC@#\"gcc -c -fsigned-char -pipe -fno-builtin-malloc =
-fno-builtin-free -fno-PIE -fno-pie
>     -fno-PIC
>     >    -fno-pic
>     >    >      -Wall -Wno-empty-body=
 -Wno-unused-but-set-variable  \"#1" \
>     >    >           =
   -e "s#@LI-LD@#\"gcc -Wl,-z,lazy -Wl,-T,../unixport/gcl.script -=
o \"#1" \
>     >    >           =
   -e "s#@LI-LD-LIBS@#\" -l -lm -lc -lgclp\"#1" \
>     >    >           =
   -e "s#@LI-OPT-THREE@#\"-O3 -fomit-frame-pointer\"#1" \
>     >    >           =
   -e "s#@LI-OPT-TWO@#\"-O\"#1" \
>     >    >           =
   -e "s#@LI-INIT-LSP@#\"sys_init.lsp\"#1" >sys_init.lsp
>     >    >      touch raw_pre_gcl_map
>     >    >      gcc -Wl,-z,lazy -Wl,-=
T,../unixport/gcl.script -o raw_pre_gcl /home/daly/axiom/obj/ubuntu/lib/cfu=
ns-c.o /home/daly/axiom
>     /obj/
>     >    ubuntu/lib/
>     >    >      sockio-c.o -L. -Wl=
,-Map raw_pre_gcl_map -lpre_gcl -lm -lc -lgclp
>     >    >      /home/daly/axiom/obj/=
ubuntu/lib/sockio-c.o: In function `open_server':
>     >    >      sockio-c.c:(.text+0x1=
c73): undefined reference to `bsdSignal'
>     >    >      collect2: error: ld r=
eturned 1 exit status
>     >    >      makefile:137: recipe =
for target 'raw_pre_gcl_map' failed
>     >    >      make[4]: *** [raw_pre=
_gcl_map] Error 1
>     >    >      make[4]: Leaving dire=
ctory '/home/daly/axiom/lsp/gcl-2.6.13pre/unixport'
>     >    >      makefile:74: recipe f=
or target 'unixport/saved_pre_gcl' failed
>     >    >      make[3]: *** [unixpor=
t/saved_pre_gcl] Error 2
>     >    >      rm h/mcompdefs.h
>     >    >      make[3]: Leaving dire=
ctory '/home/daly/axiom/lsp/gcl-2.6.13pre'
>     >    >      /bin/sh: 6: unixport/=
saved_gcl: not found
>     >    >      Makefile:8: recipe fo=
r target 'gcldir' failed
>     >    >      make[2]: *** [gcldir]=
 Error 127
>     >    >      make[2]: Leaving dire=
ctory '/home/daly/axiom/lsp'
>     >    >      Makefile.ubuntu:181: =
recipe for target 'lspdir' failed
>     >    >      make[1]: *** [lspdir]=
 Error 2
>     >    >      make[1]: Leaving dire=
ctory '/home/daly/axiom'
>     >    >      Makefile:140: recipe =
for target 'all' failed
>     >    >      make: *** [all] Error=
 2
>     >    >
>     >    >      On Mon, Jul 17, 2017 =
at 10:26 PM, Tim Daly <axiomcas@gmail.com> wrote:
>     >    >      Thanks. I'm cloning i=
t now. I'll let you know how it goes.
>     >    >
>     >    >      Axiom would not exist=
 without your help.
>     >    >      I can't tell you how =
much I appreciate it.
>     >    >      Debugging a C compile=
r problem is painful.
>     >    >
>     >    >      Tim
>     >    >
>     >    >      On Mon, Jul 17, 2017 =
at 4:47 PM, Camm Maguire <camm@maguirefamily.org> wrote:
>     >    >      Hi Tim! I take it =
you are using 2.6.13pre? If so, please advance to
>     >    >      the list_order branch=
, which I will be pushing to 2.6.13pre soon. I
>     >    >      have a configure scri=
pt which tests for and adds -fno_pie as needed.
>     >    >
>     >    >      Take care,
>     >    >
>     >    >      Tim Daly <axiomcas@gm=
ail.com> writes:
>     >    >
>     >    >      > No. I have spent th=
e last two days trying to get that to work.
>     >    >      > Apparently it also =
affects the shipped libraries so the linker is
>     >    >      > unhappy. I also tri=
ed using update-alternatives to install back-level
>     >    >      > gcc versions but th=
ey also will not build.
>     >    >      >
>     >    >      > One option is to re=
build the compiler/linker/library chain without PIE
>     >    >      > but then I have a m=
uch larger maintenance task.
>     >    >      >
>     >    >      > Unfortunately this =
is viral. GCC 6.2 will eventually be on all shipped
>     >    >      > systems in the futu=
re so Axiom will only be able to be built as long
>     >    >      > as I maintain old b=
uild servers. Once my binaries from old build
>     >    >      > servers stop workin=
g on new systems the whole project will suffer.
>     >    >      >
>     >    >      > I will try to use c=
lang in the next few days.
>     >    >      >
>     >    >      > On Mon, Jul 17, 201=
7 at 2:41 PM, Barry M Trager <bmt@us.ibm.com> wrote:
>     >    >      >
>     >    >      >  Tim, now =
that you've found the problem, can't you just add the -no-pie compiler flag=
 to fix it?
>     >    >      >  Barry
>     >    >      >  
>     >    >      >  
>     >    >      >
>     >    >      >    -=
---- Original message -----
>     >    >      >    F=
rom: Tim Daly <axiomcas@gmail.com>
>     >    >      >    T=
o: Camm Maguire <camm@maguirefamily.org>, Barry M Trager <bmt@us.ibm.com>, =
Tim Daly <
>     daly@axiom-developer.org>
>     >    >      >    C=
c:
>     >    >      >    S=
ubject: [Axiom] Build failures
>     >    >      >    D=
ate: Mon, Jul 17, 2017 2:21 PM
>     >    >      >    =

>     >    >      >    I=
 have been unable to build Axiom on Ubuntu on any system from
>     >    >      >    1=
6.10 onward. The lisp build fails.
>     >    >      >    =

>     >    >      >    I=
 finally tracked down the problem. Some bright-spot thought it would
>     >    >      >    b=
e a great idea to enable PIE by default.
>     >    >      >    h=
ttps://wiki.ubuntu.com/SecurityTeam/PIE
>     >    >      >    =

>     >    >      >    S=
o essentially I cannot compile Axiom on any system with
>     >    >      >    G=
CC 6.2.0 or above.
>     >    >      >    =

>     >    >      >    T=
his is misguided on two levels. A language compiler has no business
>     >    >      >    t=
rying to enforce security-related protocols. And the whole idea
>     >    >      >    o=
f address space layout randomization is a subset of the SELINUX
>     >    >      >    (=
an NSA/SAIC hack) attempt to simulate a harvard architecture
>     >    >      >    m=
achine on a princeton architecture machine, which is failure by design.
>     >    >      >    =

>     >    >      >    I=
 may have to change compilers.
>     >    >      >    =

>     >    >      >    T=
im
>     >    >      >    =

>     >    >      >
>     >    >      >  
>     >    >      >
>     >    >
>     >    >      --
>     >    >      Camm Maguire  =
                  cam=
m@maguirefamily.org
>     >    >      ========
==========================
==========================
=================
>     >    >      "The earth is but one=
 country, and mankind its citizens." -- Baha'u'llah
>     >    >
>     >
>     >    --
>     >    Camm Maguire         =
           camm@maguirefamily.org
>     >    =================

\start
Date: Tue, 5 Sep 2017 12:58:26 -0400
From: Tim Daly <axiomcas@gmail.com>
To: Nicolas Doye <nic@worldofnic.org>, Tim Daly <daly@axiom-developer.org>, 
	axiom-dev <axiom-developer@nongnu.org>
Subject: [Axiom-developer] Boot code

Boot code is just a set of lisp macros.
The only existing documentation is here:
http://daly.axiom-developer.org/boot.tgz

That said, Axiom converted all boot code to common lisp.
I can do that for you. Converting it to common lisp is also
a good time to consider explaining it in text.

The fact that boot code is known to half a dozen people
and actively used by slightly more than one means that
it is a dead language. Common Lisp is widely spoken and
is supported by a standard. If Axiom is going to be maintained
and modified by the next generation it needs to be implemented
in a well-understood language.

As for Axiom internal documentation for the interpreter,
it is under active development. Visit
https://en.wikipedia.org/wiki/Axiom_(computer_algebra_system)
and look at volume 5 (the interpreter). Any insights you have and
are willing to document I'd be glad to add.

Tim

\documentclass{book}
%\newcommand{\VolumeName}{Volume 2: Axiom Users Guide}
%\input{bookheader.tex}
\pagenumbering{arabic}
\mainmatter
\setcounter{chapter}{0} % Chapter 1

\usepackage{makeidx}
\makeindex
\begin{document}



\end{verbatim}
\eject
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cleardoublepage
%\phantomsection
\addcontentsline{toc}{chapter}{Bibliography}
\bibliographystyle{axiom}
\bibliography{axiom}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cleardoublepage
%\phantomsection
\addcontentsline{toc}{chapter}{Index}
\printindex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
