Mantis - fontconfig
Viewing Issue Advanced Details
1519 packaging feature always 2006-03-05 09:22 2013-11-17 09:52
asmoore  
amaier  
normal  
closed  
won't fix  
none    
none  
0001519: fc-cache running in non-global zone
On Solaris 10 in a non-global zone; fc-cache produces error after error.
fc-cache should not run in a non-global zone by default. I get a huge number of errors like:
Can\'t save cache in \"/usr/openwin/lib/X11/fonts/CSL/encodings\"
Can\'t save cache in \"/usr/openwin/lib/X11/fonts/CSL/fonts\"
Can\'t save cache in \"/usr/openwin/lib/X11/fonts/CSL/pgfonts\"
Can\'t save cache in \"/usr/openwin/lib/X11/fonts/CSL/pgfsupp\"
Can\'t save cache in \"/usr/openwin/lib/X11/fonts/Type3\"
Issue History
2009-02-05 10:19 amaier Status acknowledged => assigned
2009-02-05 10:19 amaier Assigned To => amaier
2013-11-17 09:52 raos Status assigned => closed
2013-11-17 09:52 raos Resolution open => won't fix

Notes
(0003223)
amaier   
2006-03-05 09:50   
Well, from your zone you can\'t even write as root into these directories, but you need them listed in fonts.conf, because they may contain fonts. Same as with fc-cache of Solaris (/usr/bin/fc-cache).

So I don\'t see what\'s wrong.

Why are you running fc-cache inside a zone ?

--Alexander
(0003224)
asmoore   
2006-03-05 10:04   
Actually, your question is my question and the problem.

One of the ways to setup a non-globabl zone, and this is probably the most typical, is to mount /usr from the global zone in the non-global zones with lofs. The mount is -ro in the non-global zone.

I installed a package in a non-global zone and pkg-get installed fontconfig as a dependency. Therefore, I suspect that fc-cache was started from postinstall. After running at very heavy cpu utilization and spitting out error after error, I finally got the process to die.

You can use /usr/bin/zonename, if it exists, to determine the zonename. I believe this is correct, but you may want to confirm, zonename returns \'global\' when run from the global zone. If the zonename binary exists and does not return \'global\', you may want to send a message that fc-cache was not run and, if needed, can be run with the init script.