Skip to content

py3 buildserver issue: TypeError: Can't convert 'bytes' object to str implicitly

There are two issues here, first, fdroid build can die with an error but apparently not set an error for the exit value, so that ./jenkins-build-makebuildserver finishes without an error even though none of the apps built. You can see that here:

Second, there is a py3-related bytes vs str issue with fdroid build:

$ ../fdroid build com.moez.QKSMS:124
INFO: Building version 2.5.2 (124) of com.moez.QKSMS
INFO: Checking for valid existing build server
INFO: ...VM is present
INFO: ...snapshot exists - resetting build server to clean state
INFO: ...reset to snapshot - server is valid
INFO: ...waiting a sec...
INFO: Connecting to virtual machine...
INFO: Preparing server for build...
INFO: Starting build...
INFO: ...getting exit status
INFO: Suspending build server
==> default: Saving VM state and suspending execution...
ERROR: Could not build app com.moez.QKSMS due to unknown error: Traceback (most recent call last):
  File "/var/lib/jenkins/workspace/fdroidserver-makebuildserver-eighthave/fdroidserver/build.py", line 1119, in main
    options.onserver, options.refresh):
  File "/var/lib/jenkins/workspace/fdroidserver-makebuildserver-eighthave/fdroidserver/build.py", line 954, in trybuild
    build_server(app, build, vcs, build_dir, output_dir, force)
  File "/var/lib/jenkins/workspace/fdroidserver-makebuildserver-eighthave/fdroidserver/build.py", line 403, in build_server
    output += get
TypeError: Can't convert 'bytes' object to str implicitly
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information