PDA

View Full Version : SE Linux prevents Google Earth from running



jcwolff
4th December 2008, 12:41 AM
When I try to run google earth from a terminal I get the following message:
./googleearth-bin: error while loading shared libraries: /usr/lib/tls/libnvidia-tls.so.1: cannot restore segment prot after reloc: Permission denied

It doesnt mather if I run as root or as user. Still I get the same problem.


One poster on the Google Earth forum just turned off SE Linux, which I prefer not to do. Can someone offer thoughts on rules needed to allow GE to run?

terry_g
4th December 2008, 01:13 AM
I had the same problem and resolved it with Dangermouse's guide.

http://dnmouse.org/googleearth.html

Terry

yelamdenu
4th December 2008, 01:51 AM
Did you get any SELinux messages?
The trick would be to find out what "cannot restore segment prot after reloc: Permission denied" really means. In any case, if you throw that line in a search engine you'll end up with the advise of disabling SELinux.
However your proprietary video driver is what's reallyto blame. ;-)

jcwolff
5th December 2008, 12:28 AM
I had the same problem and resolved it with Dangermouse's guide.

http://dnmouse.org/googleearth.html

Terry


Thanks for the reference. Two things:


I am running Fedora 10 within a VMware virtual machine.
the Google Earth installer never put anything into the /usr/lib/googleearth directory


BTW, the first attempt at installing failed because I should have run it as root. Once I kicked it off with sudo, it at least ran. then I ran into issues with it not being able to write to several directories it created. Go figure. sudo chmod is my friend

At that point, I could run the installer to completion with no errors but I still got the SELinux error. So, I started the next bit, serial copy and paste of the

su -
chcon -t textrel_shlib_t '/usr/lib/googleearth/librender.so'
chcon -t textrel_shlib_t '/usr/lib/googleearth/libauth.so'
chcon -t textrel_shlib_t '/usr/lib/googleearth/libminizip.so'
chcon -t textrel_shlib_t '/usr/lib/googleearth/libevll.so'
chcon -t textrel_shlib_t '/usr/lib/googleearth/libmeasure.so'
chcon -t textrel_shlib_t '/usr/lib/googleearth/liblayer.so'
chcon -t textrel_shlib_t '/usr/lib/googleearth/libflightsim.so'
chcon -t textrel_shlib_t '/usr/lib/googleearth/libnavigate.so'
chcon -t textrel_shlib_t '/usr/lib/googleearth/libgooglesearch.so'
chcon -t textrel_shlib_t '/usr/lib/googleearth/libinput_plugin.so'
chcon -t textrel_shlib_t '/usr/lib/googleearth/libgps.so'
chcon -t textrel_shlib_t '/usr/lib/googleearth/libbasicingest.so'
chcon -t textrel_shlib_t /usr/lib/googleearth/libminizip.so

lines only to discover that the /usr/lib/googleearth directory had nothing in it.

Can I safely find those files somewhere on the net?

terry_g
5th December 2008, 12:56 AM
Where did you install Google Earth?
My install was into my home directory.
you have to edit the terminal command accordingly
and there is a dash - in google-earth

chcon -t textrel_shlib_t '/home/user/google-earth/librender.so'

jcwolff
5th December 2008, 01:25 AM
I stepped through the SELinux denial messages and copied and pasted the required correction command (which did include a dash inside google-earth unlike the instructions found on the otherwise excellent http://dnmouse.org/googleearth.html page), one by one.

Google Earth now runs and generates no SELinux error messages. However, the font is seriously bad. I did install the bitstream fonts. How do I get GE to use them?

manuelr
16th April 2009, 08:59 PM
if you follow the steps in http://dnmouse.org/googleearth.html

maybe you check that lib files are into /usr/local/google-earth and not in /usr/lib/googleeath ...

you can also do this to solve this problem!!!

for files in ls /usr/local/google-earth/lib* ; do echo " SeLinux type in " $files ; chcon -t textrel_shlib_t $files ; done