mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #1711] Evince does not run due to --private-lib configuration option #1154
Labels
No labels
LTS merge
LTS merge
bug
bug
converted-to-discussion
doc-todo
documentation
duplicate
enhancement
file-transfer
firecfg
firejail-in-firejail
firetools
graphics
help wanted
information_old
installation
invalid
modif
moved
needinfo
networking
notabug
notourbug
old-version
overlayfs
packaging
profile-request
pull-request
question
question_old
removal
runtime-permissions
sandbox-ipc
security
stale
wiki
wiki
wontfix
wordpress
workaround
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/firejail#1154
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @elvetemedve on GitHub (Jan 2, 2018).
Original GitHub issue: https://github.com/netblue30/firejail/issues/1711
The problem
The Evice Document Viewer application does not start, because private-lib option in evince.profile prevents reading the file /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache.
See evince_log.txt for details.
Environment
OS: Arch Linux 4.14.9-1-ARCH
Firejail version: 0.9.52
Evince version: 3.26.0
@netblue30 commented on GitHub (Jan 7, 2018):
I cannot reproduce it on Arch running LXDE. Do you have /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache in your filesystem? They say in the log to create it by running
@elvetemedve commented on GitHub (Jan 7, 2018):
Yes, the file is present in the filesytem. But the private-lib switch makes it invisible for Evince.
@netblue30 commented on GitHub (Jan 13, 2018):
I'll try again to reproduce it, so far no luck. What window/desktop manager are you using?
@elvetemedve commented on GitHub (Jan 13, 2018):
I'm using Gnome Shell (3.26.2) desktop environment. Window manager is Mutter.
@netblue30 commented on GitHub (Jan 18, 2018):
I have removed private-lib from the profile until we figure out what's going on. Thanks for the bug.
@netblue30 commented on GitHub (Mar 12, 2018):
Re-enabling private-lib temporarily in evince profile.
We found some problem with 32bit libraries being copied by private-lib instead of the regular 64bit libraries. @elvetemedve, can you give it a try please - we will take it out if it doesn't work. Thanks!
@Fred-Barclay commented on GitHub (Mar 13, 2018):
I'm getting this error now when trying to open a file with evince on Fedora 27 amd64:
Evince does start, but it won't open pdfs.
@Fred-Barclay commented on GitHub (Mar 13, 2018):
Scratch that, it was a problem with the profile not private-lib. I just needed to add
libpoppler-glib.so.8to private-lib. 😄 @elvetemedve Please try25b9c72c8b/etc/evince.profileif plain oldfirejail --private-lib evincedoesn't work.I'm not all that familiar with libraries - is it safe to assume that all distros will have a library file precisely named libpoppler-glib.so.8? If not then we might need to add wildcard expansion to private-lib so we could do something more like
private-lib ibpoppler-glib.so.*@elvetemedve commented on GitHub (Mar 13, 2018):
@netblue30 @Fred-Barclay Which version of Firejail do you expect me to run? I have the latest version 0.9.52.
I copied the referenced config to
~/.config/firejail/evince.profileand runfirejail /usr/bin/evince. Unfortunately I still see the same error messages (firejail-evince.log).Regarding naming of libraries, I think only the location is different from one Linux distribution to the other. There is a naming convention which tells there should be a filename without version pointing to the actual version provided by the OS level package.
In this case
libpoppler-glib.solooks like:file /usr/lib/libpoppler-glib.so/usr/lib/libpoppler-glib.so: symbolic link to libpoppler-glib.so.8
file /usr/lib/libpoppler-glib.so.8/usr/lib/libpoppler-glib.so.8: symbolic link to libpoppler-glib.so.8.9.0
file /usr/lib/libpoppler-glib.so.8.9.0/usr/lib/libpoppler-glib.so.8.9.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4d3c61c7b210d4a7b0d15e9efbe29eceaaed0f3e, stripped
@netblue30 commented on GitHub (Mar 13, 2018):
Can you get the version in git running?
libpoppler-glib.so.8 is in all distros, at least from Ubuntu 14.04 up to the latest Debian sid and arch. It shouldn't be a problem. Thanks for your help.
@elvetemedve commented on GitHub (Mar 14, 2018):
@netblue30 I'm sorry to tell you that it still complains about missing
/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cachefile (I'm using the latest code from master branch, currently 0.9.53). I turned on debugging which shows libpoppler-glib.so.8 being copied to the private lib directory (firejail-evince-with-debugging.log).Let me know if you need more info!
@netblue30 commented on GitHub (Mar 14, 2018):
Thanks @elvetemedve , let's remove private-lib for the next release, we are still missing something there.
@startx2017: can you bring in support for "private-lib libpoppler-glib.so*", something similar with private-bin and all the others?
@startx2017 commented on GitHub (Mar 17, 2018):
Sure, it will be easy.
@Fred-Barclay commented on GitHub (Apr 1, 2018):
@elvetemedve Can you test from git again? We've got some more files added to private-lib in evince.
Thanks!
Fred
@elvetemedve commented on GitHub (Apr 3, 2018):
Hi @Fred-Barclay,
I can confirm that it works well now (using the latest commit from master branch).
Thank you for the fix. :)
@Fred-Barclay commented on GitHub (Apr 3, 2018):
Awesome!
Credits to @glitsj16