bug#68764: ASDF can't load sbcl-clx-truetype installed through Guix

2024-03-05 Thread Lars Rustand


Guillaume Le Vaillant  writes:

> rustand.l...@gmail.com skribis:
>
>> I ran the exact same command as you, and still get the error inside the
>> pure shell. Also, I don't think this has anything to do with a specific
>> Guix commit, since this has been like this for several months. In fact
>> it has never worked for me at all. I did a pull again now, so should be
>> on the latest commit, but the error is still present. I am currently on
>> dc8aa52.
>>
>> I even tried running it in a container, and the error is there also, so
>> this cannot be because of something else in my system, right?

I had forgot about this thread, but randomly saw it mentioned on IRC
today. The problem in my case was that I had some packages in
~/common-lisp. Since I was running the container from my home folder
this was still visible inside the container even though it was --pure.
After deleting the ~/common-lisp folder I was able to load the package
without any issue, both inside a container/shell and directly on my
system also.





bug#68595: VLANs in static-networking-service-type hangs shepherd

2024-02-15 Thread Lars Rustand


Ludovic Courtès  writes:

> Ouch.  Could you check what /var/log/messages reports?
>
> Once you’ve reproduced the hang, could you attach GDB to shepherd and
> get a backtrace?
>
>   gdb -p 1
>   bt
>
> (I recommend doing that in a VM rather than on your main machine!)
>

I have unfortunately been unable to reproduce the full shepherd hang,
even though I have followed the exact same procedure as before. I still
experience that the command `herd restart networking` hangs indefinitely
the first time after adding a VLAN, but now this has not triggered the
whole shepherd to hang afterwards anymore.

The basic error 17 still comes any time I try to start networking
service while having a VLAN configured.


>
> You mentioned in your other message that the example from the manual
> works fine.  Could you try and reduce your config until you find which
> bit makes it fail?

The configuration I have already attached is as minimal as it is
possible. It only includes the mandatory OS fields and a minimal
static-networking-configuration.

I have already found which bit makes it fail. It is the use of VLAN for
any normal network link. VLANs seem to only work for bond devices as in
the example.

The reproduction steps are maybe a little over-complicated however, and
are only necessary in order to reproduce the full "shepherd hangs" bug,
which I now am unable to reproduce anyway. But what I believe is the
root of the problem is the error 17 on starting the networking
service. This can be reproduced much more simply and reliably by just
starting a VM the normal way with the static-networking snippet already
enabled when building it.

So here are the new simplified reproduction steps for reproducing only
the error 17 and unfunctional VLAN networking:

Use the OS config from my first post, but uncomment the static
networking block. Build and run the VM with `$(guix system vm minimal.scm)`.

That's it.

> Cc’ing Alexey and Julien who may know more.
>
> Thanks,
> Ludo’.



Alexey Abramov  writes:

> Hi Lars,
>
> I see, Could you please, replace the device name to "myvlan" and not
> "myvlan@eth0" in the network-address.
>
> Even though ip link (iproute2) shows you 'myvlan@eth0' this is not an
> actual name of the interfaces.
>

I have tried with your suggestion, but everything behaves exactly the same.





bug#68764: ASDF can't load sbcl-clx-truetype installed through Guix

2024-01-27 Thread Lars Rustand


Trying to load clx-truetype with ASDF in SBCL fails because of read-only
filesystem. This is caused by the store being read-only and ASDF is
trying to save the compiled file there. I read somewhere that Guix
already supplies precompiled files for all Common Lisp libraries, so
ASDF should just be able to load this one instead of compiling it, but
this doesn't seem to work in this case.

I'm able to load other packages just fine, like sbcl-slynk and
sbcl-alexandria. Using cl-clx-truetype instead of sbcl-clx-truetype also
works fine, even though this one obviously also needs compilation.

I'm not sure what the exact cause is, but it seems that there are at
least two things wrong.
1. ASDF/SBCL doesn't find the precompiled file(s) for clx-truetype.
2. The path to where the compiled files are saved is wrong.


Steps to reproduce:
1. Install sbcl and sbcl-clx-truetype
2. Run `sbcl --eval '(require :asdf)' --eval '(asdf:load-system :clx-truetype)'`
2a. Or start sbcl and manually run the commands


--8<---cut here---start->8---
This is SBCL 2.4.0, an implementation of ANSI Common Lisp.
More information about SBCL is available at .

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
WARNING: System definition file 
#P"/gnu/store/qwb8qyjn615icrgxkjwqjwlwkwzxcc7y-sbcl-clx-truetype-0.0.1-1.c6e10a9/share/common-lisp/sbcl/clx-truetype/clx-truetype.asd"
 contains definition for system "clx-truetype-test". Please only define 
"clx-truetype" and secondary systems with a name starting with "clx-truetype/" 
(e.g. "clx-truetype/test") in that file.
WARNING: System definition file 
#P"/gnu/store/bqfsbh15lpnf9i9f5qf6ya6yhcdk8nw3-sbcl-cl-store-0.8.11-1.c787337/share/common-lisp/sbcl/cl-store/cl-store.asd"
 contains definition for system "cl-store-tests". Please only define "cl-store" 
