unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#27389] [PATCH] doc: Explain how to use the GCC toolchain.
@ 2017-06-16  7:56 Ricardo Wurmus
  2017-06-16 12:55 ` Ludovic Courtès
  2017-06-16 13:00 ` [bug#27389] " Alex Kost
  0 siblings, 2 replies; 5+ messages in thread
From: Ricardo Wurmus @ 2017-06-16  7:56 UTC (permalink / raw)
  To: 27389; +Cc: Ricardo Wurmus

* doc/guix.texi (Application Setup): Add subsection "The GCC toolchain".
---
 doc/guix.texi | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index 97fa1b786..b9912a440 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -1441,6 +1441,30 @@ some reason, you want to avoid auto-loading Emacs packages installed
 with Guix, you can do so by running Emacs with @code{--no-site-file}
 option (@pxref{Init File,,, emacs, The GNU Emacs Manual}).
 
+@subsection The GCC toolchain
+
+@cindex GCC
+@cindex ld-wrapper
+
+Guix offers individual compiler packages such as @code{gcc} but if you
+are in need of a complete toolchain for compiling and linking source
+code what you really want is the @code{gcc-toolchain} package.  This
+package provides a complete GCC toolchain for C/C++ development,
+including GCC itself, the GNU C library (headers and binaries, plus
+debugging symbols in the 'debug' output), Binutils, and a linker
+wrapper.
+
+@cindex attempt to use impure library, error message
+
+The wrapper's purpose is to inspect the @code{-L} and @code{-l} switches
+passed to the linker, add corresponding @code{-rpath} arguments, and
+invoke the actual linker with this new set of arguments.  By default the
+linker wrapper refuses to link to libraries outside the Guix store to
+ensure purity.  This can be annoying when using the toolchain to link
+with local libraries.  To allow references to libraries outside the
+store you need to define the environment variable
+@code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES}.
+
 @c TODO What else?
 
 @c *********************************************************************
