enable-asdf-binary-locations-compatibility fails on ECL

Bug #614072 reported by Stas Boukarev
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ASDF
Invalid
Low
Unassigned

Bug Description

I don't know what's the purpose of adding (t t) into output-translations by enable-asdf-binary-locations-compatibility, but it breaks loading systems on ECL. Just removing it does fix the issue.

Revision history for this message
Stas Boukarev (stassats) wrote :
Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

I don't think this is a satisfactory patch. The rewriting rule (T T) is specified as part of Fare's DSL for output translations, so if it breaks ECL, then there is a problem with the implementation of output-translations on ECL that we should fix instead of working around.

Revision history for this message
Faré (fahree) wrote :

I tried to reproduce your bug, but couldn't. I had lots of weird behavior from ECL, that might have been confused between my various versions of ASDF and the way I upgrade from one to the other. Sigh.

rlwrap ecl
(asdf:load-system :asdf) (progn (describe (asdf:find-system :asdf)) (format t "~S~%" (asdf:asdf-version)) (trace asdf:apply-output-translations #|asdf::translate-pathname*|#) (asdf:initialize-output-translations) (format t "~&before: ~S~%" (multiple-value-list (asdf:apply-output-translations "/foo/bar.fas"))) (asdf:enable-asdf-binary-locations-compatibility) (format t "after: ~S~%" (multiple-value-list (asdf:apply-output-translations "/foo/bar.fas"))) t)

Actually, what seems to be broken is the *.fas translation due to the entry before (t t), and it seems to be an ecl bug. Using 10.4.2, I get::

(translate-pathname #p"/foo/bar.fas" #P"/**/*.fas" #P"/**/ecl-10.4.2-linux-x86-64/*.fas") ==> no values

That's bad. I suggest you don't try ABL compatibility mode (or any similar trick) until ECL is fixed. Or you could try enabling it with :map-all-source-files t, which works around this issue.

Adding juanjo to the conversation.

Revision history for this message
Faré (fahree) wrote :

This seems to be fixed in ECL 10.7.1. Stas, can you confirm?

Revision history for this message
Faré (fahree) wrote :

Marking as Invalid since this seems to not be an ASDF bug.

Changed in asdf:
importance: Undecided → Low
milestone: none → version2.1
status: New → Invalid
Revision history for this message
Stas Boukarev (stassats) wrote :

I can't confirm, since it still fails for me with similar symptoms.

(asdf:enable-asdf-binary-locations-compatibility
 :centralize-lisp-binaries t
 :default-toplevel-directory "/home/stas/lisp/fasls/")

> (asdf:load-system 'trivial-features)

; loading system definition from /home/stas/lisp/systems/trivial-features.asd
; into #<ASDF0 package>
;;; Loading "/home/stas/lisp/systems/trivial-features.asd"
; registering #<SYSTEM TRIVIAL-FEATURES> as TRIVIAL-FEATURES
;;; Note:
;;; Invoking external command:
;;; gcc "-I/usr/local/include/" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -march=native -O2 -pipe -fomit-frame-pointer -fPIC -D_THREAD_SAFE -Dlinux -O2 -w -c "trivial-features/src/ASDF-TMP-tf-ecl.c" -o "trivial-features/src/ASDF-TMP-tf-ecl.o"
;;; trivial-features/src/ASDF-TMP-tf-ecl.c:6:50: error: trivial-features/src/ASDF-TMP-tf-ecl.h: No such file or directory
...

Revision history for this message
Faré (fahree) wrote :

Which version of ECL are you using? If it's 10.7.1 or earlier, can you update from CVS and try again?

Revision history for this message
Faré (fahree) wrote :

And what happens with your patch? What output at that point?

Revision history for this message
Faré (fahree) wrote :

Note that the use of relative pathnames here looks fishy.

Revision history for this message
Stas Boukarev (stassats) wrote :

I'm using CVS HEAD of ECL. With the patch:

Filesystem error with pathname #P"/home/stas/.cache/common-lisp/ecl-10.7.1-06759cf6-linux-x86/home/stas/lisp/site/trivial-features/src/tf-ecl.fas".
Either
 1) the file does not exist, or
 2) we are not allow to access the file, or
 3) the pathname points to a broken symbolic link.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.