My project requires pyside2, which depends on libshiboken2.
With briefcase 0.3.3, when I run briefcase create and then briefcase build, it fails with this error:
$ briefcase build
[onionshare] Building AppImage...
[onionshare] Entering Docker context...
linuxdeploy version 1-alpha (git commit ID b6a1ba2), Travis build 488 built on 2020-10-09 13:07:48 UTC
-- Creating basic AppDir structure --
Creating directory /app/OnionShare/OnionShare.AppDir/usr/bin/
Creating directory /app/OnionShare/OnionShare.AppDir/usr/lib/
[...snip...]
Deploying files in directory /app/OnionShare/OnionShare.AppDir/usr/app_packages/PySide2
Deploying dependencies for ELF file in AppDir: /app/OnionShare/OnionShare.AppDir/usr/app_packages/PySide2/QtOpenGL.abi3.so
Deploying dependencies for ELF file /app/OnionShare/OnionShare.AppDir/usr/app_packages/PySide2/QtOpenGL.abi3.so
ERROR: Could not find dependency: libshiboken2.abi3.so.5.15
WARNING: Failed to deploy dependencies for ELF file /app/OnionShare/OnionShare.AppDir/usr/app_packages/PySide2/QtOpenGL.abi3.so, skipping
Error while building app onionshare.
However I've confirmed that libshiboken2.abi3.so.5.15 should in fact be there:
$ find linux/ |grep libshiboken2.abi3.so.5.15
linux/OnionShare/OnionShare.AppDir/usr/app_packages/shiboken2/libshiboken2.abi3.so.5.15
While debugging this I discovered the arguments passed into linuxdeploy-x86_64.AppImage. It looks like --deploy-deps-only /app/OnionShare/OnionShare.AppDir/usr/app_packages/shiboken2 is near the end of the args, and --deploy-deps-only /app/OnionShare/OnionShare.AppDir/usr/app_packages/PySide2 is near the beginning of the args.
Basically, I think the dependencies are being installed in the wrong order. shiboken2 should be installed first so that when PySide2 gets installed it can find the right libraries.
I wasn't sure if this was a briefcase bug or not, so I tried the same thing with briefcase 0.3.2 instead.
In version 0.3.2, it actually successfully builds my AppBundle! (However, it's not runnable because of #420 which was fixed in 0.3.3...)
I also just tried using briefcase from the master branch, but it still fails in the same way.
Environment:
- Operating System: Ubuntu 20.04
- Python version: 3.8.5
- Software versions:
My project requires pyside2, which depends on libshiboken2.
With briefcase 0.3.3, when I run
briefcase createand thenbriefcase build, it fails with this error:However I've confirmed that
libshiboken2.abi3.so.5.15should in fact be there:While debugging this I discovered the arguments passed into
linuxdeploy-x86_64.AppImage. It looks like--deploy-deps-only /app/OnionShare/OnionShare.AppDir/usr/app_packages/shiboken2is near the end of the args, and--deploy-deps-only /app/OnionShare/OnionShare.AppDir/usr/app_packages/PySide2is near the beginning of the args.Basically, I think the dependencies are being installed in the wrong order.
shiboken2should be installed first so that whenPySide2gets installed it can find the right libraries.I wasn't sure if this was a briefcase bug or not, so I tried the same thing with briefcase 0.3.2 instead.
In version 0.3.2, it actually successfully builds my AppBundle! (However, it's not runnable because of #420 which was fixed in 0.3.3...)
I also just tried using briefcase from the master branch, but it still fails in the same way.
Environment: