Package: openvpn Version: 2.4.3 Backtrace: In srfi/srfi-1.scm: 592:29 19 (map1 (#< type: # ?)) 592:29 18 (map1 (#< type: # ?)) 592:29 17 (map1 (#< type: # ?)) 592:29 16 (map1 (#< type: # ?)) 592:29 15 (map1 (#< type: # ?)) 592:29 14 (map1 (#< type: # ?)) 592:29 13 (map1 (#< type: # ?)) 592:29 12 (map1 (#< type: # ?)) 592:29 11 (map1 (#< type: # ?)) 592:29 10 (map1 (#< type: # ?)) 592:29 9 (map1 (#< type: # ?)) 592:29 8 (map1 (#< type: # ?)) 592:17 7 (map1 (#< type: # ?)) In gnu/services/vpn.scm: 409:24 6 (_ #< openvpn: #) 379:9 5 (openvpn-config-file client #<) In ice-9/ports.scm: 549:4 4 (call-with-output-string _) 473:4 3 (with-output-to-port _ _) In ice-9/boot-9.scm: 268:13 2 (for-each # ?) In gnu/services/vpn.scm: 112:19 1 (serialize-tls-auth client #f) In unknown file: 0 (string-append #f " " "1") ERROR: In procedure string-append: ERROR: In procedure string-append: Wrong type (expecting string): #f To have this error, I tried do build a vm-image using the openvpn service: (service openvpn-client-service-type (openvpn-client-configuration (proto 'tcp) (ca "ca.crt") (cert "client.crt") (key "client.key") )) Guix doesn't want to build the VM, because of the openvpn service. The problem is in the function serialize-tls-auth (line 110 of the file /gnu/services/vpn.scm). The function tries to concatenate a string with the input of the "tls_auth" field in openvpn_client_configuration. But by default this input's value is #f. Test function are implemented just after this one, but not used. As I don't know what the function is supposed to return, I can't correct this. I'm using Guix 0.13.0