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’.