guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gnu: Add CLISP.


From: Taylan Ulrich Bayırlı/Kammer
Subject: Re: gnu: Add CLISP.
Date: Fri, 13 Feb 2015 11:33:18 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux)

Eric Bavier <address@hidden> writes:

> Could you use a more descriptive phase name?  E.g. "patch-sh-and-pwd"?
> [...]
> Ditto.  Several other packages use "chdir" or "chdir-to-source"

Done.

> If you know more specifically why parallel builds fail, could you
> comment on that?  Race conditions, or not using $(MAKE), etc?

I'm inexperienced with Makefiles, but I suppose the following hints at a
race condition:

--- START SNIP ---

MAKE=make CLISP="/tmp/nix-build-clisp-2.49.drv-0/clisp-2.49/src/clisp -K boot  
-E UTF-8 -Epathname 1:1 -Emisc 1:1 -norc" with_dynamic_modules=no ./clisp-link 
add boot base i18n syscalls regexp readline || (rm -rf base ; exit 1)
make[1]: Entering directory 
'/tmp/nix-build-clisp-2.49.drv-0/clisp-2.49/src/i18n'
make[1]: Nothing to be done for 'clisp-module'.
make[1]: Leaving directory '/tmp/nix-build-clisp-2.49.drv-0/clisp-2.49/src/i18n'
make[1]: Entering directory 
'/tmp/nix-build-clisp-2.49.drv-0/clisp-2.49/src/syscalls'
rm -f libgnu_sc.a
rm -f libgnu_sc.a
mkdir -p gllib
mkdir -p gllib
test -f gllib/Makefile || sh config.status gllib/Makefile depfiles
cd gllib; \
  make 
srcdir="/tmp/nix-build-clisp-2.49.drv-0/clisp-2.49/modules/syscalls/gllib" \
        
ACLOCAL_M4="/tmp/nix-build-clisp-2.49.drv-0/clisp-2.49/modules/syscalls/gllib/Makefile.am"
 \
        CFLAGS="-g -O2 -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit 
-Wreturn-type -Wmissing-declarations -Wno-sign-compare -Wno-format-nonliteral 
-O -falign-functions=4 -DENABLE_UNICODE -DDYNAMIC_FFI -DDYNAMIC_MODULES -I. 
-fPIC -I/tmp/nix-build-clisp-2.49.drv-0/clisp-2.49/src/"; \
  ln libgnu.a ../libgnu_sc.a
test -f gllib/Makefile || sh config.status gllib/Makefile depfiles
cd gllib; \
  make 
srcdir="/tmp/nix-build-clisp-2.49.drv-0/clisp-2.49/modules/syscalls/gllib" \
        
ACLOCAL_M4="/tmp/nix-build-clisp-2.49.drv-0/clisp-2.49/modules/syscalls/gllib/Makefile.am"
 \
        CFLAGS="-g -O2 -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit 
-Wreturn-type -Wmissing-declarations -Wno-sign-compare -Wno-format-nonliteral 
-O -falign-functions=4 -DENABLE_UNICODE -DDYNAMIC_FFI -DDYNAMIC_MODULES -I. 
-fPIC -I/tmp/nix-build-clisp-2.49.drv-0/clisp-2.49/src/"; \
  ln libgnu.a ../libgnu_sc.a
  
[ SNIP ]

ln: failed to create hard link '../libgnu_sc.a': File exists
Makefile:51: recipe for target 'gllib' failed
make[1]: *** [gllib] Error 1
make[1]: Leaving directory 
'/tmp/nix-build-clisp-2.49.drv-0/clisp-2.49/src/syscalls'
Makefile:2282: recipe for target 'base' failed
make: *** [base] Error 1

--- END SNIP ---

This looks like several Makefiles want to ensure the existence of
libgnu_sc.a, and they all start doing it together when called in
parallel.

> Do not begin with "A"; `guix lint` will complain about that.  Perhaps
> just "Common Lisp implementation".

Actually 'guix lint' recommended "A Common Lisp implementation", which
is also what GCL in the same file uses. :-)

Maybe lint needs to be fixed then.  I went with "Common Lisp
implementation" as you suggested, assuming it's fine that it's more or
less the same with GCL.

> I think in this case the gpl3+ might "win out", but I'll let others
> comment on that.

Done, taking Mark's comment into account.


I pushed the patch already to save a round-trip, assuming that my
decisions above are correct re. race condition comment and synopsis.
Tell me if I did wrong.

Thanks for the review,
Taylan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]