jonkeane opened a new issue, #45096:
URL: https://github.com/apache/arrow/issues/45096
### Describe the enhancement requested
I've received the email from CRAN and we have until 2024-01-14 to send an
update to CRAN that fixes the issues they are seeing building on the (yes, I
know unreleased) GCC 15. It looks like the issue is with building thrift (it's
possible this is already resolved upstream and we can bump the dependency
version to fix it), but there might be more later in the build too that would
be uncovered after that. I started trying to get a CI job with something like
this running in #44970 though that never actually succeeded.
cc @kou and @pitrou who might have ideas on this
```
make[7]: Leaving directory
'/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep-build'
make[6]: Leaving directory
'/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep-build'
make[5]: Leaving directory
'/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep-build'
-- stderr output is:
...skipping to end...
sr/local/gcc15/include/c++/15.0.0/bits/stl_iterator_base_types.h:129:34:[m[K
[01;36m[Knote: [m[Kdeclared here
129 | struct _GLIBCXX17_DEPRECATED [01;36m[Kiterator[m[K
| [01;36m[K^~~~~~~~[m[K
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:[m[K
In constructor
'[01m[Kapache::thrift::transport::SSLContext::[01;32m[KSSLContext[m[K(const
apache::thrift::transport::SSLProtocol&)[m[K':
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:185:36:[m[K
[01;35m[Kwarning: [m[K'[01m[Kconst SSL_METHOD*[01;32m[K
TLSv1_method[m[K()[m[K' is deprecated: Since OpenSSL 1.1.0
[[01;35m[K-Wdeprecated-declarations[m[K]
185 | ctx_ = SSL_CTX_new([01;35m[KTLSv1_method()[m[K);
| [01;35m[K~~~~~~~~~~~~^~[m[K
In file included from
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:53[m[K:
[01m[K/usr/include/openssl/ssl.h:2020:50:[m[K [01;36m[Knote:
[m[Kdeclared here
2020 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD
*[01;36m[KTLSv1_method[m[K(void); /* TLSv1.0 */
|
[01;36m[K^~~~~~~~~~~~[m[K
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:187:38:[m[K
[01;35m[Kwarning: [m[K'[01m[Kconst SSL_METHOD*[01;32m[K
TLSv1_1_method[m[K()[m[K' is deprecated: Since OpenSSL 1.1.0
[[01;35m[K-Wdeprecated-declarations[m[K]
187 | ctx_ = SSL_CTX_new([01;35m[KTLSv1_1_method()[m[K);
| [01;35m[K~~~~~~~~~~~~~~^~[m[K
[01m[K/usr/include/openssl/ssl.h:2028:50:[m[K [01;36m[Knote:
[m[Kdeclared here
2028 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD
*[01;36m[KTLSv1_1_method[m[K(void); /* TLSv1.1 */
|
[01;36m[K^~~~~~~~~~~~~~[m[K
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:189:38:[m[K
[01;35m[Kwarning: [m[K'[01m[Kconst SSL_METHOD*[01;32m[K
TLSv1_2_method[m[K()[m[K' is deprecated: Since OpenSSL 1.1.0
[[01;35m[K-Wdeprecated-declarations[m[K]
189 | ctx_ = SSL_CTX_new([01;35m[KTLSv1_2_method()[m[K);
| [01;35m[K~~~~~~~~~~~~~~^~[m[K
[01m[K/usr/include/openssl/ssl.h:2036:50:[m[K [01;36m[Knote:
[m[Kdeclared here
2036 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD
*[01;36m[KTLSv1_2_method[m[K(void); /* TLSv1.2 */
|
[01;36m[K^~~~~~~~~~~~~~[m[K
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:[m[K
In member function '[01m[Kvirtual void
apache::thrift::transport::TSSLSocket::[01;32m[Kauthorize[m[K()[m[K':
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:758:43:[m[K
[01;35m[Kwarning: [m[K'[01m[Kunsigned char*[01;32m[K
ASN1_STRING_data[m[K(ASN1_STRING*)[m[K' is deprecated: Since OpenSSL 1.1.0
[[01;35m[K-Wdeprecated-declarations[m[K]
758 | char* data =
(char*)[01;35m[KASN1_STRING_data(name->d.ia5)[m[K;
|
[01;35m[K~~~~~~~~~~~~~~~~^~~~~~~~~~~~~[m[K
In file included from [01m[K/usr/include/openssl/objects.h:21[m[K,
from [01m[K/usr/include/openssl/evp.h:43[m[K,
from [01m[K/usr/include/openssl/rand.h:23[m[K,
from
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:52[m[K:
[01m[K/usr/include/openssl/asn1.h:680:40:[m[K [01;36m[Knote:
[m[Kdeclared here
680 | OSSL_DEPRECATEDIN_1_1_0 unsigned char
*[01;36m[KASN1_STRING_data[m[K(ASN1_STRING *x);
|
[01;36m[K^~~~~~~~~~~~~~~~[m[K
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:[m[K
At global scope:
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:111:13:[m[K
[01;35m[Kwarning: [m[K'[01m[Kvoid
apache::thrift::transport::[01;32m[Kdyn_destroy[m[K(CRYPTO_dynlock_value*,
const char*, int)[m[K' defined but not used
[[01;35m[K-Wunused-function[m[K]
111 | static void [01;35m[Kdyn_destroy[m[K(struct
CRYPTO_dynlock_value* lock, const char*, int) {
| [01;35m[K^~~~~~~~~~~[m[K
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:101:13:[m[K
[01;35m[Kwarning: [m[K'[01m[Kvoid
apache::thrift::transport::[01;32m[Kdyn_lock[m[K(int,
CRYPTO_dynlock_value*, const char*, int)[m[K' defined but not used
[[01;35m[K-Wunused-function[m[K]
101 | static void [01;35m[Kdyn_lock[m[K(int mode, struct
CRYPTO_dynlock_value* lock, const char*, int) {
| [01;35m[K^~~~~~~~[m[K
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:97:30:[m[K
[01;35m[Kwarning: [m[K'[01m[KCRYPTO_dynlock_value*
apache::thrift::transport::[01;32m[Kdyn_create[m[K(const char*, int)[m[K'
defined but not used [[01;35m[K-Wunused-function[m[K]
97 | static CRYPTO_dynlock_value* [01;35m[Kdyn_create[m[K(const
char*, int) {
| [01;35m[K^~~~~~~~~~[m[K
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:76:13:[m[K
[01;35m[Kwarning: [m[K'[01m[Kvoid
apache::thrift::transport::[01;32m[KcallbackLocking[m[K(int, int, const
char*, int)[m[K' defined but not used [[01;35m[K-Wunused-function[m[K]
76 | static void [01;35m[KcallbackLocking[m[K(int mode, int n, const
char*, int) {
| [01;35m[K^~~~~~~~~~~~~~~[m[K
In file included from
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TServerSocket.h:25[m[K,
from
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLServerSocket.h:23[m[K,
from
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp:21[m[K:
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/concurrency/Mutex.h:47:26:[m[K
[01;31m[Kerror: [m[K'[01m[Kint64_t[m[K' has not been declared
47 | virtual bool timedlock([01;31m[Kint64_t[m[K milliseconds)
const;
| [01;31m[K^~~~~~~[m[K
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/concurrency/Mutex.h:25:1:[m[K
[01;36m[Knote: [m[K'[01m[Kint64_t[m[K' is defined in header
'[01m[K<cstdint>[m[K'; this is probably fixable by adding '[01m[K#include
<cstdint>[m[K'
24 | #include <thrift/TNonCopyable.h>
+++ |+[32m[K#include <cstdint>[m[K
25 |
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/concurrency/Mutex.h:60:29:[m[K
[01;31m[Kerror: [m[K'[01m[Kint64_t[m[K' has not been declared
60 | Guard(const Mutex& value, [01;31m[Kint64_t[m[K timeout = 0) :
mutex_(&value) {
| [01;31m[K^~~~~~~[m[K
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/concurrency/Mutex.h:60:29:[m[K
[01;36m[Knote: [m[K'[01m[Kint64_t[m[K' is defined in header
'[01m[K<cstdint>[m[K'; this is probably fixable by adding '[01m[K#include
<cstdint>[m[K'
In file included from
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TTransport.h:23[m[K,
from
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TServerTransport.h:23[m[K,
from
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TServerSocket.h:27[m[K:
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/Thrift.h:54:19:[m[K
[01;35m[Kwarning: [m[K'[01m[Ktemplate<class _Category, class _Tp, class
_Distance, class _Pointer, class _Reference> struct std::iterator[m[K' is
deprecated [[01;35m[K-Wdeprecated-declarations[m[K]
54 | : public
std::[01;35m[Kiterator[m[K<std::forward_iterator_tag, std::pair<int, const
char*> > {
| [01;35m[K^~~~~~~~[m[K
In file included from
[01m[K/usr/local/gcc15/include/c++/15.0.0/bits/stl_algobase.h:65[m[K,
from
[01m[K/usr/local/gcc15/include/c++/15.0.0/bits/hashtable_policy.h:36[m[K,
from
[01m[K/usr/local/gcc15/include/c++/15.0.0/bits/hashtable.h:37[m[K,
from
[01m[K/usr/local/gcc15/include/c++/15.0.0/bits/unordered_map.h:33[m[K,
from
[01m[K/usr/local/gcc15/include/c++/15.0.0/unordered_map:43[m[K,
from
[01m[K/usr/local/gcc15/include/c++/15.0.0/functional:65[m[K,
from
[01m[K/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TServerSocket.h:23[m[K:
[01m[K/usr/local/gcc15/include/c++/15.0.0/bits/stl_iterator_base_types.h:129:34:[m[K
[01;36m[Knote: [m[Kdeclared here
129 | struct _GLIBCXX17_DEPRECATED [01;36m[Kiterator[m[K
| [01;36m[K^~~~~~~~[m[K
make[7]: *** [lib/cpp/CMakeFiles/thrift.dir/build.make:580:
lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o]
Error 1
make[6]: *** [CMakeFiles/Makefile2:152: lib/cpp/CMakeFiles/thrift.dir/all]
Error 2
make[5]: *** [Makefile:156: all] Error 2
[31mCMake Error at
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep-stamp/thrift_ep-build-RELEASE.cmake:47
(message):
Stopping after outputting logs.
[0m
make[4]: *** [CMakeFiles/thrift_ep.dir/build.make:86:
thrift_ep-prefix/src/thrift_ep-stamp/thrift_ep-build] Error 1
make[4]: Leaving directory '/tmp/Rtmp2lHvYG/file386a7a7398879e'
make[3]: *** [CMakeFiles/Makefile2:878: CMakeFiles/thrift_ep.dir/all] Error 2
make[3]: *** Waiting for unfinished jobs....
-- re2_ep build command succeeded. See also
/tmp/Rtmp2lHvYG/file386a7a7398879e/re2_ep-prefix/src/re2_ep-stamp/re2_ep-build-*.log
[ 11%] [34m[1mPerforming install step for 're2_ep'[0m
-- re2_ep install command succeeded. See also
/tmp/Rtmp2lHvYG/file386a7a7398879e/re2_ep-prefix/src/re2_ep-stamp/re2_ep-install-*.log
[ 11%] [34m[1mCompleted 're2_ep'[0m
make[4]: Leaving directory '/tmp/Rtmp2lHvYG/file386a7a7398879e'
[ 11%] Built target re2_ep
make[3]: Leaving directory '/tmp/Rtmp2lHvYG/file386a7a7398879e'
gmake[2]: *** [Makefile:146: all] Error 2
gmake[2]: Leaving directory '/tmp/Rtmp2lHvYG/file386a7a7398879e'
**** Complete build log may still be present at
/tmp/Rtmp2lHvYG/file386a7a64b3a05b.log
*** Failed to find Arrow C++ libraries.
```
Full logs: https://www.stats.ox.ac.uk/pub/bdr/gcc15/arrow.out
### Component(s)
C++, R
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]