lang/sbcl: asdf.fasl is older than asdf.lisp?

Anonymous swell.k at gmail.com
Fri Nov 12 06:48:23 UTC 2010


The last update of lang/sbcl seems to have broken FASL_BUILD ports on pointyhat, e.g.

  http://pointyhat.freebsd.org/errorlogs/amd64-errorlogs/e.7.20101109122153/cl-alexandria-sbcl-2010.01.16_1.log
  http://pointyhat.freebsd.org/errorlogs/amd64-errorlogs/e.7.20101109122153/cl-clx-sbcl-0.7.4.log

  add_pkg cl-alexandria-2010.01.16_1.tbz cl-asdf-1.374_3,1.tbz cl-asdf-binary-locations-0.3.9_2.tbz sbcl-1.0.43.0_1,1.tbz
  [...]
  ===>  Building for cl-alexandria-sbcl-2010.01.16_1
  unhandled SIMPLE-ERROR:
    The object file /usr/local/lib/sbcl/asdf/asdf.fasl is
  older than the presumed source:
    /usr/local/lib/sbcl/asdf/asdf.lisp.

  0: (SB-DEBUG::MAP-BACKTRACE #<CLOSURE (LAMBDA #) {1002BFED09}>)[:EXTERNAL]
  1: (SB-DEBUG:BACKTRACE
      128
      #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDERR* {10000E6A41}>)
  2: (SB-DEBUG::DEBUGGER-DISABLED-HOOK
      #<SIMPLE-ERROR "The object file ~A is~@
                         older than the presumed source:~%  ~A."
        {1002BFBA91}>
      #<unavailable argument>)
  [...]
  unhandled condition in --disable-debugger mode, quitting
  *** Error code 1

My guess is that install(1) doesn't preserve mtime of asdf.lisp and it
ends up *slightly* newer than asdf.fasl. Here is a workaround

%%
Index: lang/sbcl/Makefile
===================================================================
RCS file: /a/.cvsup/ports/lang/sbcl/Makefile,v
retrieving revision 1.81
diff -u -p -r1.81 Makefile
--- lang/sbcl/Makefile	7 Nov 2010 07:56:32 -0000	1.81
+++ lang/sbcl/Makefile	12 Nov 2010 06:45:42 -0000
@@ -228,8 +228,8 @@ do-install:
 	${INSTALL_DATA} ${WRKSRC}/output/sbcl.core ${SBCL_HOME}/
 .for MOD in ${CONTRIB_MODULES}
 	${MKDIR} ${SBCL_HOME}/${MOD}
-	${INSTALL_DATA} ${WRKSRC}/contrib/${MOD}/*.fasl ${SBCL_HOME}/${MOD}/
 	${INSTALL_DATA} ${WRKSRC}/contrib/${MOD}/*.lisp ${SBCL_HOME}/${MOD}/
+	${INSTALL_DATA} ${WRKSRC}/contrib/${MOD}/*.fasl ${SBCL_HOME}/${MOD}/
 	(if test -f ${WRKSRC}/contrib/${MOD}/${MOD}.asd; then ${INSTALL_DATA} \
 	    ${WRKSRC}/contrib/${MOD}/${MOD}.asd ${SBCL_HOME}/${MOD}/; fi)
 .endfor
%%


More information about the freebsd-ports mailing list