Tunnel connection failed ARM* architecture with remote-build

Hi,

I’m trying to remote build (snapcraft remote-build build-on=arm64) a snap package, using the Python Plugin. No problem with amd64 and ppc64el, but

  1. building arm64 or armhf, the process fails with a ProxyError/407 Proxy Authentication Required:
Output on failure
+ [ -f setup.py ]
+ pip uninstall -y typing
Found existing installation: typing 3.7.4.3
Uninstalling typing-3.7.4.3:
  Successfully uninstalled typing-3.7.4.3
+ pip install -c package_constraints.txt -U .
Ignoring importlib-metadata: markers 'python_version < "3.8"' don't match your environment
Processing /build/snapcraft-.../build
  Installing build dependencies: started
[15/Jul/2020:15:44:54 +0000] "CONNECT pypi.org:443 HTTP/1.0" 407 1709 "-" "-"
[15/Jul/2020:15:44:54 +0000] "CONNECT pypi.org:443 HTTP/1.0" 407 1709 "-" "-"
[15/Jul/2020:15:44:55 +0000] "CONNECT pypi.org:443 HTTP/1.0" 407 1709 "-" "-"
[15/Jul/2020:15:44:56 +0000] "CONNECT pypi.org:443 HTTP/1.0" 407 1709 "-" "-"
[15/Jul/2020:15:44:58 +0000] "CONNECT pypi.org:443 HTTP/1.0" 407 1709 "-" "-"
[15/Jul/2020:15:45:02 +0000] "CONNECT pypi.org:443 HTTP/1.0" 407 1709 "-" "-"
[15/Jul/2020:15:45:04 +0000] "CONNECT pypi.org:443 HTTP/1.0" 407 1709 "-" "-"
  Installing build dependencies: finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /build/snapcraft-..../install/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-imh7g8vj/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.8.0' wheel
       cwd: None
  Complete output (8 lines):
  Keyring is skipped due to an exception: 'PosixPath' object has no attribute 'read_text'
  WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Proxy Authentication Required'))': /simple/setuptools/
  WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Proxy Authentication Required'))': /simple/setuptools/
  WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Proxy Authentication Required'))': /simple/setuptools/
  WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Proxy Authentication Required'))': /simple/setuptools/
  WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Proxy Authentication Required'))': /simple/setuptools/
  ERROR: Could not find a version that satisfies the requirement setuptools>=40.8.0 (from versions: none)
  ERROR: No matching distribution found for setuptools>=40.8.0
  ----------------------------------------
ERROR: Command errored out with exit status 1: /build/snapcraft-.../install/bin/python3 /build/snapcraft-.../install/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-imh7g8vj/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.8.0' wheel Check the logs for full command output.
[15/Jul/2020:15:45:06 +0000] "CONNECT pypi.org:443 HTTP/1.0" 407 1709 "-" "-"
Failed to build '...'.

After googling a bit, I’ve found out that it can occur when a proxy is involved. Anyone know what I can do to fix this?

I’ve tried several suggestions that I’ve found on Google and I’m little tired of waiting 3-4 hours to find out it fails, and then try again with something else. I’ve also tried to use the APT-versions (build-packages such as python3-setuptools) instead of the pip package, but then it fails saying it wheels is not found.

  1. building 32-bit snap fails with “snap do not exist”, just after installing deb-dependencies.
Error message
Processing triggers for libc-bin (2.31-0ubuntu9) ...
linux32: failed to execute snap: No such file or directory
Install failed
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/lpbuildd/target/build_snap.py", line 251, in run

Thank you in advance!

1 Like

Hi,

Let me know if anything is unclear or my post is lacking details that is crucial for anyone to be able to help.

I guess error (ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Proxy Authentication Required'))) is related to the VM it’s running on, as it also happens on amd64 builds too now.

When running Snapcraft on bare machines, it doesn’t occur. I’ve tried on a laptop (arm64) using multipass and on a Rpi4 (amd64) building within a LXD container, successfully.

Hello @joachimmg! Sorry about that. This is due to the launchpad disabling network connectivity after 2 hours. I recently filed a ticket to get this increased:

I’ve seen folks work around this by organizing their snapcraft to build all network-required parts first (using the after keyword).