axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] 20170501


From: Tim Daly
Subject: Re: [Axiom-developer] 20170501
Date: Sat, 2 Sep 2017 10:39:36 -0400

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 <address@hidden> 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 <address@hidden> writes:

> Camm,
>
> I applied your changes, tested it, and pushed it.
>
> Tim
>
> On Wed, Aug 23, 2017 at 9:24 PM, Tim Daly <address@hidden> 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 <address@hidden> wrote:
>
>         Greetings!
>
>         Tim Daly <address@hidden> 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 <address@hidden>
>         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 <address@hidden>
>         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 <address@hidden> 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 <address@hidden> 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 <address@hidden> 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 <address@hidden>
>         >             To:        Camm Maguire <address@hidden>
>         >             Cc:        Barry M Trager <address@hidden>, Tim Daly <address@hidden>
>         >             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 "address@hidden@#(`cat ../majvers`.`cat ../minvers`) `cat ../release`#1" \
>         >                             -e "address@hidden@#`cat ../minvers | cut -f2 -d.`#1" \
>         >                             -e "address@hidden@#`cat ../minvers | cut -f1 -d.`#1" \
>         >                             -e "address@hidden@#`cat ../majvers`#1" \
>         >                             -e "address@hidden@#`cat ../release`#1" \
>         >                             -e "address@hidden@#\"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 "address@hidden@#\"gcc -Wl,-z,lazy -Wl,-T,../unixport/gcl.script -o \"#1" \
>         >                             -e "address@hidden@#\"  -l -lm  -lc -lgclp\"#1" \
>         >                             -e "address@hidden@#\"-O3 -fomit-frame-pointer\"#1" \
>         >                             -e "address@hidden@#\"-O\"#1" \
>         >                             -e "address@hidden@#\"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 <address@hidden> 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 <address@hidden> 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 <address@hidden> 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 <address@hidden> 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 <address@hidden>
>         >             >         To: Camm Maguire <address@hidden>, Barry M Trager <address@hidden>, Tim Daly <address@hidden>
>         >             >         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                                        address@hidden
>         >             ==========================================================================
>         >             "The earth is but one country, and mankind its citizens."  --  Baha'u'llah
>         >
>
>         --
>         Camm Maguire                                        address@hidden
>         ==========================================================================
>         "The earth is but one country, and mankind its citizens."  --  Baha'u'llah
>

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]