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: 
note: declared here
     129 |     struct _GLIBCXX17_DEPRECATED iterator
         |                                  ^~~~~~~~
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:
 In constructor 
'apache::thrift::transport::SSLContext::SSLContext(const
 apache::thrift::transport::SSLProtocol&)':
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:185:36:
 warning: 'const SSL_METHOD* 
TLSv1_method()' is deprecated: Since OpenSSL 1.1.0 
[-Wdeprecated-declarations]
     185 |     ctx_ = SSL_CTX_new(TLSv1_method());
         |                        ~~~~~~~~~~~~^~
   In file included from 
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:53:
   /usr/include/openssl/ssl.h:2020:50: note: 
declared here
    2020 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD 
*TLSv1_method(void); /* TLSv1.0 */
         |                                                  
^~~~~~~~~~~~
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:187:38:
 warning: 'const SSL_METHOD* 
TLSv1_1_method()' is deprecated: Since OpenSSL 1.1.0 
[-Wdeprecated-declarations]
     187 |     ctx_ = SSL_CTX_new(TLSv1_1_method());
         |                        ~~~~~~~~~~~~~~^~
   /usr/include/openssl/ssl.h:2028:50: note: 
declared here
    2028 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD 
*TLSv1_1_method(void); /* TLSv1.1 */
         |                                                  
^~~~~~~~~~~~~~
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:189:38:
 warning: 'const SSL_METHOD* 
TLSv1_2_method()' is deprecated: Since OpenSSL 1.1.0 
[-Wdeprecated-declarations]
     189 |     ctx_ = SSL_CTX_new(TLSv1_2_method());
         |                        ~~~~~~~~~~~~~~^~
   /usr/include/openssl/ssl.h:2036:50: note: 
declared here
    2036 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD 
*TLSv1_2_method(void); /* TLSv1.2 */
         |                                                  
^~~~~~~~~~~~~~
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:
 In member function 'virtual void 
apache::thrift::transport::TSSLSocket::authorize()':
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:758:43:
 warning: 'unsigned char* 
ASN1_STRING_data(ASN1_STRING*)' is deprecated: Since OpenSSL 1.1.0 
[-Wdeprecated-declarations]
     758 |       char* data = 
(char*)ASN1_STRING_data(name->d.ia5);
         |                           
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
   In file included from /usr/include/openssl/objects.h:21,
                    from /usr/include/openssl/evp.h:43,
                    from /usr/include/openssl/rand.h:23,
                    from 
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:52:
   /usr/include/openssl/asn1.h:680:40: note: 
declared here
     680 | OSSL_DEPRECATEDIN_1_1_0 unsigned char 
*ASN1_STRING_data(ASN1_STRING *x);
         |                                        
^~~~~~~~~~~~~~~~
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:
 At global scope:
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:111:13:
 warning: 'void 
apache::thrift::transport::dyn_destroy(CRYPTO_dynlock_value*, 
const char*, int)' defined but not used 
[-Wunused-function]
     111 | static void dyn_destroy(struct 
CRYPTO_dynlock_value* lock, const char*, int) {
         |             ^~~~~~~~~~~
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:101:13:
 warning: 'void 
apache::thrift::transport::dyn_lock(int, 
CRYPTO_dynlock_value*, const char*, int)' defined but not used 
[-Wunused-function]
     101 | static void dyn_lock(int mode, struct 
CRYPTO_dynlock_value* lock, const char*, int) {
         |             ^~~~~~~~
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:97:30:
 warning: 'CRYPTO_dynlock_value* 
apache::thrift::transport::dyn_create(const char*, int)' 
defined but not used [-Wunused-function]
      97 | static CRYPTO_dynlock_value* dyn_create(const 
char*, int) {
         |                              ^~~~~~~~~~
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLSocket.cpp:76:13:
 warning: 'void 
apache::thrift::transport::callbackLocking(int, int, const 
char*, int)' defined but not used [-Wunused-function]
      76 | static void callbackLocking(int mode, int n, const 
char*, int) {
         |             ^~~~~~~~~~~~~~~
   In file included from 
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TServerSocket.h:25,
                    from 
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLServerSocket.h:23,
                    from 
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp:21:
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/concurrency/Mutex.h:47:26:
 error: 'int64_t' has not been declared
      47 |   virtual bool timedlock(int64_t milliseconds) 
const;
         |                          ^~~~~~~
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/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 | 
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/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) {
         |                             ^~~~~~~
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/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>'
   In file included from 
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TTransport.h:23,
                    from 
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TServerTransport.h:23,
                    from 
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TServerSocket.h:27:
   
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/Thrift.h:54:19:
 warning: 'template<class _Category, class _Tp, class 
_Distance, class _Pointer, class _Reference> struct std::iterator' is 
deprecated [-Wdeprecated-declarations]
      54 |     : public 
std::iterator<std::forward_iterator_tag, std::pair<int, const 
char*> > {
         |                   ^~~~~~~~
   In file included from 
/usr/local/gcc15/include/c++/15.0.0/bits/stl_algobase.h:65,
                    from 
/usr/local/gcc15/include/c++/15.0.0/bits/hashtable_policy.h:36,
                    from 
/usr/local/gcc15/include/c++/15.0.0/bits/hashtable.h:37,
                    from 
/usr/local/gcc15/include/c++/15.0.0/bits/unordered_map.h:33,
                    from 
/usr/local/gcc15/include/c++/15.0.0/unordered_map:43,
                    from 
/usr/local/gcc15/include/c++/15.0.0/functional:65,
                    from 
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/transport/TServerSocket.h:23:
   
/usr/local/gcc15/include/c++/15.0.0/bits/stl_iterator_base_types.h:129:34:
 note: declared here
     129 |     struct _GLIBCXX17_DEPRECATED iterator
         |                                  ^~~~~~~~
   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
   
   CMake Error at 
/tmp/Rtmp2lHvYG/file386a7a7398879e/thrift_ep-prefix/src/thrift_ep-stamp/thrift_ep-build-RELEASE.cmake:47
 (message):
     Stopping after outputting logs.
   
   
   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%] Performing install step for 're2_ep'
   -- re2_ep install command succeeded.  See also 
/tmp/Rtmp2lHvYG/file386a7a7398879e/re2_ep-prefix/src/re2_ep-stamp/re2_ep-install-*.log
   [ 11%] Completed 're2_ep'
   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]

Reply via email to