Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{lib}[GCCcore/13.2.0] Qt5 v5.15.11, double-conversion v3.3.0, snappy v1.1.10 #19320

Closed

Conversation

boegel
Copy link
Member

@boegel boegel commented Nov 26, 2023

(created using eb --new-pr)

draft PR, still hitting build failures...

…3.3.0-GCCcore-13.2.0.eb, snappy-1.1.10-GCCcore-13.2.0.eb and patches: Qt5-5.15.11_fix-XKB_KEY_dead.patch, Qt5-5.15.11_fix-includes.patch
@boegel boegel added the update label Nov 26, 2023
@boegel boegel marked this pull request as draft November 26, 2023 15:58
@boegel boegel added the 2023b label Nov 26, 2023
@boegel boegel added this to the next release (4.9.0?) milestone Nov 26, 2023
@boegel
Copy link
Member Author

boegel commented Nov 26, 2023

@boegelbot please test @ generoso
CORE_CNT=16

@boegelbot
Copy link
Collaborator

@boegel: Request for testing this PR well received on login1

PR test command 'EB_PR=19320 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs /opt/software/slurm/bin/sbatch --job-name test_PR_19320 --ntasks="16" ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 12262

Test results coming soon (I hope)...

- notification for comment with ID 1826820968 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
FAILED
Build succeeded for 2 out of 3 (3 easyconfigs in total)
cnx1 - Linux Rocky Linux 8.5, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/boegelbot/e5aa882917f25886ff830341c46570d5 for a full test report.

@Neves-P
Copy link
Contributor

Neves-P commented Feb 8, 2024

A short update on this, I've been trying out the build here and there and have added a bunch of +#include <cstdint> to files on the easybuild/easyconfigs/q/Qt5/Qt5-5.15.11_fix-includes.patch. Many are needed as explained here, in the Header dependency changes section.

Not there yet and I'll keep going until it builds, but just in case anyone else is looking at this in parallel and I can save you some time, I've already added the following:

--- qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h    2024-02-05 17:28:47.639442900 +0100
+++ qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h        2024-02-05 17:21:13.012576700 +0100
@@ -16,6 +16,7 @@
 #endif  // defined(ANGLE_USE_ABSEIL)

 #include <climits>
+#include <cstdint>
 #include <cstdarg>
 #include <cstddef>
 #include <set>

--- qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h        2022-09-19 16:36:40.000000000 +0200
+++ qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h    2024-02-06 13:03:21.161099100 +0100
@@ -14,6 +14,7 @@
 #include <array>
 #include <string>
 #include <vector>
+#include <cstdint>

 // This type is defined here to simplify ANGLE's integration with glslang for SPIRv.
 using ShCompileOptions = uint64_t;

--- qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h  2022-09-19 16:36:40.000000000 +0200
+++ qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h      2024-02-07 09:52:46.603384600 +0100
@@ -36,6 +36,7 @@
 #include <string>

 #include "client/linux/handler/microdump_extra_info.h"
+#include <cstdint>
 #include "common/using_std_string.h"

 // This class describes how a crash dump should be generated, either:

--- qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h      2022-09-19 16:36:40.000000000 +0200
+++ qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h  2024-02-07 13:53:13.782038900 +0100
@@ -21,6 +21,7 @@
 #include <string>

 #include "perfetto/ext/base/optional.h"
