Fontconfig oddness

Issues related to applications and software problems and general support
Post Reply
mathog
Posts: 258
Joined: 2008/07/09 23:52:06

Fontconfig oddness

Post by mathog » 2020/05/21 23:20:36

Today Inkscape 1.0 was installed (from their site) on CentOS 8. When it runs this happens:

Code: Select all

inkscape
Run experimental bundle that bundles everything
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 5: unknown element "its:translateRule"
Fontconfig error: "/etc/fonts/conf.d/10-hinting-slight.conf", line 5: invalid attribute 'translate'
Fontconfig error: "/etc/fonts/conf.d/10-hinting-slight.conf", line 5: invalid attribute 'selector'
Fontconfig error: "/etc/fonts/conf.d/10-hinting-slight.conf", line 6: invalid attribute 'xmlns:its'
Fontconfig error: "/etc/fonts/conf.d/10-hinting-slight.conf", line 6: invalid attribute 'version'
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 5: unknown element "its:translateRule"
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 5: invalid attribute 'translate'
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 5: invalid attribute 'selector'
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 6: invalid attribute 'xmlns:its'
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 6: invalid attribute 'version'
(etc.)
The system has these RPMS installed:

Code: Select all

fontconfig-2.13.1-3.el8.i686
fontconfig-devel-2.13.1-3.el8.x86_64
fontconfig-2.13.1-3.el8.x86_64
The first one was for some piece of 32 bit software. Searching for those error messages turned up a lot of Ubuntu examples, like this one:

https://askubuntu.com/questions/1098809 ... fontconfig

Which said that the problem was with 2.13. Solutions generally involved finding some way to use an earlier configuration file (like from 2.12) or reinstalling. I tried to fix it with:

Code: Select all

dnf reinstall fontconfig-2.13.1-3.el8.x86_64
and that ran without problems, but the problem remained.

Is this a known problem with CentOS 8?

Thanks,

David Mathog

chemal
Posts: 776
Joined: 2013/12/08 19:44:49

Re: Fontconfig oddness

Post by chemal » 2020/05/22 00:40:15

mathog wrote:
2020/05/21 23:20:36
Is this a known problem with CentOS 8?
No. This is a known problem of the Inkscape AppImage you downloaded. It bundles an old copy of fontconfig that cannot read the system's fontconfig configuration files.

mathog
Posts: 258
Joined: 2008/07/09 23:52:06

Re: Fontconfig oddness

Post by mathog » 2020/05/22 19:55:51

OK. Trying to build it from source now. Ran into the problem that CentOS 8 has no potrace-devel rpm,
which stops the Inkscape cmake, and trying to build one results in this:

Code: Select all

wget http://vault.centos.org/8.1.1911/AppStream/Source/SPackages/potrace-1.15-2.el8.src.rpm
rpmbuild --rebuild potrace-1.15-2.el8.src.rpm
...
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for x86_64-redhat-linux-gnu-clang... no
checking for x86_64-redhat-linux-gnu-gcc... no
checking for x86_64-redhat-linux-gnu-cc... no
checking for x86_64-redhat-linux-gnu-c99... no
checking for x86_64-redhat-linux-gnu-mgcc... no
checking for x86_64-redhat-linux-gnu-c89... no
checking for x86_64-redhat-linux-gnu-pcc... no
checking for x86_64-redhat-linux-gnu-opencc... no
checking for x86_64-redhat-linux-gnu-sunc99... no
checking for x86_64-redhat-linux-gnu-suncc... no
checking for clang... clang
checking whether the C compiler works... no
Both gcc and clang are installed, and they do both work. Ugh. Will unpack the RPM and delve into this deeper after lunch.

mathog
Posts: 258
Joined: 2008/07/09 23:52:06

Re: Fontconfig oddness

Post by mathog » 2020/05/23 00:25:35

Well, that only took an entire afternoon. For future reference, below are the steps I had to take
to build the Inkscape release from source. "modules" is the normal user for software development,
and "root" is, well, root.