and secondary systems with a name starting with "cl-store/" (e.g. 
"cl-store/test") in that file.
WARNING: redefining ZPB-TTF::LOCATION in DEFGENERIC

debugger invoked on a SB-INT:SIMPLE-FILE-ERROR in thread
#:
  Error opening 
#P"/gnu/store/qwb8qyjn615icrgxkjwqjwlwkwzxcc7y-sbcl-clx-truetype-0.0.1-1.c6e10a9/lib/common-lisp/sbcl/clx-truetype/package-tmpGHU3ALSV.fasl":

Read-only file system

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE ] Retry opening.
  1: [USE-VALUE] Try opening a different file.
  2: [RETRY] Retry
 compiling #.
  3: [ACCEPT   ] Continue, treating
 compiling #
 as having been successful.
  4: Retry ASDF operation.
  5: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
 configuration.
  6: Retry ASDF operation.
  7: Retry ASDF operation after resetting the
 configuration.
  8: Ignore runtime option --eval 
"(asdf:load-system :clx-truetype)".
  9: [ABORT] Skip rest of --eval and --load options.
 10: Skip to toplevel READ/EVAL/PRINT loop.
 11: [EXIT ] Exit SBCL (calling #'EXIT, killing the 
process).

(SB-IMPL::%OPEN-ERROR 
#P"/gnu/store/qwb8qyjn615icrgxkjwqjwlwkwzxcc7y-sbcl-clx-truetype-0.0.1-1.c6e10a9/lib/common-lisp/sbcl/clx-truetype/package-tmpGHU3ALSV.fasl"
 30 NIL :CREATE)
0]
;
; compilation unit aborted
;   caught 1 fatal ERROR condition
* %
--8<---cut here---end--->8---





bug#68626: colord-minimal fails to build for target aarch64-linux-gnu

2024-01-20 Thread Lars Rustand
I was trying to build gtk+ like this:

```
guix build gtk+ --target=aarch64-linux-gnu --no-grafts
```

and got the following error:

--8<---cut here---start->8---
Configuring cd-version.h using configuration
Run-time dependency gobject-introspection-1.0 found: YES 1.72.0
Did not find pkg-config by name 'pkg-config'
Found Pkg-config: NO
Did not find CMake 'cmake'
Found CMake: NO
Build-time dependency gobject-introspection-1.0 found: NO (tried pkgconfig and 
cmake)
Program g-ir-scanner found: NO

../colord-1.4.6/lib/colord/meson.build:150:28: ERROR: Program 'g-ir-scanner' 
not found or not executable

A full log can be found at 
/tmp/guix-build-colord-minimal-1.4.6.drv-0/build/meson-logs/meson-log.txt
error: in phase 'configure': uncaught exception:
%exception #< program: "meson" arguments: ("setup" 
"--prefix=/gnu/store/ad8yj1448jvibzr6b0x0gpnyn69vq5fc-colord-minimal-1.4.6" 
"--buildtype=debugoptimized" 
"-Dc_link_args=-Wl,-rpath=/gnu/store/ad8yj1448jvibzr6b0x0gpnyn69vq5fc-colord-minimal-1.4.6/lib"
 
"-Dcpp_link_args=-Wl,-rpath=/gnu/store/ad8yj1448jvibzr6b0x0gpnyn69vq5fc-colord-minimal-1.4.6/lib"
 "--cross-file" "/gnu/store/24v58cicnclnpwwv42pcpc9z53x1938k-cross-file" 
"-Dargyllcms_sensor=false" "-Dbash_completion=false" "-Ddaemon_user=colord" 
"-Ddocs=false" "-Dlocalstatedir=/var" "-Dman=false" "-Dsystemd=false" 
"/tmp/guix-build-colord-minimal-1.4.6.drv-0/colord-1.4.6") exit-status: 1 
term-signal: #f stop-signal: #f>
phase `configure' failed after 1.3 seconds
command "meson" "setup" 
"--prefix=/gnu/store/ad8yj1448jvibzr6b0x0gpnyn69vq5fc-colord-minimal-1.4.6" 
"--buildtype=debugoptimized" 
"-Dc_link_args=-Wl,-rpath=/gnu/store/ad8yj1448jvibzr6b0x0gpnyn69vq5fc-colord-minimal-1.4.6/lib"
 
"-Dcpp_link_args=-Wl,-rpath=/gnu/store/ad8yj1448jvibzr6b0x0gpnyn69vq5fc-colord-minimal-1.4.6/lib"
 "--cross-file" "/gnu/store/24v58cicnclnpwwv42pcpc9z53x1938k-cross-file" 
"-Dargyllcms_sensor=false" "-Dbash_completion=false" "-Ddaemon_user=colord" 
"-Ddocs=false" "-Dlocalstatedir=/var" "-Dman=false" "-Dsystemd=false" 
"/tmp/guix-build-colord-minimal-1.4.6.drv-0/colord-1.4.6" failed with status 1
builder for 
`/gnu/store/b5af25h1p5f12h3sbsp2jz4daajl6135-colord-minimal-1.4.6.drv' failed 
with exit code 1
--8<---cut here---end--->8---





bug#68595: VLANs in static-networking-service-type hangs shepherd

2024-01-19 Thread Lars Rustand


