On Mon, 06 Mar 2017 17:04:18 +0100 ludo@gnu.org (Ludovic Courtès) wrote: > Sergei Trofimovich skribis: > > >> Question time: > >> > >> - Is there a way to run 'guix environment --target=' in the same way as 'guix build --target=' > >> sets it up? I'd like to see how both compilers are supposed to be present in there. > >> > >> - Why default g++ in PATH is the host g++ and not target g++? > >> Target seems to make most sense if no explicit compiler is specified. > >> > >> - How to actually set CXX to point to target g++? > >> It looks like implicitly there already both host (through native-inputs) > >> and target (through build-inputs) compilers available. > >> I would expect something like > >> #:make-flags (list (string-append "CXX=" <.?.>)) > >> What should be in place of that "<.?.>" to refer to target g++? > > > > I think I've found a workaround at least for my third question. > > > > Both host and target compilers are available as g++ and ${target}-g++. > > > > Thus the following workaround seems to work: > > > > diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm > > index f04cba706..a8fa689ab 100644 > > --- a/gnu/packages/regex.scm > > +++ b/gnu/packages/regex.scm > > @@ -20,11 +20,13 @@ > > > > (define-module (gnu packages regex) > > #:use-module ((guix licenses) #:prefix license:) > > #:use-module (guix packages) > > #:use-module (guix download) > > - #:use-module (guix build-system gnu)) > > + #:use-module (guix build-system gnu) > > + #:use-module (guix utils) ; for %current-target-system > > + ) > > > > (define-public re2 > > (package > > (name "re2") > > (version "2017-01-01") > > @@ -40,11 +42,15 @@ > > "0yij1ajh66h3pj3kfz7y0ldrsww8rlpjzaavyr5lchl98as1jq74")))) > > (build-system gnu-build-system) > > (arguments > > `(#:test-target "test" > > ;; There is no configure step, but the Makefile respects a prefix. > > - #:make-flags (list (string-append "prefix=" %output)) > > + #:make-flags (list (string-append "prefix=" %output) > > + (string-append "CXX=" ,(string-append (if (%current-target-system) > > + (string-append (%current-target-system) "-") > > + "") > > + "g++"))) > > As John wrote, this is the right fix for this package. Aha! > If you can send it with ‘git send-email’ (see > ), Sent as: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=26004 About the 'guix environment --target=' / 'guix build --target=' part or question: Would it make sense to have '--target=' support in 'guix environment' tool or is it too tricky? Thanks! -- Sergei