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