Appimagekit: appimaged depends on GIO, leading to missing dependencies

Created on 8 May 2018  路  9Comments  路  Source: AppImage/AppImageKit

Follow-up for #773.

Apparently appimaged depends on libgio, which itself depends on libselinux. This leads to issues on some distros, mainly Arch.

The excludelist has some words about libselinux, and suggests that an empty library shall be bundled. I'm not sure why that is supposed to work or whether it'd work at all.

CC @probonopd please check our options and suggest a fix

Most helpful comment

We can use dummy libselinux.
https://gitlab.com/sulinos/devel/libselinux-dummy
It provide empty libselinux that fix selinux not found errors

All 9 comments

I'd assume that libgio does not depend on libselinux _per se_, but the libgio builds that come with distributions that use SELinux may depend on it. So another option (besides bundling an empty libselinux dummy) would possibly be to bundle a self-compiled version of libgio that does not need libselinux?

And you're saying we can't build libgio without it being dependent on SELinux?

No, that was just informational. I'm trying to find such a configure-time option at the moment. Then, I could patch AppImageBuild's GLib.

The option seems to work:

[root@20453b5253b3 /]# ldd /deps/lib/libgio-2.0.so
    linux-gate.so.1 =>  (0xf772b000)
    libgobject-2.0.so.0 => /deps/lib/libgobject-2.0.so.0 (0xf7515000)
    libffi.so.5 => /usr/lib/libffi.so.5 (0xf7505000)
    libgmodule-2.0.so.0 => /deps/lib/libgmodule-2.0.so.0 (0xf74fd000)
    libdl.so.2 => /lib/libdl.so.2 (0xf74f5000)
    libglib-2.0.so.0 => /deps/lib/libglib-2.0.so.0 (0xf73ad000)
    libpthread.so.0 => /lib/libpthread.so.0 (0xf738d000)
    librt.so.1 => /lib/librt.so.1 (0xf737d000)
    libz.so.1 => /lib/libz.so.1 (0xf7365000)
    libresolv.so.2 => /lib/libresolv.so.2 (0xf7345000)
    libc.so.6 => /lib/libc.so.6 (0xf71ad000)
    /lib/ld-linux.so.2 (0xf7705000)

Closing this issue once the Docker images are rebuilt and pushed.

Triggered rebuilds. The new AppImages should no longer depend on SELinux libraries.

We can use dummy libselinux.
https://gitlab.com/sulinos/devel/libselinux-dummy
It provide empty libselinux that fix selinux not found errors

Excellent @paledega

Was this page helpful?
0 / 5 - 0 ratings

Related issues

niess picture niess  路  6Comments

jakub-bochenski picture jakub-bochenski  路  8Comments

cculianu picture cculianu  路  10Comments

sjb8100 picture sjb8100  路  12Comments

emanresusername picture emanresusername  路  3Comments