From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: GFortran =?utf-8?Q?can=E2=80=99t?= find system headers Date: Tue, 15 Oct 2013 22:17:53 +0200 Message-ID: <87hacijnke.fsf@gnu.org> References: <87wqlfutme.fsf@karetnikov.org> 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]:38509) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWB8w-0000i0-72 for guix-devel@gnu.org; Tue, 15 Oct 2013 16:23:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VWB8q-00032W-HH for guix-devel@gnu.org; Tue, 15 Oct 2013 16:23:02 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:41772) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWB8q-00032N-C2 for guix-devel@gnu.org; Tue, 15 Oct 2013 16:22:56 -0400 In-Reply-To: <87wqlfutme.fsf@karetnikov.org> (Nikita Karetnikov's message of "Tue, 15 Oct 2013 06:59:21 +0400") 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: Nikita Karetnikov Cc: guix-devel@gnu.org Nikita Karetnikov skribis: > I=E2=80=99m trying to package APL, which requires LAPACK, which requires > Fortran. Cool. > Here=E2=80=99s my attempt to add the last one: > > (define-public gfortran-4.8 > (package (inherit gcc-4.8) > (name "gfortran") > (arguments `(#:configure-flags '("--enable-languages=3Dfortran"))))) > > I get the following error while trying to build it: > > The directory that should contain system headers does not exist: > /usr/include Yes, the problem is that the your =E2=80=98arguments=E2=80=99 field above c= ompletely overrides that of =E2=80=98gcc-4.8=E2=80=99. Instead, what should do is preserve the arguments; the value associated with #:configure-flags should be changed to replace any --enable-languages=3D.* flag with yours. See =E2=80=98gcc-boot0=E2=80=99 i= n base.scm for how to do that. Alternately, you could turn the current =E2=80=98gcc-4.8=E2=80=99 definitio= n into a =E2=80=98make-gcc-4.8=E2=80=99 procedure like this: (define* (make-gcc-4.8 #:key languages) (package ... #:configure-flags ... ,(string-join languages ",") ...)) (define gcc-4.8 (make-gcc-4.8 #:languages '("c" "c++"))) That would probably be easier to work with. HTH, Ludo=E2=80=99.