jbicha
January 25, 2019, 12:41am
1
I fixed a few things in gedit’s snapcraft file from its git master repo . When I tried running it, I got this error:
$ snap run gedit
gedit: error while loading shared libraries: libgtksourceview-4.so.0:
cannot open shared object file: No such file or directory
So I tried building gnome-calculator (which also switched to gtksourceview4 this development cycle) and I get the same error.
How do we fix this?
Also can we detect this problem during the build instead of at runtime?
1 Like
You might want to check if the gnome-3-26-1604
content snap has ship this library, if not try adding it via the use of stage-packages
key.
jbicha
January 25, 2019, 2:21pm
3
Ok, I tried this with gnome-calculator (since it’s a bit faster to work with than gedit:
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
- libmpfr-dev
- valac
- yelp-tools
+ stage-packages:
+ - libgtksourceview-4-dev
prime:
- "-usr/lib/gnome-calculator/libcalculator.a"
- "-usr/share/appdata"
log excerpt
Priming gnome-calculator
The linker version '2.23' used by the base 'core' is incompatible with files in this snap:
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/lib/x86_64-linux-gnu/libbsd.so.0.9.1 (2.25)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/lib/x86_64-linux-gnu/libexpat.so.1.6.8 (2.25)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/lib/x86_64-linux-gnu/libfdisk.so.1.1.0 (2.25)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/lib/x86_64-linux-gnu/libuuid.so.1.3.0 (2.25)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/lib/x86_64-linux-gnu/security/pam_systemd.so (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/bin/make (2.27)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/bin/python3.7 (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/bin/python3.7m (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/bin/x86_64-linux-gnu-ld.bfd (2.27)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/dconf/dconf-service (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/python3.7/lib-dynload/ossaudiodev.cpython-37m-x86_64-linux-gnu.so (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/dri/i915_dri.so (2.27)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/dri/i965_dri.so (2.27)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/dri/kms_swrast_dri.so (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/dri/nouveau_vieux_dri.so (2.27)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/dri/r200_dri.so (2.27)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/dri/r300_dri.so (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/dri/r600_dri.so (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/dri/radeon_dri.so (2.27)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/dri/virtio_gpu_dri.so (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/dri/vmwgfx_dri.so (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0.0.0 (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0 (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (2.25)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/libdrm_amdgpu.so.1.0.0 (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/libexpatw.so.1.6.8 (2.25)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/libgbm.so.1.0.0 (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/libgnutls.so.30.23.0 (2.25)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2 (2.27)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/libp11-kit.so.0.3.0 (2.26)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/libperl.so.5.28.1 (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4 (2.28)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/libxshmfence.so.1.0.0 (2.27)
/home/jeremy/devel/git.gnome.org/gnome-calculator/prime/usr/lib/x86_64-linux-gnu/perl/5.28.1/auto/IO/IO.so (2.28)
My development system is running disco which I guess is my problem here. What do you suggest we do now?
As you’ve noticed, you have to build the snap package on the same Ubuntu release of the Ubuntu Core system the snap’s targeting, which is currently Ubuntu 16.04, you can:
Build the snap in an Ubuntu 16.04 LXD container, install LXD and export the SNAPCRAFT_BUILD_ENVIRONMENT
environment variable with the value lxd
set and run snapcraft
then Snapcraft should do the thing.
NOTE: This feature is no longer supported in the new snapcraft syntax(if your recipe don’t have the base
key set, you’re using the legacy syntax)
Build the snap in an Ubuntu 16.04 VM, any hypervisor should do but you may want to try CanonicalLtd/multipass: Multipass orchestrates virtual Ubuntu instances
jbicha
January 31, 2019, 1:56am
5
Thank you for your help. I managed to get gedit and gnome-calculator master to build with gtksourceview4. It ended up being quite a bit more complicated than I expected.
1 Like