From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55089) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dXais-00088J-CY for guix-patches@gnu.org; Tue, 18 Jul 2017 18:12:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dXaio-0007iy-Da for guix-patches@gnu.org; Tue, 18 Jul 2017 18:12:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:44311) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dXaio-0007in-9i for guix-patches@gnu.org; Tue, 18 Jul 2017 18:12:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dXaio-0001Qx-1n for guix-patches@gnu.org; Tue, 18 Jul 2017 18:12:02 -0400 Subject: [bug#27628] [PATCH 3/3] gnu: maxima: Ensure gcc and binutils available at runtime. Resent-Message-ID: From: Kei Kebreau References: <20170709011634.12832-1-kei@openmailbox.org> <20170709011634.12832-3-kei@openmailbox.org> <871splg8p8.fsf@gnu.org> <87y3rtnsfg.fsf@openmailbox.org> <87lgnnfpbd.fsf@gnu.org> <87k235zvgr.fsf@openmailbox.org> <87fudtx0dk.fsf@gnu.org> Date: Tue, 18 Jul 2017 18:10:40 -0400 In-Reply-To: <87fudtx0dk.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Tue, 18 Jul 2017 16:53:11 +0200") Message-ID: <87fudtz99b.fsf@openmailbox.org> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 27628@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Kei Kebreau skribis: > >> ludo@gnu.org (Ludovic Court=C3=A8s) writes: >> >>> Hi Kei, >>> >>> Kei Kebreau skribis: >>> >>>> ludo@gnu.org (Ludovic Court=C3=A8s) writes: >>>> >>>>> Kei Kebreau skribis: >>>>> >>>>>> + ;; Ensure that Maxima will have access to GCC and its required >>>>>> + ;; components at runtime. >>>>> >>>>> In fact, if it=E2=80=99s an optional feature, it would be better to t= ake GCC & >>>>> co. from $PATH, because GCC is a huge dependency. (Same for the gcl >>>>> change.) >>>>> >>>>> Thoughts? >>>>> >>>> >>>> I started on this patchset because Guix's Maxima cannot graph function= s. >>>> This feature relies on GCL's 'compile' function. The 'compile' function >>>> seems to be a Common Lisp standard since at least the publication of t= he >>>> CLtL2 standard. Maxima assumes (correctly) that this function is prese= nt >>>> and relies on it for various base functionalities (compiling Maxima ma= th >>>> functions to compiled Lisp functions, graphing, etc.). >>> >>> Good point, =E2=80=98compile=E2=80=99 is standard CL. >>> >>> So yes, that alone is probably a good reason to keep references to GCC >>> and Binutils (maybe add a comment explaining this.) Sorry for holding >>> it back! >>> >>>> I turns out that fixing the underlying issue with GCL removes the need >>>> for GCC's presence at runtime, but binutils is still necessary due to >>>> Maxima using the 'compile' function from GCL directly. This stems from >>>> the GCC package not finding the binutils at runtime, i.e. >>>> >>>> guix environment --pure --ad-hoc gcc -- gcc hello-world.c >>>> >>>> returns >>>> >>>> gcc: error trying to exec 'as': execvp: No such file or directory >>>> >>>> but >>>> >>>> guix environment --pure --ad-hoc gcc -- gcc -S hello-world.c >>> >>> You would need =E2=80=98gcc-toolchain=E2=80=99 rather than =E2=80=98gcc= =E2=80=99 here. >>> >>> Thank you, >>> Ludo=E2=80=99. >> >> Is gcc-toolchain a package one can use as an input? lisp.scm fails to >> load properly when I use the commencement.scm module. Could this be due >> to the circular dependency problem mentioned in the "Commentary" section >> of commencement.scm? > > Yeah, rather use gcc/ld-wrapper/glibc as inputs to avoid this problem. > =E2=80=98gcc-toolchain=E2=80=99 is rather for users. When I do this, GCL still gives me the "gcc: error trying to exec 'as': execvp: No such file or directory" error if I don't wrap the binary with the binutils $PATH. The same has to be done for Maxima. I'm trying to find a way to package GCL in such a way that either (1) wrapping the GCL binary is unnecessary or (2) wrapping the GCL binary and *only* the GCL binary is necessary for the 'compile' function to work. > > Thanks, > LUdo=E2=80=99. P.S. Sorry for dragging this out for so long. I'm just trying to understand how I can minimize the package size of GCL-dependent packages. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEg7ZwOtzKO2lLzi2m5qXuPBlGeg0FAlluh2AACgkQ5qXuPBlG eg2zvA/8DBga5fFk69gUSnfNPIL5UxUYD+bP9c4Y1JQSh2OotsIlMhYvBiGUSVas W8762GJebsj3C+UwNI6Wlbx+Ne78nFCnyPoTpW6Vdgxkhtat+oFFVhBtbbffGOnC TdR21qw8R0OnHNTuGZCNmUgB9wYDFsVGDMQoqqyPdEDqIwbFpNgdn3/1VD2+nE9/ ebnnIDi1XUsvN5Zmbud7bpkU8/cnTLsL/vMfB4n9eFjOk/Feo1UvGQDQjEdYnXvM QK7PiZYlHlh8XnjQoCpq1laECnIF/o0gVjQqmSyp7nM9Pf/CdX4rZdVxN3oIvKU0 +rwAaaeSOAIBSYUvdCItcC88erCfVWIeLCXDm8lcGQgDaw+CAJp49W3f25bOq3V8 1E5F78J4XijnvuOAerQpNluTfFwyVRXwR+X0nRMcGVmiZ7eJ/bw2ZgJUjgYp2Zvk 01ZUMs6I74piuKCCiu/YCc5sk+eXNpBH87dJ4XD8mqRqeT3kN08gTYYJq8xj0SPm N1Q4bpWjlFWGkhxUaY/E4L74CPkByin1Qd+kTxYLxjiuCx6Dd7Hx5HdsOHpIheV5 xrPIJ3LeO65zGp47PvdSIjivYSzYnrY/BotwGZ/FoL+HgyyK88HsORj7AptgrNcd RRKMEodqbTkr8Tv/aVVj4iMnYa3x56yeSevOZnbfZSa9dfkxdQI= =5B8N -----END PGP SIGNATURE----- --=-=-=--