question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[package] qt/6.2.3: with_fontconfig option does not enable fontconfig in qt

See original GitHub issue

Package and Environment Details (include every applicable attribute)

  • Package Name/Version: qt/6.2.3
  • Operating System+version: Linux Ubuntu 20.04
  • Compiler+version: GCC 9.3
  • Docker image: ubuntu:20.04
  • Conan version: conan 1.45.0
  • Python version: Python 2.7.18 & Python 3.8.10

Conan profile (output of conan profile show default or conan profile show <profile> if custom profile is in use)

[settings]
os=Linux
os_build=Linux
arch=x86_64
arch_build=x86_64
compiler=gcc
compiler.version=9
compiler.libcxx=libstdc++11
build_type=RelWithDebInfo
[options]
[conf]
[build_requires]
[env]

Steps to reproduce (Include if Applicable)

Build the qt package with the following options:

        self.requires('qt/6.2.3@')
        self.options['qt'].device = None
        self.options['qt'].gui = True
        self.options['qt'].widgets = True
        self.options['qt'].multiconfiguration = False
        self.options['qt'].opengl = 'desktop'
        self.options['qt'].openssl = True
        self.options['qt'].qt3d = False
        self.options['qt'].qt5compat = False
        self.options['qt'].qtactiveqt = False
        self.options['qt'].qtcharts = False
        self.options['qt'].qtcoap = False
        self.options['qt'].qtconnectivity = False
        self.options['qt'].qtdatavis3d = False
        self.options['qt'].qtdeclarative = True
        self.options['qt'].qtdoc = False
        self.options['qt'].qtimageformats = True
        self.options['qt'].qtlottie = False
        self.options['qt'].qtmqtt = False
        self.options['qt'].qtmultimedia = False
        self.options['qt'].qtnetworkauth = False
        self.options['qt'].qtopcua = False
        self.options['qt'].qtpositioning = False
        self.options['qt'].qtquick3d = False
        self.options['qt'].qtquicktimeline = False
        self.options['qt'].qtremoteobjects = False
        self.options['qt'].qtscxml = False
        self.options['qt'].qtsensors = False
        self.options['qt'].qtserialbus = False
        self.options['qt'].qtserialport = False
        self.options['qt'].qtshadertools = True
        self.options['qt'].qtsvg = False
        self.options['qt'].qttools = False
        self.options['qt'].qttranslations = False
        self.options['qt'].qtvirtualkeyboard = False
        self.options['qt'].qtwayland = False
        self.options['qt'].qtwebchannel = False
        self.options['qt'].qtwebengine = False
        self.options['qt'].qtwebsockets = False
        self.options['qt'].qtwebview = False
        self.options['qt'].shared = True
        self.options['qt'].with_brotli = True
        self.options['qt'].with_dbus = True
        self.options['qt'].with_doubleconversion = True
        self.options['qt'].with_freetype = True
        self.options['qt'].with_fontconfig = True
        self.options['qt'].with_glib = False
        self.options['qt'].with_harfbuzz = False
        self.options['qt'].with_icu = True
        self.options['qt'].with_libjpeg = 'libjpeg'
        self.options['qt'].with_libpng = True
        self.options['qt'].with_mysql = False
        self.options['qt'].with_odbc = False
        self.options['qt'].with_pcre2 = True
        self.options['qt'].with_pq = False
        self.options['qt'].with_sqlite3 = False
        self.options['qt'].with_vulkan = False
        self.options['qt'].with_zstd = False

When I build and run a simple QML application with text:

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts

ApplicationWindow {
    visible: true
    title: qsTr("Hello")

    Column {
      Label {
        text: "Hello world!"
        font.pixelSize: 52
      }
  }
}

It does not render the text at all. There is no error printed either (can I make QML more verbose?). ldd does not show it is linked with fontconfig.

When I build against the pre-compiled GCC 64-bit binary (using aqt), the above works. ldd shows that the executable is linked to fontconfig and libfreetype.

dump.txt

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

2reactions
ericLemanissiercommented, Mar 21, 2022

ping @bverhagen, Can you please retry with option qt:harfbuzz=True ?

0reactions
bverhagencommented, Mar 23, 2022

@ericLemanissier : Apologies for the delay, testing with that option enabled slipped my mind.

I retried with harfbuzz enabled and that indeed fixes the issue! Thx!

Read more comments on GitHub >

github_iconTop Results From Across the Web

Building Qt for Linux x86 with fontconfig support - Stack Overflow
When running configure with the option -fontconfig, I get the following error message: ERROR: Feature 'fontconfig' was enabled, but the pre- ...
Read more >
Qt Configure Options | Qt 6.5 - Qt Documentation Snapshots
Configuring with the -prefix option means that the Qt binaries and libraries are installed into another directory, which is /opt/Qt6 in this case....
Read more >
x11-fonts/fontconfig: XML-based font configuration API for X ...
Fontconfig does the following: * discover new fonts when installed automatically, removing a common source of configuration problems.
Read more >
Bug List - FreeBSD Bugzilla
ID Product Component Assignee△ Status△ Changed 262555 Ports & Packages Individual Port(s) ports‑bugs New 2022‑03‑14 267407 Ports & Packages Individual Port(s) 0mp New 2022‑10‑30 243102 Ports...
Read more >
1374989 – Qt 5 uses wrong fontconfig defaults at least for ...
Description of problem: Qt 5 appears to not enable subpixel antialiasing by default when freetype-freeworld is installed, whereas Qt 3 and 4 ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found