Hi, Thomas!

Thomas Schwinge <tschwi...@baylibre.com> skribis:

>>     $ guix install -p bi 
>> /gnu/store/lahbqdidl3ynasd0vzxz2i0dmgh0v16i-gcc-toolchain-4.8.5
>>     [...]
>>
>> ..., where '/gnu/store/[...]-gcc-toolchain-4.8.5' is the main ("out")
>> output, which should -- per my understanding -- correspond to directly
>> 'guix install'ing:
>>
>>     $ guix install -p i gcc-toolchain@4.8.5
>>     [...]
>>
>> But now compare the two installations:
>>
>>     $ diff -ru bi/ i/

[...]

>>     --- bi/manifest 1970-01-01 01:00:01.000000000 +0100
>>     +++ i/manifest  1970-01-01 01:00:01.000000000 +0100
>>     @@ -9,4 +9,40 @@
>>          (("gcc-toolchain"
>>            "4.8.5"
>>            "out"
>>     -      
>> "/gnu/store/lahbqdidl3ynasd0vzxz2i0dmgh0v16i-gcc-toolchain-4.8.5"))))
>>     +      "/gnu/store/lahbqdidl3ynasd0vzxz2i0dmgh0v16i-gcc-toolchain-4.8.5"
>>     +      (search-paths
>>     +        (("C_INCLUDE_PATH" ("include") ":" directory #f)
>>     +         ("CPLUS_INCLUDE_PATH"
>>     +          ("include/c++" "include")
>>     +          ":"
>>     +          directory
>>     +          #f)

[...]

>> This means that the 'bi' installation isn't usable.

This may sound surprising but it’s expected.

The reason is that when you run:

  guix install gcc-toolchain

‘gcc-toolchain’ is a live package with metadata that Guix uses when it
builds the profile, in particular data about search paths.

However, when you run:

  guix package -i /gnu/store/…

then all Guix sees is an inert store item with no associated metadata.
This is why it ends up creating a profile without search path info.

This is one of the reasons why I would recommend against that second
method.  It might be useful as a last resort but should be avoided as
much as possible.

(For development, I’d also recommend ‘guix shell’ over ‘guix install’!)

HTH,
Ludo’.

Reply via email to