thrift: Fix build with gcc-15

Backport patch to fix issue: https://errors.yoctoproject.org/Errors/Details/850167/

TOPDIR/tmp/work/core2-64-oe-linux/thrift/0.21.0/thrift-0.21.0/lib/cpp/src/thrift/concurrency/Mutex.h:47:26: error: 'int64_t' has not been declared
   47 |   virtual bool timedlock(int64_t milliseconds) const;
      |                          ^~~~~~~
TOPDIR/tmp/work/core2-64-oe-linux/thrift/0.21.0/thrift-0.21.0/lib/cpp/src/thrift/concurrency/Mutex.h:25:1: note: 'int64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
   24 | #include <thrift/TNonCopyable.h>
  +++ |+#include <cstdint>

Signed-off-by: Nguyen Dat Tho <tho3.nguyen@lge.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Nguyen Dat Tho 2025-04-03 17:23:06 +09:00 committed by Khem Raj
parent eaf94b092d
commit a842854681
No known key found for this signature in database
GPG Key ID: BB053355919D3314
2 changed files with 55 additions and 1 deletions

View File

@ -0,0 +1,52 @@
From 947ad66940cfbadd9b24ba31d892dfc1142dd330 Mon Sep 17 00:00:00 2001
From: Sutou Kouhei <kou@clear-code.com>
Date: Mon, 23 Dec 2024 12:33:22 +0900
Subject: [PATCH] THRIFT-5842: Add missing cstdint include for int64_t in
Mutex.h
Client: cpp
GCC 15 (not released yet) requires `#include <cstdint>` for `int64_t`
but `lib/cpp/src/thrift/concurrency/Mutex.h` doesn't have it. So we
can't build Thrift with GCC 15:
[80/359] Building CXX object lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o
FAILED: lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o
/bin/g++-15 -DBOOST_ALL_DYN_LINK -DBOOST_TEST_DYN_LINK -DTHRIFT_STATIC_DEFINE -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/kou/work/cpp/thrift.kou.build/lib/cpp -I/home/kou/work/cpp/thrift.kou/lib/cpp -I/home/kou/work/cpp/thrift.kou.build -I/home/kou/work/cpp/thrift.kou/lib/cpp/src -g -std=c++11 -MD -MT lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o -MF lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o.d -o lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o -c /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp
In file included from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TServerSocket.h:25,
from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.h:23,
from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp:21:
/home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:47:26: error: 'int64_t' has not been declared
47 | virtual bool timedlock(int64_t milliseconds) const;
| ^~~~~~~
/home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:25:1: note: 'int64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
24 | #include <thrift/TNonCopyable.h>
+++ |+#include <cstdint>
25 |
/home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:60:29: error: 'int64_t' has not been declared
60 | Guard(const Mutex& value, int64_t timeout = 0) : mutex_(&value) {
| ^~~~~~~
/home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:60:29: note: 'int64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
See also: https://github.com/apache/arrow/issues/45096
Upstream-Status: Backport [https://github.com/apache/thrift/commit/947ad66940cfbadd9b24ba31d892dfc1142dd330]
---
lib/cpp/src/thrift/concurrency/Mutex.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/cpp/src/thrift/concurrency/Mutex.h b/lib/cpp/src/thrift/concurrency/Mutex.h
index 1e5c3fba3..12f1729d6 100644
--- a/lib/cpp/src/thrift/concurrency/Mutex.h
+++ b/lib/cpp/src/thrift/concurrency/Mutex.h
@@ -20,6 +20,7 @@
#ifndef _THRIFT_CONCURRENCY_MUTEX_H_
#define _THRIFT_CONCURRENCY_MUTEX_H_ 1
+#include <cstdint>
#include <memory>
#include <thrift/TNonCopyable.h>
--
2.34.1

View File

@ -9,7 +9,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c40a383cb3f747e0c7abbf1482f194f0 \
DEPENDS = "thrift-native boost flex-native bison-native openssl zlib"
SRC_URI = "https://downloads.apache.org/${BPN}/${PV}/${BP}.tar.gz \
file://0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch"
file://0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch \
file://0002-THRIFT-5842-Add-missing-cstdint-include-for-int64_t.patch \
"
SRC_URI[sha256sum] = "9a24f3eba9a4ca493602226c16d8c228037db3b9291c6fc4019bfe3bd39fc67c"
BBCLASSEXTEND = "native nativesdk"