Subject: Re: bug#33153: guix environment icedtea
From: Björn Höfling <[email-masked]>
To: Nam Nguyen <[email-masked]>
Cc: [email-masked]
Date: Thu, 25 Oct 2018 21:07:26 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

On Thu, 25 Oct 2018 10:25:01 -0700
Nam Nguyen <[email-masked]> wrote:

> I want to use guix environment with [email-masked]:jdk.
> --8<---------------cut here---------------start------------->8---
> user@antelope ~$ guix environment [email-masked]:jdk
> user@antelope ~ [env]$ java -version
> java version "1.7.0_171"
> OpenJDK Runtime Environment (IcedTea 2.6.13) (linux-gnu build
> 1.7.0_171-b02) OpenJDK 64-Bit Server VM (build 24.171-b02, mixed mode)
> --8<---------------cut here---------------end--------------->8---
> 
> When I installed to my user profile, I was able to get the desired
> icedtea version.
> --8<---------------cut here---------------start------------->8---
> user@antelope ~$ guix package -i [email-masked]:jdk
> user@antelope ~$ java -version
> openjdk version "1.8.0_161"
> OpenJDK Runtime Environment (IcedTea 3.7.0) (guix build 1.8.0_161-b12)
> OpenJDK 64-Bit Server VM (build 25.161-b12, mixed mode)
> --8<---------------cut here---------------end--------------->8---
> 
> Is guix environment installing an incorrect version of icedtea?

Hi Nam,

read the docs :-)

guix environment PACKAGE

is setting up an environment FOR developing PACKAGE, i.e. all its
dependencies/compilers are added to the environment.

If you want to have a package directly IN the environment, use the
--ad-hoc switch:

guix environment --ad-hoc PACKAGE

You can even combine both, for example to add more tools:

guix environment --pure guix --ad-hoc git

That would create a pure environment where the git command is
available and all tools to develop guix. The guix command is not in
here!

In your case, IcedTea 2 is used to develop IcedTea 3, that's the reason
why you found that in your environment.

Finally, you can add a "-- command" to the environment to execute a
command, so this should tell you the right version and afterwards
automatically exit the environment(-C == --container, to be absolutely
sure):

$ guix environment -C --ad-hoc [email-masked]:jdk -- javac -version
javac 1.8.0_161

I'm closing that bug,

Björn