-- 
2.12.2

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [bug#27389] [PATCH] doc: Explain how to use the GCC toolchain.
  2017-06-16  7:56 [bug#27389] [PATCH] doc: Explain how to use the GCC toolchain Ricardo Wurmus
@ 2017-06-16 12:55 ` Ludovic Courtès
  2017-06-16 16:48   ` bug#27389: " Ricardo Wurmus
  2017-06-16 13:00 ` [bug#27389] " Alex Kost
  1 sibling, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2017-06-16 12:55 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 27389

Ricardo Wurmus <rekado@elephly.net> skribis:

> * doc/guix.texi (Application Setup): Add subsection "The GCC toolchain".

[...]

> +Guix offers individual compiler packages such as @code{gcc} but if you
> +are in need of a complete toolchain for compiling and linking source
> +code what you really want is the @code{gcc-toolchain} package.  This
> +package provides a complete GCC toolchain for C/C++ development,
> +including GCC itself, the GNU C library (headers and binaries, plus

s/library/Library/

> +debugging symbols in the 'debug' output), Binutils, and a linker

s/'debug'/@code{debug}/

> +The wrapper's purpose is to inspect the @code{-L} and @code{-l} switches
> +passed to the linker, add corresponding @code{-rpath} arguments, and
> +invoke the actual linker with this new set of arguments.  By default the
> +linker wrapper refuses to link to libraries outside the Guix store to

s/Guix store/store/

> +ensure purity.  This can be annoying when using the toolchain to link

s/purity/``purity''/

I’m nitpicking but I think it’s great to add this section.  Thank you!

Ludo’.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#27389] [PATCH] doc: Explain how to use the GCC toolchain.
  2017-06-16  7:56 [bug#27389] [PATCH] doc: Explain how to use the GCC toolchain Ricardo Wurmus
  2017-06-16 12:55 ` Ludovic Courtès
@ 2017-06-16 13:00 ` Alex Kost
  2017-06-16 16:47   ` Ricardo Wurmus
  1 sibling, 1 reply; 5+ messages in thread
From: Alex Kost @ 2017-06-16 13:00 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 27389

Ricardo Wurmus (2017-06-16 09:56 +0200) wrote:

> * doc/guix.texi (Application Setup): Add subsection "The GCC toolchain".
> ---
>  doc/guix.texi | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
>
> diff --git a/doc/guix.texi b/doc/guix.texi
> index 97fa1b786..b9912a440 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -1441,6 +1441,30 @@ some reason, you want to avoid auto-loading Emacs packages installed
>  with Guix, you can do so by running Emacs with @code{--no-site-file}
>  option (@pxref{Init File,,, emacs, The GNU Emacs Manual}).
>  
> +@subsection The GCC toolchain
> +
> +@cindex GCC
> +@cindex ld-wrapper
> +
> +Guix offers individual compiler packages such as @code{gcc} but if you
> +are in need of a complete toolchain for compiling and linking source
> +code what you really want is the @code{gcc-toolchain} package.  This
> +package provides a complete GCC toolchain for C/C++ development,
> +including GCC itself, the GNU C library (headers and binaries, plus
> +debugging symbols in the 'debug' output), Binutils, and a linker
> +wrapper.
> +
> +@cindex attempt to use impure library, error message
> +
> +The wrapper's purpose is to inspect the @code{-L} and @code{-l} switches
> +passed to the linker, add corresponding @code{-rpath} arguments, and
> +invoke the actual linker with this new set of arguments.  By default the
                                                                       ^
Shouldn't there be a comma after "By default"?  Although, I see the
absence/presence of commas in such cases is inconsistent in
"guix.texi" anyway :-(

> +linker wrapper refuses to link to libraries outside the Guix store to
> +ensure purity.  This can be annoying when using the toolchain to link
> +with local libraries.  To allow references to libraries outside the
> +store you need to define the environment variable
> +@code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES}.

Great explanation!

-- 
Alex

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#27389] [PATCH] doc: Explain how to use the GCC toolchain.
  2017-06-16 13:00 ` [bug#27389] " Alex Kost
@ 2017-06-16 16:47   ` Ricardo Wurmus
  0 siblings, 0 replies; 5+ messages in thread
From: Ricardo Wurmus @ 2017-06-16 16:47 UTC (permalink / raw)
  To: Alex Kost; +Cc: 27389


Alex Kost <alezost@gmail.com> writes:

>> +
>> +The wrapper's purpose is to inspect the @code{-L} and @code{-l} switches
>> +passed to the linker, add corresponding @code{-rpath} arguments, and
>> +invoke the actual linker with this new set of arguments.  By default the
>                                                                        ^
> Shouldn't there be a comma after "By default"?  Although, I see the
> absence/presence of commas in such cases is inconsistent in
> "guix.texi" anyway :-(

Thanks, I’ve added the comma.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#27389: [PATCH] doc: Explain how to use the GCC toolchain.
  2017-06-16 12:55 ` Ludovic Courtès
@ 2017-06-16 16:48   ` Ricardo Wurmus
  0 siblings, 0 replies; 5+ messages in thread
From: Ricardo Wurmus @ 2017-06-16 16:48 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 27389-done


Ludovic Courtès <ludo@gnu.org> writes:

> I’m nitpicking but I think it’s great to add this section.  Thank you!

Thanks for the suggestions.  I’ve pushed the patch as 2f0c4b828 after
making the requested changes.

-- 
Ricardo
  
  GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
  https://elephly.net

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-06-16 16:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-16  7:56 [bug#27389] [PATCH] doc: Explain how to use the GCC toolchain Ricardo Wurmus
2017-06-16 12:55 ` Ludovic Courtès
2017-06-16 16:48   ` bug#27389: " Ricardo Wurmus
2017-06-16 13:00 ` [bug#27389] " Alex Kost
2017-06-16 16:47   ` Ricardo Wurmus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).