[asdf-devel] pathname translations does not like my f2cl asd
Hi, so here is another one. I can send the .asd file if you are interested, but for now I guess this snippet is enough: (defmethod perform ((o compile-op) (f f77-file)) (apply #'f2cl:f2cl-compile (cons (make-pathname :name (component-name f) :type "f" :defaults (component-pathname f)) (compiler-options f)))) the error is Couldn't load #P"/home/mommer/.cache/common-lisp/sbcl-1.0.37-linux-...": file does not exist. [Condition of type SB-INT:SIMPLE-FILE-ERROR] which is caused by the fact that I give the f2cl compiler a different output path than that expected by the loader. I do not know how to fix this yet, except for issuing (asdf:disable-output-translation). It is probably a matter of RTFM. But I guess that proves the more general point that enabling the output translation by default will break existing setups when upgrading. Regards, Mario
The previous .asd had it right in not using make-pathname in the perform, but instead calling (first (output-files op f)). This one should do the same, too. And if it wants to translation for this file, it should also have output-files return (values (list ...) t). [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Let's take compulsion out of compassion. On 9 April 2010 20:12, Mario S. Mommer <m_mommer@yahoo.com> wrote:
Hi,
so here is another one. I can send the .asd file if you are interested, but for now I guess this snippet is enough:
(defmethod perform ((o compile-op) (f f77-file)) (apply #'f2cl:f2cl-compile (cons (make-pathname :name (component-name f) :type "f" :defaults (component-pathname f)) (compiler-options f))))
the error is
Couldn't load #P"/home/mommer/.cache/common-lisp/sbcl-1.0.37-linux-...": file does not exist. [Condition of type SB-INT:SIMPLE-FILE-ERROR]
which is caused by the fact that I give the f2cl compiler a different output path than that expected by the loader.
I do not know how to fix this yet, except for issuing (asdf:disable-output-translation). It is probably a matter of RTFM. But I guess that proves the more general point that enabling the output translation by default will break existing setups when upgrading.
Regards, Mario
_______________________________________________ asdf-devel mailing list asdf-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
Faré <fahree@gmail.com> writes:
The previous .asd had it right in not using make-pathname in the perform, but instead calling (first (output-files op f)). This one should do the same, too. And if it wants to translation for this file, it should also have output-files return (values (list ...) t).
...right, that fixed it, thanks! Now it reads like this: (defmethod perform ((o compile-op) (f f77-file)) (let ((output-name (car (output-files o f)))) (apply #'f2cl:f2cl-compile (make-pathname :name (component-name f) :type "f" :defaults (component-pathname f)) :output-file output-name (compiler-options f)))) Regards, Mario
participants (2)
-
Faré
-
m_mommer@yahoo.com