Re: `guix install protobuf:static` headers?

2019-11-15 Thread Marius Bakke
zimoun  writes:

> However, is it expected that LIBRARY_PATH is not set?
>
> --8<---cut here---start->8---
>  $ cat /tmp/proto/etc/profile
> # Source this file to define all the relevant environment variables in Bash
> # for this profile.  You may want to define the 'GUIX_PROFILE' environment
> # variable to point to the "visible" name of the profile, like this:
> #
> #  GUIX_PROFILE=/path/to/profile ; \
> #  source /path/to/profile/etc/profile
> #
> # When GUIX_PROFILE is undefined, the various environment variables refer
> # to this specific profile generation.
>
> export 
> PATH="${GUIX_PROFILE:-/gnu/store/m26p44mxy4k79gzy18nq2nivygrdmkm5-profile}/bin${PATH:+:}$PATH"
> --8<---cut here---end--->8---

LIBRARY_PATH is only set if you include 'gcc' or 'gcc-toolchain' in the
profile, and is generally only needed if you want to compile something.

>> I think there were proposals to start using a 'dev' output for headers
>> and such, but don't know if it got anywhere.
>
> Moreover, the static libraries are also installed with simply
> "protobuf@2.6.0:out".

I can't find a protobuf@2.6.0 package, but at least for 2.6.1 there are
no .a files in the default output.

> I have tried to adapt the definition of protobuf adding a "lib" flag.
> But it fails with "cycle detected in the references of". Roptat
> explained on IRC how to track the issue and before investigating some
> time, I would like to be sure to well understand. :-)

The cyclic reference means something in the lib output references "out".
To find out which, try grepping for the store hash of the "out" output.

HTH,
Marius


signature.asc
Description: PGP signature


Re: gfortran seems to require gcc-toolchain

2019-11-15 Thread Marius Bakke
Konrad Hinsen  writes:

> Hi Marius,
>
>> 'as' is part of Binutils, you don't need the entire toolchain.
>>
>> That said, there are various other workarounds in Guix due to GCC
>> (and apparently gfortran) lacking an absolute reference to 'as'.
>>
>> Can you try the following patch and see if it works for your case?
>
> Thanks for looking into this!
>
> With your patch, I can compile Fortran programs in an environment
> containing nothing but "gfortran", so I'd say it works!

On second though, the patch increases the size of 'gcc' from 238.0 MiB
to 291.5 MiB.  It may also make it difficult to use a different 'as'
executable.

So I'm not sure whether the added convenience is worth it.

Thoughts?


signature.asc
Description: PGP signature


Re: Installing Guix System on an external hard drive

2019-11-15 Thread Jan
On Fri, 15 Nov 2019 15:49:23 +0100
Marius Bakke  wrote:

> Did you get the same error when you mounted at /boot/efi?
Yes.

> If you want the USB drive to be 'portable', i.e. not tied to a single
> system, you can not use 'grub-efi-bootloader'.  The reason is that
> grub-efi relies on updating UEFI firmware variables *on the running
> system*, to make the newly installed bootloader show up in the UEFI
> boot menu.
> 
> For the same reason, it is not possible to use it on a non-UEFI
> system.
> 
> It would be good to have a 'grub-standalone-bootloader' procedure that
> would write a self-contained UEFI firmware executable to a standard
> location, similar to what Guix does for disk images:
> 
> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/build/vm.scm?id=4dcf32b56b824efcdb181c9f4cc7ee6c8a0ba125#n399
> 
> Would you like to try implementing it?

Well, I could try as a Scheme learning exercise, but it would take me
some time, because I'm a fresh Guile coder and the only thing I know
about UEFI is that it has a buggy implementation on my motherboard and
GRUB goes to hell :)
Any hint where could I start?


Jan Wielkiewicz



Re: Installing Guix System on an external hard drive

2019-11-15 Thread Marius Bakke
Jan  writes:

> Tried this, but didn't work, also tried mounting the partition at
> "/boot/efi" and installing bootloader at "/boot". I'm installing Guix
> form a not-UEFI machine, could this cause the problem?

Did you get the same error when you mounted at /boot/efi?

If you want the USB drive to be 'portable', i.e. not tied to a single
system, you can not use 'grub-efi-bootloader'.  The reason is that
grub-efi relies on updating UEFI firmware variables *on the running
system*, to make the newly installed bootloader show up in the UEFI boot
menu.

For the same reason, it is not possible to use it on a non-UEFI system.

It would be good to have a 'grub-standalone-bootloader' procedure that
would write a self-contained UEFI firmware executable to a standard
location, similar to what Guix does for disk images:

https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/build/vm.scm?id=4dcf32b56b824efcdb181c9f4cc7ee6c8a0ba125#n399

Would you like to try implementing it?


signature.asc
Description: PGP signature