Oddities in ECL tests on Linux

Robert Goldman rpgoldman at sift.info
Thu Aug 30 19:51:16 UTC 2018


I'm experimenting with your changes now but, for some reason that I 
don't understand, when I run the tests as `make l=ecl` interactively on 
Ubuntu (using the Ubuntu ECL package `16.1.2-3`), signals are throwing 
me into the interactive debugger, instead of being caught.  I have no 
idea why this started happening, because I used to be able to run ECL 
successfully, and I don't believe I have changed the package (although 
Ubuntu might have upgraded it).

Actually /usr/bin/ecl is crashing with SIGABRT when running programs, 
apparently, on my Ubuntu box.  (`SIGABRT in si_run_program()`).  I'll 
try uninstalling and reinstalling ECL in the hopes that fixes this, but 
unless I get some help, I will not be able to continue testing ASDF on 
ECL on Linux.



On 30 Aug 2018, at 13:22, Marius Gerbershagen wrote:

> No, I don't think so. The sockets module has been part of ECL since
> version 0.9f from 2005. Please note, that this test can fail anyway if
> ECL is built without support for the respective module (be it :rt or
> :sockets). The change only prevents it from failing on a default build
> configuration.
>
> Am 30.08.2018 um 19:53 schrieb Robert Goldman:
>> Thank you very much for these, Marius. I will look into fixing them
>> directly. One question - do I need to check for ECL version number 
>> when
>> requiring sockets in the test? I.e., to I need to test with |:rt| in
>> older versions and |:sockets| in newer? Or will |:sockets| work in 
>> older
>> versions of ECL, as well?
>>
>> Best,
>> R
>>
>> On 30 Aug 2018, at 12:46, Marius Gerbershagen wrote:
>>
>>     Harmless in the sense that ECL doesn't crash or throw me in the
>>     interactive debugger. Besides, the test failures seem to be 
>> easily
>>     fixed. The test-require.script test fails because it tries to 
>> require
>>     the :rt module which is deprecated on the develop branch and no 
>> longer
>>     build by default. A simple fix is to use the :sockets module 
>> instead:
>>
>>     diff --git a/test/test-require.script b/test/test-require.script
>>     index e5f70857..1ef84e8c 100644
>>     --- a/test/test-require.script
>>     +++ b/test/test-require.script
>>     @@ -178,7 +178,7 @@
>>     #+allegro :sax
>>     #+clisp (first (remove "asdf" *dynmod-list* :test 'equal))
>>     #+(or clozure cmucl) :defsystem
>>     - #+ecl :rt ;; loads faster than :ecl-quicklisp
>>     + #+ecl :sockets
>>     #+lispworks "comm"
>>     #+mkcl :walker
>>     #+sbcl :sb-md5
>>
>>     The test-program.script test seems to fail to include uiop 
>> because of an
>>     error in the linkable-system function. Tracing it shows that the
>>     function returns nil for the uiop system object,
>>     1> (ASDF/BUNDLE::LINKABLE-SYSTEM #<system "uiop">)
>>     <1 (ASDF/BUNDLE::LINKABLE-SYSTEM NIL)
>>     which seems to be caused by a missing call to coerce-name:
>>
>>     diff --git a/bundle.lisp b/bundle.lisp
>>     index 2ff56f93..42034c9f 100644
>>     --- a/bundle.lisp
>>     +++ b/bundle.lisp
>>     @@ -529,7 +529,7 @@ which is probably not what you want; you 
>> probably
>>     need to tweak your output tran
>>     ;; If an ASDF upgrade is available from source, but not a UIOP
>>     upgrade to that,
>>     ;; then use the asdf/driver system instead of
>>     ;; the UIOP that was disabled by check-not-old-asdf-system.
>>     - (if-let (s (and (equal x "uiop") (output-files 'lib-op "asdf")
>>     (find-system "asdf/driver")))
>>     + (if-let (s (and (equal (coerce-name x) "uiop") (output-files
>>     'lib-op "asdf") (find-system "asdf/driver")))
>>     (and (output-files 'lib-op s) s))
>>     ;; If there was no source upgrade, look for modules provided by
>>     the implementation.
>>     (if-let (p (system-module-pathname (coerce-name x)))
>>
>>
>>     Am 29.08.2018 um 01:22 schrieb Faré:
>>
>>             I can't reproduce this, for me the tests run fine without
>>             being thrown
>>             in the debugger. I only get two harmlessly looking test 
>> failures
>>             (test-program.script and test-require.script).
>>
>>         No test failure is harmless. The test-program.script failure 
>> is what
>>         Robert saw, that I can reproduce. I didn't reproduce a 
>> failure with
>>         test-require. I had more problems with ECL from the develop 
>> branch,
>>         but maybe it was a bad idea to use the develop branch.
>>
>>         —♯ƒ • François-René ÐVB Rideau 
>> •Reflection&Cybernethics•
>>         http://fare.tunes.org
>>         There are two kinds of people, those who do the work
>>         and those who take the credit. Try to be in the first group;
>>         there is less competition there
>>         — Indira Gandhi.
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20180830/755c9899/attachment-0001.html>


More information about the asdf-devel mailing list