From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH] gnu: glibc-hurd: Force mach/hurd/libpthread subdirs to build first. Date: Mon, 14 Nov 2016 14:05:05 +0100 Message-ID: <87r36e8b5q.fsf@gnu.org> References: <20161113131946.4185-1-manolis837@gmail.com> <20161113131946.4185-2-manolis837@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:52429) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c6Gwj-0008Kk-DK for guix-devel@gnu.org; Mon, 14 Nov 2016 08:05:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c6Gwd-0004B5-Sq for guix-devel@gnu.org; Mon, 14 Nov 2016 08:05:13 -0500 In-Reply-To: <20161113131946.4185-2-manolis837@gmail.com> (manolis's message of "Sun, 13 Nov 2016 15:19:46 +0200") 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" To: manolis837@gmail.com Cc: guix-devel@gnu.org manolis837@gmail.com skribis: > From: Manolis Ragkousis > > * gnu/packages/base.scm (glibc/hurd): Avoid linking errors by forcing > mach/hurd/libpthread glibc subdirs to build before anything else. Rather: * gnu/packages/base.scm (glibc/hurd)[arguments]: Replace 'build' phase. The comment in there is what explains the details. > + (alist-replace > + 'build > + (lambda _ > + ;; Force mach/hurd/libpthread subdirs to build first in or= der to avoid > + ;; linking errors. If there=E2=80=99s a link to a bug-hurd discussion, you can add it here, in= case someone wants to see the details at a later point in time. > + (zero? > + (and (system* "make" "mach/subdir_lib") > + (system* "make" "hurd/subdir_lib") > + (system* "make" "libpthread/subdir_lib") > + (system* "make")))) The =E2=80=98zero?=E2=80=99 call is misplaced. Also, I=E2=80=99d suggest enabling parallel builds, so something like this: (let ((-j (list "-j" (number->string (parallel-job-count))))) (let-syntax ((make (syntax-rules () ((_ target) (zero? (apply system* "make" target -j)))))) (and (make "mach/subdir_lib") (make "hurd/subdir_lib") (make "libpthread/subdir_lib") (zero? (apply system* "make" -j))))) OK with changes along these lines. Thank you! Ludo=E2=80=99.