Code: Select all

  #download source using browser from inkscape.org
  #and unpack in /usr/common/src/inkscape-1.0*
  #there are MANY dependencies which need to go in first:
  ##############################
  #as root
  cd /tmp
  dnf install libsoup-devel
  dnf install double-conversion-devel
  dnf install gc-devel
  dnf install poppler-devel
  dnf install libwpg-devel
  dnf install libvisio-devel
  dnf install libwpd-devel
  dnf install libcdr
  dnf install boost-devel
  dnf install help2man
  dnf install cppunit-devel
  wget http://vault.centos.org/8.1.1911/AppStream/Source/SPackages/libcdr-0.1.4-4.el8.src.rpm
  rpmbuild --rebuild libcdr-0.1.4-4.el8.src.rpm
  dnf install ~/rpmbuild/RPMS/x86_64/libcdr-devel-0.1.4-4.el8.x86_64.rpm 
  mv /root/rpmbuild/RPMS/x86_64/libcdr-devel-0.1.4-4.el8.x86_64.rpm \
     /root/rebuilt_rpms/x86_64
  rm -rf /root/rpmbuild
  dnfinstall potrace
  #needs potrace-devel, there is no such RPM
  wget http://vault.centos.org/8.1.1911/AppStream/Source/SPackages/potrace-1.15-2.el8.src.rpm
  rpmbuild -rp potrace-1.15-2.el8.src.rpm
  nedit /root/rpmbuild/SPECS/potrace.spec
  #add: export CC=/usr/bin/gcc
  #right before %configure
  rpmbuild -ba /root/rpmbuild/SPECS/potrace.spec
  cd /root/rpmbuild/RPMS/x86_64
  dnf install /root/rpmbuild/RPMS/x86_64/potrace-devel-1.15-2.el8.x86_64.rpm
  mv /root/rpmbuild/RPMS/x86_64/potrace-devel-1.15-2.el8.x86_64.rpm \
     /root/rebuilt_rpms/x86_64
  rm -rf /root/rpmbuild    
  dnf install gtkmm30-devel
  wget https://download.fedoraproject.org/pub/fedora/linux/releases/31/Everything/source/tree/Packages/l/libgdl-3.34.0-1.fc31.src.rpm
  dnf -y install gobject-introspection-devel
  dnf -y install gtk-doc
  rpmbuild --rebuild libgdl-3.34.0-1.fc31.src.rpm
  dnf install \
      /root/rpmbuild/RPMS/x86_64/libgdl-3.34.0-1.el8.x86_64.rpm \
      /root/rpmbuild/RPMS/x86_64/libgdl-devel-3.34.0-1.el8.x86_64.rpm
  mv /root/rpmbuild/RPMS/x86_64/libgdl-3.34.0-1.el8.x86_64.rpm \
     /root/rpmbuild/RPMS/x86_64/libgdl-devel-3.34.0-1.el8.x86_64.rpm \
     /root/rebuilt_rpms/x86_64
  rm -rf /root/rpmbuild    
  dnf -y install gtkspell3-devel
  dnf -y install aspell-devel
  dnf -y install libxslt-devel
  dnf -y install gtest-devel
  dnf -y install ccache
  dnf -y install poppler-glib-devel
  dnf -y install ImageMagick-c++-devel
  /bin/rm *tar.gz
  ##############################
  #as modules
  cd /usr/common/src/inkscape*
  mkdir build
  cd build
  cmake \
    -DCMAKE_INSTALL_PREFIX=$TOPDIR \
    -DCMAKE_C_COMPILER_LAUNCHER=ccache \
    -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
    -DBOOST_INCLUDEDIR=/usr/include/boost169 \
    -DBOOST_LIBRARYDIR=/usr/lib64/boost169 \
    -DBoost_NO_SYSTEM_PATHS=ON \
    .. 2>&1 | tee cmake_2020_05_22.log
  make -j6     2>&1 | tee build_2020_05_22.log
  make install 2>&1 | tee install_2020_05_22.log
  make test    2>&1 | tee test_2020_05_22.log
All the test passed. This one starts without the fontconfig messages.

Post Reply