[
https://issues.apache.org/jira/browse/THRIFT-5842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17907747#comment-17907747
]
Kouhei Sutou commented on THRIFT-5842:
--------------------------------------
See also: https://github.com/apache/arrow/issues/45096
> Mutex.h uses int64_t but cstdint isn't included
> -----------------------------------------------
>
> Key: THRIFT-5842
> URL: https://issues.apache.org/jira/browse/THRIFT-5842
> Project: Thrift
> Issue Type: Improvement
> Components: C++ - Library
> Environment: * Debian GNU/Linux sid
> * {{g++-15 (Debian 15-20241220-1) 15.0.0 20241220 (experimental) [master
> r15-6385-g92216cbc59b]}}
> Reporter: Kouhei Sutou
> Priority: Major
>
> {{Mutex.h}} uses {{int64_t}} but doesn't include {{cstdint}}. So the
> following error is happen with GCC 15. (Note that GCC 15 isn't released yet.)
> {noformat}
> [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>’
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)