For fun I tried to use the exact configuration that is mentioned in the
manual and was amazed that it worked, and the networking service is able
to start successfully. Here is the working configuration:

--8<---cut here---start->8---
(static-networking
 (links (list (network-link
   (name "bond0")
   (type 'bond)
   (arguments '((mode . "802.3ad")
(miimon . 100)
(lacp-active . "on")
(lacp-rate . "fast"

  (network-link
   (mac-address "98:11:22:33:44:55")
   (arguments '((master . "bond0"

  (network-link
   (mac-address "98:11:22:33:44:56")
   (arguments '((master . "bond0"

  (network-link
   (name "bond0.1055")
   (type 'vlan)
   (arguments '((id . 1055)
(link . "bond0"))
 (addresses (list (network-address
   (value "192.168.1.4/24")
--8<---cut here---end--->8---


However, if I simply substitute the bond interface with a real interface
I get back the error described in my previous message. This
configuration fails:

--8<---cut here---start->8---
(static-networking
 (links (list (network-link
   (name "bond0.1055")
   (type 'vlan)
   (arguments '((id . 1055)
(link . "ens3"))
 (addresses (list (network-address
   (value "192.168.1.4/24")
   (device "bond0.1055")
--8<---cut here---end--->8---


So it seems that VLANs do work for bonds, but not for physical network
interfaces. I've done a lot of digging on the internet and cannot find a
single example of anyone using VLANs at all in Guix, so maybe that is
why this problem hasn't been discovered yet.





bug#68595: VLANs in static-networking-service-type hangs shepherd

2024-01-19 Thread Lars Rustand


Like the title says, if you add any VLAN in a
static-networking-service-type it seems like the whole shepherd daemon
freezes up and anything that depends on it stops responding.
Additionally the networking does not get fully configured either.

After configuring a VLAN `herd status`, `herd restart networking` and
any other herd command hangs forever with no output. Even reboot is not
working. The only remedy is to restart the system using the power
button, but even after the restart the networking service still fails to
start.

VLANs are seemingly created, but no addresses are created.

Steps to reproduce:

1. Add a static network with a VLAN to your system config (see below for
minimal example)
2. Reconfigure your system
3. Restart the networking service with `sudo herd restart networking`
4. Observe that herd does not finish
5. Try to run `herd status`, `guix system reconfigure`, or `sudo reboot`.
6. Observe that none of the commands seem to have any effect, and that
they hang indefinitely with no output

--8<---cut here---start->8---
(service static-networking-service-type
  (list (static-networking
 (links
  (list (network-link
 (name "myvlan")
 (type 'vlan)
 (arguments '((id . 3)
  (link . "eth0"))
 (addresses
  (list (network-address
 (device "myvlan@eth0")
 (value "192.168.0.2/24")))
--8<---cut here---end--->8---

Alternatively here are the reproduction steps using VM:

1. Build a qcow2 image, make sure there is enough space to reconfigure
   the system. Use --save-provenance so you have the config inside the
   vm so you can reconfigure later.
   `guix system image --image-type=qcow2 --image-size=30G --save-provenance 
minimal.scm`
2. Copy the qcow image to a writable directory.
3. Start up the vm.
```
sudo qemu-system-x86_64 \
   -nic user,model=virtio-net-pci \
   -enable-kvm -m 2048 \
   -device virtio-blk,drive=myhd \
   -drive
   if=none,file=1a7wi5mgcy3wrsx6pcnag6qjbb87djwl-image.qcow2,id=myhd
```
4. Edit /run/current-system/configuration.scm and uncomment the static
   networking.
5. Reconfigure the system.
6. Try to restart the networking service. `herd restart networking`
7. The command will hang infinitely. Cancel it.
8. Check the network interfaces. The VLAN interface will have been
   created, but it will not have any address.
9. The aforementioned commands will all be unresponsive now.
10. If you reboot your VM you will see that the networking service is
   failed at startup, and if you try to restart the service you will get
   an error: #< errno: 17>

--8<---cut here---start->8---
(use-modules
  (gnu)
  (gnu services)
  (gnu services base)
  (gnu services networking)
  (gnu bootloader)
  (gnu bootloader grub)
  (gnu system)
  (gnu system file-systems)
  (gnu system accounts))

(operating-system
  (host-name "minimal")

  (users
(cons*
  (user-account
(name "lars")
(group "users"))
  %base-user-accounts))

  (services
   (cons*
  (service dhcp-client-service-type)
  ;; Commented out so you can uncomment it after booting the VM
  ;;(service static-networking-service-type
  ;;  (list (static-networking
  ;; (links
  ;;  (list (network-link
  ;; (name "myvlan")
  ;; (type 'vlan)
  ;; (arguments '((id . 3)
  ;;  (link . "eth0"))
  ;; (addresses
  ;;  (list (network-address
  ;; (device "myvlan@eth0")
  ;; (value "192.168.0.2/24")))
%base-services))

   (bootloader
 (bootloader-configuration
   (bootloader grub-bootloader)
   (targets '("/dev/vda"

   (file-systems
(cons*
 %base-file-systems)))
--8<---cut here---end--->8---





bug#68561: Guix wrongfully claims there is no space left

2024-01-19 Thread Lars Rustand


Christopher Baines  writes:
> Check df -i, it could be that some filesystem has run out of inodes.

Thanks, this was the case. To recover a useful amount of inodes I had to
delete almost all previous generations. I first tried to delete
generations older than one month with `guix gc -d 1m`, but this had
little effect. Even doing `guix gc -d 1w` only recovered about 50%
inodes.

This lead me to question what was using so many inodes, and by running
`{ find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n; } 2>/dev/null`
I found out that papirus-icon-theme is using an insane amount of
inodes. The below output shows all the inodes created by *one* profile
generation:

   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/ePapirus/48x48@2x/apps
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/ePapirus/48x48@2x/categories
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/ePapirus/48x48/apps
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/ePapirus/48x48/categories
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/ePapirus/96x96/apps
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/ePapirus-Dark/48x48@2x/apps
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/ePapirus-Dark/48x48@2x/categories
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/ePapirus-Dark/48x48/apps
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/ePapirus-Dark/48x48/categories
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/ePapirus-Dark/96x96/apps
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus/48x48@2x/apps
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus/48x48@2x/categories
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus/48x48/apps
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus/48x48/categories
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus/96x96/apps
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus-Dark/48x48@2x/apps
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus-Dark/48x48@2x/categories
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus-Dark/48x48/apps
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus-Dark/48x48/categories
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus-Dark/96x96/apps
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus-Light/48x48@2x/apps
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus-Light/48x48@2x/categories
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus-Light/48x48/apps
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus-Light/48x48/categories
   8438 
/gnu/store/d8mq08hz1hkjkr4jib5wjhrbmxxqc28s-profile/share/icons/Papirus-Light/96x96/apps

This gives a total of over 210,000 inodes used per profile generation.

I have the Papirus theme installed as part of my home configuration
which is under constant change, so it is often rebuilt many times per
day. I had to use `guix gc -d 1d` to get back a reasonable amount of
inodes.

This package seems to be impossible to keep in any profile that is
regenerated often, which is a shame. I was going to use it as a part of
my "desktop experience", and I really like to have my whole user
environment contained within the home config to make everything as
reproducible and simple to install on other machines as possible. Having
it manually installed in the default profile would stop it from eating
up unnecessary inodes, but at the expense of introducing it as an
external dependency to my home config, which is suboptimal.





bug#68561: Guix wrongfully claims there is no space left

2024-01-18 Thread Lars Rustand


Guix is claiming that there is no space left on the device when none of
my devices are in fact full. As you can see from the output of df -h
there is more than enough space on all filesystems:


Filesystem  Size  Used Avail Use% Mounted on
none7.8G 0  7.8G   0% /dev
/dev/nvme0n1p7  250G  159G   79G  67% /
/dev/nvme0n1p1  2.0G  428K  2.0G   1% /boot/efi
tmpfs   7.8G  281M  7.5G   4% /dev/shm
efivarfs184K  137K   43K  77% /sys/firmware/efi/efivars
none7.8G   24K  7.8G   1% /run/systemd
none7.8G 0  7.8G   0% /run/user
tmpfs   1.6G  8.0K  1.6G   1% /run/user/1000


This is the build output from Guix when trying to reconfigure my home:


warning: collision encountered:
  
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-cuda-1.0.pc
  
/gnu/store/yphrrwp56dba70p5y0bjj53r0krlpsd5-gst-plugins-bad-minimal-1.22.2/lib/pkgconfig/gstreamer-cuda-1.0.pc
warning: choosing 
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-cuda-1.0.pc

warning: collision encountered:
  
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-va-1.0.pc
  
/gnu/store/yphrrwp56dba70p5y0bjj53r0krlpsd5-gst-plugins-bad-minimal-1.22.2/lib/pkgconfig/gstreamer-va-1.0.pc
warning: choosing 
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-va-1.0.pc

warning: collision encountered:
  
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-bad-audio-1.0.pc
  
/gnu/store/yphrrwp56dba70p5y0bjj53r0krlpsd5-gst-plugins-bad-minimal-1.22.2/lib/pkgconfig/gstreamer-bad-audio-1.0.pc
warning: choosing 
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-bad-audio-1.0.pc

warning: collision encountered:
  
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-insertbin-1.0.pc
  
/gnu/store/yphrrwp56dba70p5y0bjj53r0krlpsd5-gst-plugins-bad-minimal-1.22.2/lib/pkgconfig/gstreamer-insertbin-1.0.pc
warning: choosing 
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-insertbin-1.0.pc

warning: collision encountered:
  
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-transcoder-1.0.pc
  
/gnu/store/yphrrwp56dba70p5y0bjj53r0krlpsd5-gst-plugins-bad-minimal-1.22.2/lib/pkgconfig/gstreamer-transcoder-1.0.pc
warning: choosing 
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-transcoder-1.0.pc

warning: collision encountered:
  
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-player-1.0.pc
  
/gnu/store/yphrrwp56dba70p5y0bjj53r0krlpsd5-gst-plugins-bad-minimal-1.22.2/lib/pkgconfig/gstreamer-player-1.0.pc
warning: choosing 
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-player-1.0.pc

warning: collision encountered:
  
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-sctp-1.0.pc
  
/gnu/store/yphrrwp56dba70p5y0bjj53r0krlpsd5-gst-plugins-bad-minimal-1.22.2/lib/pkgconfig/gstreamer-sctp-1.0.pc
warning: choosing 
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-sctp-1.0.pc

warning: collision encountered:
  
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-webrtc-1.0.pc
  
/gnu/store/yphrrwp56dba70p5y0bjj53r0krlpsd5-gst-plugins-bad-minimal-1.22.2/lib/pkgconfig/gstreamer-webrtc-1.0.pc
warning: choosing 
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-webrtc-1.0.pc

warning: collision encountered:
  
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-photography-1.0.pc
  
/gnu/store/yphrrwp56dba70p5y0bjj53r0krlpsd5-gst-plugins-bad-minimal-1.22.2/lib/pkgconfig/gstreamer-photography-1.0.pc
warning: choosing 
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-photography-1.0.pc

warning: collision encountered:
  
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-codecparsers-1.0.pc
  
/gnu/store/yphrrwp56dba70p5y0bjj53r0krlpsd5-gst-plugins-bad-minimal-1.22.2/lib/pkgconfig/gstreamer-codecparsers-1.0.pc
warning: choosing 
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-codecparsers-1.0.pc

warning: collision encountered:
  
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-plugins-bad-1.0.pc
  
/gnu/store/yphrrwp56dba70p5y0bjj53r0krlpsd5-gst-plugins-bad-minimal-1.22.2/lib/pkgconfig/gstreamer-plugins-bad-1.0.pc
warning: choosing 
/gnu/store/wjfh1v15yyv1wka7qin62xb0s7m467nd-gst-plugins-bad-1.22.2/lib/pkgconfig/gstreamer-plugins-bad-1.0.pc

warning: collision encountered:
  

bug#68399: GnuTLS fails to build for aarch64 in QEMU

2024-01-11 Thread Lars Rustand


GnuTLS fails to build with --system=aarch64-linux. The test "test-free"
fails. Output follows below:


make[6]: 'libtests.a' is up to date.
  CCLD test-xalloc-die
make[6]: Leaving directory 
'/tmp/guix-build-gnutls-3.8.2.drv-0/gnutls-3.8.2/src/gl/tests'
make  check-TESTS
make[6]: Entering directory 
'/tmp/guix-build-gnutls-3.8.2.drv-0/gnutls-3.8.2/src/gl/tests'
make[7]: Entering directory 
'/tmp/guix-build-gnutls-3.8.2.drv-0/gnutls-3.8.2/src/gl/tests'
PASS: test-alignasof
PASS: test-accept
PASS: test-arpa_inet
PASS: test-alloca-opt
PASS: test-assert
PASS: test-bind
PASS: test-array_list
PASS: test-binary-io.sh
PASS: test-byteswap
PASS: test-bitrotate
PASS: test-c-ctype
PASS: test-calloc-gnu
PASS: test-cloexec
PASS: test-canonicalize-lgpl
PASS: test-close
PASS: test-c-strcase.sh
PASS: test-connect
PASS: test-ctype
PASS: test-environ
PASS: test-dup2
PASS: test-errno
PASS: test-explicit_bzero
PASS: test-fcntl
PASS: test-fcntl-h
PASS: test-fdopen
PASS: test-fgetc
PASS: test-float
PASS: test-fopen-gnu
PASS: test-fopen
PASS: test-fputc
PASS: test-fread
PASS: test-fpending.sh
PASS: test-fseek2.sh
PASS: test-fseek.sh
PASS: test-fseeko2.sh
PASS: test-fseeko.sh
PASS: test-fseeko3.sh
PASS: test-error.sh
PASS: test-fstat
PASS: test-fseeko4.sh
PASS: test-ftell.sh
PASS: test-ftell2.sh
FAIL: test-free
PASS: test-ftell3
PASS: test-ftello3
PASS: test-ftello.sh
PASS: test-ftello2.sh
PASS: test-ftello4.sh
PASS: test-func
PASS: test-getaddrinfo
PASS: test-fwrite
PASS: test-ftruncate.sh
PASS: test-getcwd-lgpl
PASS: test-getdelim
PASS: test-getline
PASS: test-getdtablesize
PASS: test-getpeername
PASS: test-getprogname
PASS: test-gettimeofday
PASS: test-scratch-buffer
PASS: test-ignore-value
PASS: test-inet_ntop
PASS: test-inet_pton
PASS: test-intprops
PASS: test-inttostr
PASS: test-inttypes
PASS: test-ioctl
PASS: test-isblank
PASS: test-langinfo
PASS: test-limits-h
PASS: test-linked_list
PASS: test-listen
PASS: test-linkedhash_list
PASS: test-locale
PASS: test-localename
PASS: test-once1
PASS: test-once2
PASS: test-rwlock1
PASS: test-lstat
PASS: test-malloc-gnu
PASS: test-lseek.sh
PASS: test-memset_explicit
PASS: test-malloca
PASS: test-netdb
PASS: test-hash
PASS: test-netinet_in
PASS: test-nstrftime
PASS: test-open
PASS: test-parse-datetime
PASS: test-pathmax
PASS: test-perror2
PASS: test-pipe
PASS: test-pselect
PASS: test-pthread
PASS: test-nanosleep
PASS: test-pthread-thread
PASS: test-raise
PASS: test-rawmemchr
PASS: test-read-file
PASS: test-realloc-gnu
PASS: test-readlink
PASS: test-reallocarray
PASS: test-perror.sh
PASS: test-recvfrom
PASS: test-recv
PASS: test-sched
PASS: test-select
PASS: test-send
PASS: test-sendto
PASS: test-setenv
PASS: test-pthread_sigmask2
PASS: test-setlocale_null
PASS: test-pthread_sigmask1
PASS: test-setlocale1.sh
PASS: test-setsockopt
PASS: test-select-out.sh
PASS: test-shutdown
PASS: test-signal-h
PASS: test-setlocale2.sh
PASS: test-setlocale_null-mt-one
PASS: test-select-in.sh
PASS: test-snprintf
PASS: test-sockets
PASS: test-stat
PASS: test-stat-time
PASS: test-stdbool
PASS: test-stdckdint
PASS: test-stdint
PASS: test-stddef
PASS: test-stdio
PASS: test-stdlib
PASS: test-strerror
PASS: test-strerror_r
PASS: test-sigprocmask
PASS: test-memchr
PASS: test-string
PASS: test-strings
PASS: test-sleep
PASS: test-strverscmp
PASS: test-strnlen
PASS: test-strtoll
PASS: test-sys_ioctl
PASS: test-symlink
PASS: test-sys_select
PASS: test-sys_socket
PASS: test-sys_time
PASS: test-sys_stat
PASS: test-sys_types
PASS: test-sys_uio
PASS: test-setlocale_null-mt-all
PASS: test-thread_self
PASS: test-thread_create
PASS: test-timespec
PASS: test-time
PASS: test-unistd
PASS: test-unsetenv
PASS: test-vasprintf
PASS: test-vasnprintf
PASS: test-verify
PASS: test-vsnprintf
PASS: test-wchar
PASS: test-usleep
PASS: test-init.sh
PASS: test-xalloc-die.sh
PASS: test-tls
PASS: test-lock
PASS: test-verify.sh

Testsuite summary for GnuTLS 3.8.2

# TOTAL: 167
# PASS:  166
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

See src/gl/tests/test-suite.log
Please report to b...@gnutls.org

make[7]: *** [Makefile:5011: test-suite.log] Error 1
make[7]: Leaving directory 
'/tmp/guix-build-gnutls-3.8.2.drv-0/gnutls-3.8.2/src/gl/tests'
make[6]: *** [Makefile:5119: check-TESTS] Error 2
make[6]: Leaving directory 
'/tmp/guix-build-gnutls-3.8.2.drv-0/gnutls-3.8.2/src/gl/tests'
make[5]: *** [Makefile:6379: check-am] Error 2
make[5]: Leaving directory 
'/tmp/guix-build-gnutls-3.8.2.drv-0/gnutls-3.8.2/src/gl/tests'
make[4]: *** [Makefile:4903: check-recursive] Error 1
make[4]: Leaving directory 
'/tmp/guix-build-gnutls-3.8.2.drv-0/gnutls-3.8.2/src/gl/tests'
make[3]: *** [Makefile:6381: check] Error 2
make[3]: Leaving directory 

bug#68384: TTY Auto-login is not compatible with elogind

2024-01-11 Thread Lars Rustand


Enabling both TTY auto-login and elogind-service-type at the same time
results in an error immediately after automatic login to the tty with
the message "Error in service module", and the TTY then is
frozen. Auto-login works fine if I disable elogind, but elogind is
unfortunately a crucial part of the Guix system since a lot of things
does not work without it.

Below is attached a minimal example, simply commenting out the elogind
service in this example makes it works as expected. Running it as is
will result in the error I mentioned.


(use-modules
  (gnu)
  (gnu services)
  (gnu services base)
  (gnu services desktop)
  (gnu bootloader)
  (gnu bootloader grub)
  (gnu system)
  (gnu system file-systems)
  (gnu system accounts)
  (gnu system locale))

(operating-system
  (host-name "minimal")

  (users
(cons*
  (user-account
(name "lars")
(group "users"))
  %base-user-accounts))

  (services
   (cons*
(service elogind-service-type)
(modify-services %base-services
  (mingetty-service-type config =>
 (mingetty-configuration
  (inherit config)
  (auto-login "lars"))

   (bootloader
 (bootloader-configuration
   (bootloader grub-efi-bootloader)
   (targets '("/boot/efi"

   (file-systems
(cons*
 %base-file-systems)))





bug#66866: aarch64 system cross compilation + pinebook pro image broken?

2023-12-31 Thread Lars Rustand


Hello, bumping this issue since there has been no activity for a while
and this error is still present. I get the exact same error as Denis
when building any Pine64 images. Building with --system=aarch64-linux
instead of --target=aarch64-linux-gnu works, but this is very much
slower.


This is what I get:

> checking for string.h... (cached) yes
> checking whether NLS is requested... yes
> checking for msgfmt... no
> checking for gmsgfmt... :
> checking for xgettext... no
> checking for msgmerge... no
> checking build system type... x86_64-unknown-linux-gnu
> checking host system type... Invalid configuration `aarch64-linux-gnu': 
> machine `aarch64' not recognized
> configure: error: 
> /gnu/store/rb75igdc6daly1mz2ivz7rs8hd85imdz-gash-boot-0.3.0/bin/bash 
> ./config.sub aarch64-linux-gnu failed
> error: in phase 'configure': uncaught exception:
> srfi-34 # "/gnu/store/rb75igdc6daly1mz2ivz7rs8hd85imdz-gash-boot-0.3.0/bin/bash" 
> arguments: ("./configure" "CC_FOR_BUILD=gcc" 
> "CONFIG_SHELL=/gnu/store/rb75igdc6daly1mz2ivz7rs8hd85imdz-gash-boot-0.3.0/bin/bash"
>  "SHELL=/gnu/store/rb75igdc6daly1mz2ivz7rs8hd85imdz-gash-boot-0.3.0/bin/bash" 
> "--prefix=/gnu/store/bl3aq7fnpyxq9w2a7bqa4zqgd8z88y8x-gawk-mesboot-3.1.8" 
> "--enable-fast-install" "--build=x86_64-unknown-linux-gnu" 
> "--host=aarch64-linux-gnu" "ac_cv_func_connect=no") exit-status: 1 
> term-signal: #f stop-signal: #f] 152c4c0>
> phase `configure' failed after 38.7 seconds
> command 
> "/gnu/store/rb75igdc6daly1mz2ivz7rs8hd85imdz-gash-boot-0.3.0/bin/bash" 
> "./configure" "CC_FOR_BUILD=gcc" 
> "CONFIG_SHELL=/gnu/store/rb75igdc6daly1mz2ivz7rs8hd85imdz-gash-boot-0.3.0/bin/bash"
>  "SHELL=/gnu/store/rb75igdc6daly1mz2ivz7rs8hd85imdz-gash-boot-0.3.0/bin/bash" 
> "--prefix=/gnu/store/bl3aq7fnpyxq9w2a7bqa4zqgd8z88y8x-gawk-mesboot-3.1.8" 
> "--enable-fast-install" "--build=x86_64-unknown-linux-gnu" 
> "--host=aarch64-linux-gnu" "ac_cv_func_connect=no" failed with status 1


Other cross-compiled images like Raspberry Pi work fine for me.





bug#68059: Mismatching defconfig options

2023-12-30 Thread Lars Rustand


Josselin Poiret  writes:

> Guix doesn't modify the defconfig you give it, it just moves it to
> guix_defconfig.  However, it then tries to verify that the defconfig was
> properly applied, which is completely Guix-specific and might be the
> thing that doesn't work properly.

Thanks, this must be it. I guess there is an option in the config that
does not apply correctly, but since there is no verification in the
normal build process it only causes a problem in Guix. Deleting the
problematic line in the defconfig made it build correctly, so I guess
this is not a problem in Guix, but in the defconfig I was trying to use.

This issue can be closed.





bug#68059: Mismatching defconfig options

2023-12-27 Thread Lars Rustand


I'm having trouble building a custom kernel with an included
defconfig. The kernel builds correctly with the included defconfig if I
do it manually, but when I try to build it through Guix I get an error
about Mismatching configurations in .config and
arch/arm64/configs/guix_defconfig.

Since it builds correctly manually I am sure that the defconfig does in
fact work, and it does not have any mismatching configuration. So it
must be something that Guix adds/changes in the defconfig that makes it
stop working. How can I prevent Guix from modifying the defconfig that I
tell it to use?

Here is the relevant part of my package definition:

--8<---cut here---start->8---
(let ((linux-package
   (customize-linux
#:name name
#:linux linux
#:defconfig
"pinephone_pro_defconfig"
#:extra-version "arm64-pinephone-pro"
#:source (origin (method url-fetch)
 (uri (linux-pinephone-urls version))
 (sha256 (base32 hash)))
--8<---cut here---end--->8---





bug#67802: Shepherd is not able to run simple networked programs as services

2023-12-15 Thread Lars Rustand


Lars Rustand  writes:

> Hello, I have created two very simple shepherd services for two
> different mail programs (offlineimap and davmail). Both of the programs
> are able to run without problem when ran from the commandline, but both
> of them fail with networking related errors when I try to run them as
> shepherd services.
...
> They both seem to fail when opening an *outgoing* socket, but davmail
> seems to be able to start *listening* on several ports just fine.

So, I figured this out. It had nothing to do with networking even though
it looked like it. The problem was that I had cargo cult-copied a
#:pid-file parameter from another service, believing that this was just
a path were Shepherd could create a pid-file for the service, but
Shepherd was in fact expecting the program to create the pid-file. So
when the program did not create this pid-file then Shepherd killed the
program.

So the original bug I reported is in fact not a bug at all and can be
closed. However, the error handling in Shepherd could be improved in
order to make it more clear what is happening.





bug#67802: Shepherd is not able to run simple networked programs as services

2023-12-12 Thread Lars Rustand


Hello, I have created two very simple shepherd services for two
different mail programs (offlineimap and davmail). Both of the programs
are able to run without problem when ran from the commandline, but both
of them fail with networking related errors when I try to run them as
shepherd services.

I have read all the relevant sections of the manual and looked at
similar shepherd services in the source code, but I can't find anything
that I am missing in my services. I am either missing something obvious
here or shepherd is doing something weird that messes up these programs.

Here is my service definition for offlineimap:

--8<---cut here---start->8---
(define-module (lrustand services offlineimap)
  #:use-module (gnu)
  #:use-module (gnu services)
  #:use-module (gnu packages mail)
  #:use-module (gnu services shepherd)
  #:use-module (gnu services configuration)
  #:use-module (guix gexp)
  #:use-module (guix records)
  #:use-module (ice-9 curried-definitions)
  #:use-module (gnu home services)
  ;; For the 'home-shepherd-service-type' mapping.
  #:use-module (gnu home services shepherd)
  #:export (offlineimap-configuration
offlineimap-configuration?

offlineimap-configuration-log-file
offlineimap-configuration-pid-file

offlineimap-shepherd-service
offlineimap-service-type
home-offlineimap-service-type))

(define-configuration/no-serialization offlineimap-configuration
  (pid-file
   (string "/var/run/offlineimap.pid")
   "Where to store the PID file.")
  (config-file
   (string "/home/lars/.config/offlineimap/config")
   "Configuration file to use.")
  (log-file
   (string "/home/lars/offlineimap.log")
   "File where ‘offlineimap’ writes its log to.")
  (user
   (string "lars")
   "")
  (extra-options
   (list-of-strings '())
   "This option provides an “escape hatch” for the user to provide
arbitrary command-line arguments to ‘offlineimap’ as a list of strings.")
  (home-service?
   (boolean for-home?)
   ""))

(define offlineimap-shepherd-service
  (match-record-lambda 
(pid-file config-file log-file user extra-options home-service?)
(list (shepherd-service
   (provision '(offlineimap))
   (documentation "")
   (requirement (if home-service? '() '(networking user-processes)))
   (start #~(make-forkexec-constructor
  (list (string-append #$offlineimap
   "/bin/offlineimap")
 #$@extra-options
 "-c" #$config-file
 "-l" #$log-file)
 #:user #$user
 #:environment-variables
 (list (string-append "HOME=" (passwd:dir (getpw #$user
 #:log-file #$log-file
 #:pid-file #$pid-file))
   (stop #~(make-kill-destructor))
   (one-shot? #f)
   (respawn? #t)

(define offlineimap-service-type
  (service-type
   (name 'offlineimap)
   (extensions
(list (service-extension shepherd-root-service-type
 offlineimap-shepherd-service)))
   (default-value (offlineimap-configuration))
   (description
"Synchronize remote IMAP mail with local Maildir.")))

(define home-offlineimap-service-type
  (service-type
   (inherit (system->home-service-type offlineimap-service-type))
   (default-value (for-home (offlineimap-configuration)
--8<---cut here---end--->8---



And here is my service definition for davmail:


--8<---cut here---start->8---
(define-module (lrustand services davmail)
  #:use-module (gnu)
  #:use-module (gnu services)
  #:use-module (gnu packages mail)
  #:use-module (gnu services shepherd)
  #:use-module (gnu services configuration)
  #:use-module (guix gexp)
  #:use-module (guix records)
  #:use-module (ice-9 curried-definitions)
  #:use-module (gnu home services)
  ;; For the 'home-shepherd-service-type' mapping.
  #:use-module (gnu home services shepherd)
  #:export (davmail-configuration
davmail-configuration?

davmail-configuration-log-file
davmail-configuration-pid-file

davmail-shepherd-service
davmail-service-type
home-davmail-service-type))

(define-configuration/no-serialization davmail-configuration
  (pid-file
   (string "/var/run/davmail.pid")
   "Where to store the PID file.")
  (config-file
   (string "/home/lars/.config/davmail/davmail.properties")
   "Configuration file to use.")
  (log-file
   (string "/home/lars/davmail.log")
   "File where ‘davmail’ writes its log to.")
  (extra-options
   (list-of-strings '())
   "This option provides an “escape hatch” for the user to provide
arbitrary command-line arguments to ‘davmail’ as a list of strings.")
  (home-service?
   (boolean for-home?)
   ""))

(define 

bug#66014: Unable to use UUIDs to construct RAID array in mapped-devices

2023-09-16 Thread Lars Rustand
Setting up a RAID array using UUIDs does not work.

The following mapped-devices block works:

  (mapped-devices
(list
  (mapped-device
(source (list "/dev/nvme0n1p2" "/dev/nvme1n1p3"))
(target "/dev/md0")
(type raid-device-mapping

But this one fails:

  (mapped-devices
(list
  (mapped-device
(source (list (uuid "a07c54da-eb61-4135-86b8-8791e863e46a") (uuid 
"c40026af-ace9-47fc-9d3f-4b8d6a2219cb")))
(target "/dev/md0")
(type raid-device-mapping

The error message I get is guix system: error: #< type: dce bv: #vu8(160 
124 84 218 235 97 65 53 134 184 135 145 232 99 228 106)>: invalid G-expression 
input


signature.asc
Description: PGP signature


bug#55907: VFIO kernel module fails to capture PCI device

2023-09-11 Thread Lars Rustand
Hello Nick,

Did you ever figure this out? I am struggling with the same problem.


Thank you,

- Lars