Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 486338

Summary: media-libs/fontconfig-2.10* creates arbitrary fontconfig subdirectories where acroread reads PDF files
Product: Gentoo Linux Reporter: Gerold Schellstede <gentoo>
Component: [OLD] LibraryAssignee: Multilib team <multilib+disabled>
Status: RESOLVED TEST-REQUEST    
Severity: normal CC: fonts, gentoo, help, poncho
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=458104
Whiteboard:
Package list:
Runtime testing required: ---

Description Gerold Schellstede 2013-09-28 17:10:45 UTC
Everytime I open a .pdf (e.g. /X/.../Y/Z.pdf) with acroread, fontconfig creates the directory /X/.../Y/fontconfig. Thereby X and Y are arbitrary directories.

This is only with fontconfig 2.10.92 and 2.10.93. If I mask these versions and merge 2.8.0-r1, everything works well. Therefore I act on the assumtion that fontconfig is the root of the problem.

It is reproducable on all maschines I tried.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2013-09-30 13:00:40 UTC
Please post your `emerge --info' output in a comment.
Comment 2 Gerold Schellstede 2013-09-30 20:31:38 UTC
emerge --info gives me:
=============================================

Portage 2.2.1 (default/linux/amd64/13.0/desktop, gcc-4.7.3, glibc-2.15-r3, 3.11.2-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.11.2-gentoo-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T5870_@_2.00GHz-with-gentoo-2.2
KiB Mem:     8144952 total,   6532440 free
KiB Swap:   52428796 total,  52428796 free
Timestamp of tree: Sat, 28 Sep 2013 00:45:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
ccache version 3.1.9 [enabled]
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.5-r2, 3.2.5-r2
dev-util/ccache:          3.1.9
dev-util/cmake:           2.8.10.2-r2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.13.4
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.7.3-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo poly-c
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=core2 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo/ ftp://gentoo.inf.elte.hu/ ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ ftp://gd.tuwien.ac.at/opsys/linux/gentoo/  ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo/"
LANG="de_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/poly-c"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 asf audiofile bash-completion berkdb bluetooth branding bzip2 cairo cdda cdparanoia cdr cleartype cli consolekit corefonts cracklib crypt css cups curl cxx dbus dga djvu dri dts dvd dvdr dvi emboss encode exif fam ffmpeg firefox flac fontconfig foomaticdb fortran ftp fuse g3dvl gd gdbm gif gimp gnutls gphoto2 gs gstreamer gtk hddtemp iconv idn imap introspection ipod java javascript jbig jpeg jpeg2k ladspa lame lash lcms ldap libnotify libsamplerate lm_sensors mad matroska midi mikmod mime mjpeg mmx mng modules mozilla mp3 mp4 mpeg mudflap multilib musepack nas ncurses nls nptl nsplugin ocr ogg openal opencl openexr opengl openmp openvg osc pam pango pcmcia pcre pdf php plotutils png policykit ppds quicktime readline real rtc samba scanner sdl session shorten slp sna sndfile snmp sockets socks5 sound speex spell sse sse2 ssl startup-notification subversion svg szip tcpd theora thunar tiff timidity truetype type3 udev udisks unicode upower usb v4l vaapi vcd vlc vorbis wavpack win32codecs winbind wma wmf wxwidgets x264 xanim xcb xcomposite xinerama xinetd xml xorg xpm xulrunner xv xvid zlib" ABI_X86="64" ALSA_CARDS="intel-hda" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" GRUB_PLATFORMS="pc efi-64" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby19 ruby18" SANE_BACKENDS="avision" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================
USE="-doc -static-libs" ABI_X86="64 -32 -x32"

media-libs/fontconfig-2.10.92 was built with the following:
Comment 3 Gerold Schellstede 2013-10-01 12:53:06 UTC
I figured out that the problem goes away if one copy one of the arbitrary created "fontconfig"-folders to ~/.fontconfig. 

If yout then delete ~/.fontconfig the problem comes back. 

It seems to me that fontconfig looks, if the folder ~/.fontconfig exists and if a expected file-subset is in there. If this is the case, fontconfig do nothing. If that is not the case, fontconfig creates this folder with content. At this point fontconfig 2.10.92 and 2.10.93 creates - in a different way from the previous version - the fontconfig folder in the directory where one open the .pdf file. The previous versions created ~/.fontconfig instead.

If you have a ~/.fontconfig folder created from an older fontconfig version one do not notice the bug. So I think that most of the users don't notice the problem, but it's there. 

Best regards
Comment 4 BT 2013-10-05 23:27:21 UTC
As someone pointed out in bug #486940, it appears that this issue is fixed in git master with the following commit.

http://cgit.freedesktop.org/fontconfig/commit/?id=3e5f70a16ac6d54f1e01c92ddaa5985deec1b7f9

I haven't been able to test it as there are too many changes since 2.10.93 to create a simple patch.
Comment 5 Gerold Schellstede 2013-10-06 12:18:55 UTC
Hello again,

thanks for your answer. I don't think that a patch is needed as one can workaround this problem. I postet the bug only to overcome the problem in further versions of fontconfig >2.10.93. 

I saw another bug reported in Bugzilla, that suffers from the same problem: 

https://bugs.gentoo.org/show_bug.cgi?id=486940

Here frontconfig creates a ~/fontconfig instead of ~/.fontconfig with skype. This is the same behaviour as you open a pdf from "Desktop".

So I think the problem is definetly fontconfig and not acroread (or skype).  

Best regards
Comment 6 Ben de Groot (RETIRED) gentoo-dev 2013-10-21 04:15:40 UTC
Please test fontconfig-2.11.0 and tell us whether this issue has been solved.
Comment 7 Gerold Schellstede 2013-10-24 10:43:30 UTC
No, the problem is still the same with this version (2.11.0).
Comment 8 poncho 2013-10-24 14:14:03 UTC
(In reply to Gerold Schellstede from comment #2)
> Portage 2.2.1 (default/linux/amd64/13.0/desktop, gcc-4.7.3, glibc-2.15-r3,
> 3.11.2-gentoo x86_64)
> [...]
> USE="-doc -static-libs" ABI_X86="64 -32 -x32"

(In reply to Ben de Groot from comment #6)
> Please test fontconfig-2.11.0 and tell us whether this issue has been solved.

I think acroread uses fontconfig from app-emulation/emul-linux-x86-xlibs
Comment 9 Ben de Groot (RETIRED) gentoo-dev 2013-10-26 10:38:16 UTC
@multilib: it looks like you need to update the fontconfig version included in app-emulation/emul-linux-x86-xlibs
Comment 10 Ben de Groot (RETIRED) gentoo-dev 2013-10-26 10:39:28 UTC
*** Bug 458104 has been marked as a duplicate of this bug. ***
Comment 11 Ben de Groot (RETIRED) gentoo-dev 2013-10-26 10:39:46 UTC
*** Bug 486940 has been marked as a duplicate of this bug. ***
Comment 12 Gerold Schellstede 2013-10-26 11:53:06 UTC
I do not understand what "app-emulation/emul-linux-x86-xlibs" has to do with this problem, because the problem depends on the installed version of fontconfig. If acroread uses "emul-linux-x86-xlibs" I would assume that the problem depends on the version of "emul-linux-x86-xlibs" installed. 

Additionally emul-linux-x86-xlibs seems to me as an old style to install 32bit libs. The new way I think is to activate the 32bit-ABI-Flag of fontconfig isn't it?
Comment 13 Samuel Bauer 2013-10-26 21:29:55 UTC
I just come to see that it also uses to create:
$XDG_CACHE_DIR/~/.config/fontconfig directory

don't know if related to the fix I made after reading: http://forums.debian.net/viewtopic.php?f=6&t=87548

FIX: sed -i '/prefix="xdg"/d' /etc/fonts/fonts.conf

or to:
/etc/fonts/fonts.conf:  <cachedir>~/.config/fontconfig</cachedir>
Comment 14 Pacho Ramos gentoo-dev 2016-03-08 14:23:59 UTC
Please recheck with 9.5.5-r3 as it's finally using a new enough fontconfig version
Comment 15 Gerold Schellstede 2016-03-10 10:16:22 UTC
(In reply to Pacho Ramos from comment #14)
> Please recheck with 9.5.5-r3 as it's finally using a new enough fontconfig
> version

Thanks for your reply. The problem is gone now. Thanks a lot!