Skip to content

Commit a24ef27

Browse files
fanquakehebasto
andcommitted
build: patch around qt duplicate symbol issue
This is currently causing the same failure in two different PRs: ```bash duplicate symbol 'lcQpaFonts()' in: /tmp/cirrus-ci-build/depends/x86_64-apple-darwin/lib/libQt5ThemeSupport.a(qgenericunixthemes.o) /tmp/cirrus-ci-build/depends/x86_64-apple-darwin/lib/libQt5FontDatabaseSupport.a(qfontengine_coretext.o) ld: 1 duplicate symbol for architecture x86_64 ``` ```bash x86_64-apple-darwin-ld: error: duplicate symbol: __Z10lcQpaFontsv >>> defined in /tmp/cirrus-ci-build/depends/x86_64-apple-darwin/lib/libQt5ThemeSupport.a(qgenericunixthemes.o) >>> defined in /tmp/cirrus-ci-build/depends/x86_64-apple-darwin/lib/libQt5FontDatabaseSupport.a(qfontengine_coretext.o) ``` Co-authored-by: Hennadii Stepanov <[email protected]>
1 parent 1021e4c commit a24ef27

File tree

2 files changed

+106
-1
lines changed

2 files changed

+106
-1
lines changed

depends/packages/qt.mk

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ $(package)_patches += dont_use_avx_android_x86_64.patch dont_hardcode_x86_64.pat
1313
$(package)_patches += fix_android_jni_static.patch dont_hardcode_pwd.patch
1414
$(package)_patches += qtbase-moc-ignore-gcc-macro.patch fix_limits_header.patch
1515
$(package)_patches += fix_bigsur_style.patch use_android_ndk23.patch
16-
$(package)_patches += rcc_hardcode_timestamp.patch
16+
$(package)_patches += rcc_hardcode_timestamp.patch duplicate_lcqpafonts.patch
1717

1818
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
1919
$(package)_qttranslations_sha256_hash=d5788e86257b21d5323f1efd94376a213e091d1e5e03b45a95dd052b5f570db8
@@ -243,6 +243,7 @@ define $(package)_preprocess_cmds
243243
patch -p1 -i $($(package)_patch_dir)/fix_bigsur_style.patch && \
244244
patch -p1 -i $($(package)_patch_dir)/use_android_ndk23.patch && \
245245
patch -p1 -i $($(package)_patch_dir)/rcc_hardcode_timestamp.patch && \
246+
patch -p1 -i $($(package)_patch_dir)/duplicate_lcqpafonts.patch && \
246247
mkdir -p qtbase/mkspecs/macx-clang-linux &&\
247248
cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\
248249
cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
QtGui: Fix duplication of logging category lcQpaFonts
2+
3+
Move it to qplatformfontdatabase.h.
4+
5+
Upstream commit:
6+
- Qt 6.0: ab01885e48873fb2ad71841a3f1627fe4d9cd835
7+
8+
--- a/qtbase/src/gui/text/qplatformfontdatabase.cpp
9+
+++ b/qtbase/src/gui/text/qplatformfontdatabase.cpp
10+
@@ -52,6 +52,8 @@
11+
12+
QT_BEGIN_NAMESPACE
13+
14+
+Q_LOGGING_CATEGORY(lcQpaFonts, "qt.qpa.fonts")
15+
+
16+
void qt_registerFont(const QString &familyname, const QString &stylename,
17+
const QString &foundryname, int weight,
18+
QFont::Style style, int stretch, bool antialiased,
19+
20+
--- a/qtbase/src/gui/text/qplatformfontdatabase.h
21+
+++ b/qtbase/src/gui/text/qplatformfontdatabase.h
22+
@@ -50,6 +50,7 @@
23+
//
24+
25+
#include <QtGui/qtguiglobal.h>
26+
+#include <QtCore/qloggingcategory.h>
27+
#include <QtCore/QString>
28+
#include <QtCore/QStringList>
29+
#include <QtCore/QList>
30+
@@ -62,6 +63,7 @@
31+
32+
QT_BEGIN_NAMESPACE
33+
34+
+Q_DECLARE_LOGGING_CATEGORY(lcQpaFonts)
35+
36+
class QWritingSystemsPrivate;
37+
38+
39+
--- a/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
40+
+++ b/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
41+
@@ -86,8 +86,6 @@
42+
43+
QT_BEGIN_NAMESPACE
44+
45+
-Q_LOGGING_CATEGORY(lcQpaFonts, "qt.qpa.fonts")
46+
-
47+
static float SYNTHETIC_ITALIC_SKEW = std::tan(14.f * std::acos(0.f) / 90.f);
48+
49+
bool QCoreTextFontEngine::ct_getSfntTable(void *user_data, uint tag, uchar *buffer, uint *length)
50+
51+
--- a/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h
52+
+++ b/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h
53+
@@ -64,8 +64,6 @@
54+
55+
QT_BEGIN_NAMESPACE
56+
57+
-Q_DECLARE_LOGGING_CATEGORY(lcQpaFonts)
58+
-
59+
class QCoreTextFontEngine : public QFontEngine
60+
{
61+
Q_GADGET
62+
63+
--- a/qtbase/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp
64+
+++ b/qtbase/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp
65+
@@ -68,8 +68,6 @@
66+
67+
QT_BEGIN_NAMESPACE
68+
69+
-Q_LOGGING_CATEGORY(lcQpaFonts, "qt.qpa.fonts")
70+
-
71+
#ifndef QT_NO_DIRECTWRITE
72+
// ### fixme: Consider direct linking of dwrite.dll once Windows Vista pre SP2 is dropped (QTBUG-49711)
73+
74+
75+
--- a/qtbase/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_p.h
76+
+++ b/qtbase/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_p.h
77+
@@ -63,8 +63,6 @@
78+
79+
QT_BEGIN_NAMESPACE
80+
81+
-Q_DECLARE_LOGGING_CATEGORY(lcQpaFonts)
82+
-
83+
class QWindowsFontEngineData
84+
{
85+
Q_DISABLE_COPY_MOVE(QWindowsFontEngineData)
86+
87+
--- a/qtbase/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp
88+
+++ b/qtbase/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp
89+
@@ -40,6 +40,7 @@
90+
#include "qgenericunixthemes_p.h"
91+
92+
#include "qpa/qplatformtheme_p.h"
93+
+#include "qpa/qplatformfontdatabase.h"
94+
95+
#include <QtGui/QPalette>
96+
#include <QtGui/QFont>
97+
@@ -76,7 +77,6 @@
98+
QT_BEGIN_NAMESPACE
99+
100+
Q_DECLARE_LOGGING_CATEGORY(qLcTray)
101+
-Q_LOGGING_CATEGORY(lcQpaFonts, "qt.qpa.fonts")
102+
103+
ResourceHelper::ResourceHelper()
104+
{

0 commit comments

Comments
 (0)