From mboxrd@z Thu Jan 1 00:00:00 1970 From: taylanbayirli@gmail.com (Taylan Ulrich =?utf-8?Q?Bay=C4=B1rl=C4=B1?= =?utf-8?Q?=2FKammer?=) Subject: Re: gnu: Add CLISP. Date: Fri, 13 Feb 2015 11:33:18 +0100 Message-ID: <87h9uqdrtd.fsf@taylan.uni.cx> References: <87lhk2eloq.fsf@taylan.uni.cx> <20150212212052.687467f1@PocketWee> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34547) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMDYp-0002AS-Ja for guix-devel@gnu.org; Fri, 13 Feb 2015 05:33:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YMDYo-0001c6-Ee for guix-devel@gnu.org; Fri, 13 Feb 2015 05:33:23 -0500 Received: from mail-wi0-x232.google.com ([2a00:1450:400c:c05::232]:51508) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMDYo-0001by-8P for guix-devel@gnu.org; Fri, 13 Feb 2015 05:33:22 -0500 Received: by mail-wi0-f178.google.com with SMTP id em10so10979121wid.5 for ; Fri, 13 Feb 2015 02:33:21 -0800 (PST) In-Reply-To: <20150212212052.687467f1@PocketWee> (Eric Bavier's message of "Thu, 12 Feb 2015 21:20:52 -0600") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Eric Bavier Cc: guix-devel@gnu.org Eric Bavier 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