+#include <cstdint>

 namespace perfetto {
 namespace base {

--- qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h    2022-09-19 16:36:40.000000000 +0200
+++ qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h    2024-02-07 15:10:06.311335400 +0100
@@ -13,6 +13,7 @@
 #define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_

 #include <string>
+#include <cstdint>
 #include <vector>

 #include "rtc_base/system/rtc_export.h"

--- qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h   2022-09-19 16:36:40.000000000 +0200
+++ qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h   2024-02-07 16:40:51.513952700 +0100
@@ -13,6 +13,7 @@
 #include "src/base/build_config.h"
 #include "src/base/compiler-specific.h"
 #include "src/base/template-utils.h"
+#include <cstdint>

 V8_BASE_EXPORT V8_NOINLINE void V8_Dcheck(const char* file, int line,
                                           const char* message);

--- qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/v8/src/inspectorv8-string-conversions.h  2022-09-19 16:36:40.000000000 +0200
+++ qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h 2024-02-08 09:25:06.505771900 +0100
@@ -6,6 +6,7 @@
 #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_

 #include <string>
+#include <cstdint>

 // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may
 // want to use string-16.h directly rather than these.

--- qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/devive/bluetooth/public/cpp/bluetooth_uuid.h    2024-02-08 14:34:06.898045700 +0100
+++ qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h    2022-09-19 16:36:40.000000000 +0200
@@ -9,6 +9,7 @@
 #include <vector>

 #include "build/build_config.h"
+#include <cstdint>

 #if defined(OS_WIN)
 #include <rpc.h>

---  qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc     2022-09-19 16:36:40.000000000 +0200
+++  qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc     2024-02-12 12:48:27.144323900 +0100
@@ -3,6 +3,7 @@
 // found in the LICENSE file.

 #include "device/base/synchronization/one_writer_seqlock.h"
+#include <cstdint>

 namespace device {

--- qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h  2022-09-19 16:36:40.000000000 +0200
+++ qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h  2024-02-12 15:05:39.901360900 +0100
@@ -9,6 +9,7 @@
 #include <vector>

 #include "net/base/net_export.h"
+#include <cstdint>

 class GURL;

--- qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h  2024-02-12 16:10:13.085575300 +0100
+++ qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h  2024-02-12 16:10:05.389321600 +0100
@@ -16,6 +16,7 @@
 #include <string>
 #include <utility>
 #include <vector>
+#include <cstdint>

 namespace webrtc {

--- qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h 2024-02-12 17:29:24.275236700 +0100
+++ qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h 2024-02-12 17:29:34.613310700 +0100
@@ -4,6 +4,7 @@

 #ifndef UI_EVENTS_TYPES_SCROLL_TYPES_H_
 #define UI_EVENTS_TYPES_SCROLL_TYPES_H_
+#include <cstdint>

 namespace ui {

--- qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h  2022-09-19 16:36:40.000000000 +0200
+++ qt-everywhere-src-5.15.11.orig/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h  2024-02-13 11:06:01.940993000 +0100
@@ -14,6 +14,7 @@
 #include "gpu/gpu_export.h"
 #include "media/media_buildflags.h"
 #include "ui/gfx/buffer_types.h"
+#include <cstdint>

 #if defined(USE_OZONE)
 #include "base/message_loop/message_pump_type.h"

@Neves-P
Copy link
Contributor

Neves-P commented Feb 26, 2024

After a few more #include <cstdint> patches, I've now run into:

[16955/25505] CXX obj/ui/gfx/x/xprotos/present.o
FAILED: obj/ui/gfx/x/xprotos/present.o
/home/pedro/.local/easybuild/software/GCCcore/13.2.0/bin/g++ -MMD -MF obj/ui/gfx/x/xprotos/present.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DIS_X11_IMPL -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -Igen -I../../3rdparty/chromium -I../../3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen -I../../3rdparty/chromium/third_party/abseil-cpp -I../../3rdparty/chromium/third_party/boringssl/src/include -I../../3rdparty/chromium/third_party/protobuf/src -Igen/protoc_out -I../../3rdparty/chromium/third_party/ced/src -I../../3rdparty/chromium/third_party/icu/source/common -I../../3rdparty/chromium/third_party/icu/source/i18n -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wno-unused-variable -std=gnu++14 -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c gen/ui/gfx/x/present.cc -o obj/ui/gfx/x/xprotos/present.o
In file included from gen/ui/gfx/x/present.cc:1:
gen/ui/gfx/x/present.h:223:16: error: declaration of x11::Future<void> x11::Present::Pixmap(const PixmapRequest&) changes meaning of Pixmap [-Wchanges-meaning]
  223 |   Future<void> Pixmap(
      |                ^~~~~~
gen/ui/gfx/x/present.h:205:5: note: used here to mean enum class x11::Pixmap
  205 |     Pixmap pixmap{};
      |     ^~~~~~
In file included from gen/ui/gfx/x/render.h:16,
                 from gen/ui/gfx/x/randr.h:16,
                 from gen/ui/gfx/x/present.h:16:
gen/ui/gfx/x/xproto.h:525:12: note: declared here
  525 | enum class Pixmap : uint32_t {
      |            ^~~~~~

Some of the compiler errors are on Qt5's code, while many are in bundled applications (Chromium, for example, has many #include <cstdint> missing).

@bedroge found this bug report which points to a patch bundle from KDE which we can try as an alternative see repo here. If that doesn't work this might be quite job given all the errors we're seeing with a new GCC.

easyblock = 'EB_Qt'

name = 'Qt5'
version = '5.15.11'
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should at least bump this to 5.15.12 (cc @Neves-P)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely, will do 👍

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've tried bumping the Qt5 install on my laptop to the latest version that is available as open source (5.15.12) and ran into the same compilation error as #19320 (comment). Going for the patched fork from KDE might be the next viable approach.

@boegel
Copy link
Member Author

boegel commented Mar 26, 2024

@boegel boegel closed this Mar 26, 2024
@boegel boegel deleted the 20231126165730_new_pr_Qt551511 branch March 26, 2024 10:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants