Subject: bug#52553: b4 build failure

From: Aleksandr Vityazev <[email-masked]>
Date: Thu, 16 Dec 2021 14:34:06 +0000

Hello,

The b4 package sanity-check phase failure:

--8<---------------cut here---------------start------------->8---
starting phase `sanity-check'
validating 'b4' /gnu/store/4fm7zp1kimv5cq8dvkn89a3vjpwcfbi1-b4-0.6.2/lib/python3.9/site-packages
...checking requirements: OK
...trying to load module b4: ERROR:
Traceback (most recent call last):
  File "/gnu/store/0wlsxxxwmq56wra88c8cvzsk3xfh75m1-python-dnspython-2.1.0/lib/python3.9/site-packages/dns/resolver.py", line 782, in read_resolv_conf
    f = stack.enter_context(open(f))
FileNotFoundError: [Errno 2] No such file or directory: '/etc/resolv.conf'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/gnu/store/nwwr89v2vyg1hs48i49m083vhczsgh3m-sanity-check.py", line 69, in <module>
    importlib.import_module(name)
  File "/gnu/store/p5fgysbcnnp8b1d91mrvjvababmczga0-python-3.9.6/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/gnu/store/4fm7zp1kimv5cq8dvkn89a3vjpwcfbi1-b4-0.6.2/lib/python3.9/site-packages/b4/__init__.py", line 36, in <module>
    _resolver = dns.resolver.get_default_resolver()
  File "/gnu/store/0wlsxxxwmq56wra88c8cvzsk3xfh75m1-python-dnspython-2.1.0/lib/python3.9/site-packages/dns/resolver.py", line 1278, in get_default_resolver
    reset_default_resolver()
  File "/gnu/store/0wlsxxxwmq56wra88c8cvzsk3xfh75m1-python-dnspython-2.1.0/lib/python3.9/site-packages/dns/resolver.py", line 1290, in reset_default_resolver
    default_resolver = Resolver()
  File "/gnu/store/0wlsxxxwmq56wra88c8cvzsk3xfh75m1-python-dnspython-2.1.0/lib/python3.9/site-packages/dns/resolver.py", line 734, in __init__
    self.read_resolv_conf(filename)
  File "/gnu/store/0wlsxxxwmq56wra88c8cvzsk3xfh75m1-python-dnspython-2.1.0/lib/python3.9/site-packages/dns/resolver.py", line 785, in read_resolv_conf
    raise NoResolverConfiguration
dns.resolver.NoResolverConfiguration: Resolver configuration could not be read or specified no nameservers.
...trying to load endpoint console_scripts b4: ERROR:
Traceback (most recent call last):
  File "/gnu/store/0wlsxxxwmq56wra88c8cvzsk3xfh75m1-python-dnspython-2.1.0/lib/python3.9/site-packages/dns/resolver.py", line 782, in read_resolv_conf
    f = stack.enter_context(open(f))
FileNotFoundError: [Errno 2] No such file or directory: '/etc/resolv.conf'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/gnu/store/nwwr89v2vyg1hs48i49m083vhczsgh3m-sanity-check.py", line 85, in <module>
    ep.load()
  File "/gnu/store/p5fgysbcnnp8b1d91mrvjvababmczga0-python-3.9.6/lib/python3.9/site-packages/pkg_resources/__init__.py", line 2450, in load
    return self.resolve()
  File "/gnu/store/p5fgysbcnnp8b1d91mrvjvababmczga0-python-3.9.6/lib/python3.9/site-packages/pkg_resources/__init__.py", line 2456, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/gnu/store/4fm7zp1kimv5cq8dvkn89a3vjpwcfbi1-b4-0.6.2/lib/python3.9/site-packages/b4/__init__.py", line 36, in <module>
    _resolver = dns.resolver.get_default_resolver()
  File "/gnu/store/0wlsxxxwmq56wra88c8cvzsk3xfh75m1-python-dnspython-2.1.0/lib/python3.9/site-packages/dns/resolver.py", line 1278, in get_default_resolver
    reset_default_resolver()
  File "/gnu/store/0wlsxxxwmq56wra88c8cvzsk3xfh75m1-python-dnspython-2.1.0/lib/python3.9/site-packages/dns/resolver.py", line 1290, in reset_default_resolver
    default_resolver = Resolver()
  File "/gnu/store/0wlsxxxwmq56wra88c8cvzsk3xfh75m1-python-dnspython-2.1.0/lib/python3.9/site-packages/dns/resolver.py", line 734, in __init__
    self.read_resolv_conf(filename)
  File "/gnu/store/0wlsxxxwmq56wra88c8cvzsk3xfh75m1-python-dnspython-2.1.0/lib/python3.9/site-packages/dns/resolver.py", line 785, in read_resolv_conf
    raise NoResolverConfiguration
dns.resolver.NoResolverConfiguration: Resolver configuration could not be read or specified no nameservers.
error: in phase 'sanity-check': uncaught exception:
%exception #<&invoke-error program: "python" arguments: ("/gnu/store/nwwr89v2vyg1hs48i49m083vhczsgh3m-sanity-check.py" "/gnu/store/4fm7zp1kimv5cq8dvkn89a3vjpwcfbi1-b4-0.6.2/lib/python3.9/site-packages") exit-status: 1 term-signal: #f stop-signal: #f> 
phase `sanity-check' failed after 0.3 seconds
command "python" "/gnu/store/nwwr89v2vyg1hs48i49m083vhczsgh3m-sanity-check.py" "/gnu/store/4fm7zp1kimv5cq8dvkn89a3vjpwcfbi1-b4-0.6.2/lib/python3.9/site-packages" failed with status 1
builder for `/gnu/store/vbv2nd5v8j13090iy6jzscrpskjmdx8j-b4-0.6.2.drv' failed with exit code 1
build of /gnu/store/vbv2nd5v8j13090iy6jzscrpskjmdx8j-b4-0.6.2.drv failed
View build log at '/var/log/guix/drvs/vb/v2nd5v8j13090iy6jzscrpskjmdx8j-b4-0.6.2.drv.bz2'.
guix build: error: build of `/gnu/store/vbv2nd5v8j13090iy6jzscrpskjmdx8j-b4-0.6.2.drv' failed

Compilation exited abnormally with code 1 at Thu Dec 16 17:28:39
--8<---------------cut here---------------end--------------->8---

I don't know how good the solution is, but if you remove the
sanity-check phase, the package builds and works.

-- 

Aleksandr Vityazev