raulcd commented on PR #47733:
URL: https://github.com/apache/arrow/pull/47733#issuecomment-3376763421
It seems we are getting ODR violations on musllinux when we enable
`CMAKE_INTERPROCEDURAL_OPTIMIZATION`:
```c++
ninja: job failed: : && /usr/bin/c++ -fPIC -Wno-noexcept-type -Wno-self-move
-Wno-subobject-linkage -fdiagnostics-color=always -Wall
-fno-semantic-interposition -msse4.2 -O3 -DNDEBUG -O2 -ftree-vectorize
-flto=auto -fno-fat-lto-objects
-Wl,--version-script=/arrow/cpp/src/arrow/symbols.map -shared
-Wl,-soname,libarrow.so.2200 -o release/libarrow.so.2200.0.0
src/arrow/CMakeFiles/arrow_objlib.dir/Unity/unity_3_cxx.cxx.o
src/arrow/CMakeFiles/arrow_objlib.dir/Unity/unity_2_cxx.cxx.o
src/arrow/CMakeFiles/arrow_objlib.dir/Unity/unity_1_cxx.cxx.o
src/arrow/CMakeFiles/arrow_objlib.dir/Unity/unity_0_cxx.cxx.o
src/arrow/CMakeFiles/arrow_array.dir/Unity/unity_2_cxx.cxx.o
src/arrow/CMakeFiles/arrow_array.dir/Unity/unity_1_cxx.cxx.o
src/arrow/CMakeFiles/arrow_array.dir/Unity/unity_0_cxx.cxx.o
src/arrow/CMakeFiles/arrow_compute_core.dir/Unity/unity_3_cxx.cxx.o
src/arrow/CMakeFiles/arrow_compute_core.dir/Unity/unity_2_cxx.cxx.o
src/arrow/CMakeFiles/arrow_compute_core.dir/Unity/unity_1_cxx.cx
x.o src/arrow/CMakeFiles/arro
/arrow/cpp/src/arrow/io/concurrency.h:162: warning: virtual table of type
'struct RandomAccessFileConcurrencyWrapper' violates one definition rule [-Wodr]
ninja: subcommand failed
162 | class RandomAccessFileConcurrencyWrapper : public RandomAccessFile {
|
/arrow/cpp/src/arrow/io/concurrency.h:162:7: note: the conflicting type
defined in another translation unit
162 | class RandomAccessFileConcurrencyWrapper : public RandomAccessFile {
| ^
/arrow/cpp/src/arrow/io/interfaces.cc:108: note: virtual method 'io_context'
108 | const IOContext& Readable::io_context() const { return
default_io_context(); }
|
<built-in>: note: ought to match virtual method '__cxa_pure_virtual' but
does not
/arrow/cpp/src/arrow/array/builder_nested.h:46:7: warning: virtual table of
type 'struct VarLengthListLikeBuilder' violates one definition rule [-Wodr]
46 | class VarLengthListLikeBuilder : public ArrayBuilder {
| ^
/arrow/cpp/src/arrow/array/builder_nested.h:46:7: note: the conflicting type
defined in another translation unit
46 | class VarLengthListLikeBuilder : public ArrayBuilder {
| ^
/arrow/cpp/src/arrow/array/builder_nested.h:241:16: note: virtual method
'UnsafeAppendEmptyDimensions'
241 | virtual void UnsafeAppendEmptyDimensions(int64_t num_values) {
| ^
<built-in>: note: ought to match virtual method '__cxa_pure_virtual' but
does not
/arrow/cpp/src/arrow/array/builder_nested.h:46:7: warning: virtual table of
type 'struct VarLengthListLikeBuilder' violates one definition rule [-Wodr]
46 | class VarLengthListLikeBuilder : public ArrayBuilder {
| ^
/arrow/cpp/src/arrow/array/builder_nested.h:46:7: note: the conflicting type
defined in another translation unit
46 | class VarLengthListLikeBuilder : public ArrayBuilder {
| ^
/arrow/cpp/src/arrow/array/builder_nested.h:241:16: note: virtual method
'UnsafeAppendEmptyDimensions'
241 | virtual void UnsafeAppendEmptyDimensions(int64_t num_values) {
| ^
<built-in>: note: ought to match virtual method '__cxa_pure_virtual' but
does not
/arrow/cpp/src/arrow/array/builder_nested.h:46:7: warning: virtual table of
type 'struct VarLengthListLikeBuilder' violates one definition rule [-Wodr]
46 | class VarLengthListLikeBuilder : public ArrayBuilder {
| ^
/arrow/cpp/src/arrow/array/builder_nested.h:46:7: note: the conflicting type
defined in another translation unit
46 | class VarLengthListLikeBuilder : public ArrayBuilder {
| ^
/arrow/cpp/src/arrow/array/builder_nested.h:241:16: note: virtual method
'UnsafeAppendEmptyDimensions'
241 | virtual void UnsafeAppendEmptyDimensions(int64_t num_values) {
| ^
<built-in>: note: ought to match virtual method '__cxa_pure_virtual' but
does not
/arrow/cpp/src/arrow/array/builder_nested.h:46:7: warning: virtual table of
type 'struct VarLengthListLikeBuilder' violates one definition rule [-Wodr]
46 | class VarLengthListLikeBuilder : public ArrayBuilder {
| ^
/arrow/cpp/src/arrow/array/builder_nested.h:46:7: note: the conflicting type
defined in another translation unit
46 | class VarLengthListLikeBuilder : public ArrayBuilder {
| ^
/arrow/cpp/src/arrow/array/builder_nested.h:241:16: note: virtual method
'UnsafeAppendEmptyDimensions'
241 | virtual void UnsafeAppendEmptyDimensions(int64_t num_values) {
| ^
<built-in>: note: ought to match virtual method '__cxa_pure_virtual' but
does not
/usr/include/fortify/stdio.h: In function '__to_xstring.constprop':
/usr/include/fortify/stdio.h:73:28: error: inlining failed in call to
'always_inline' 'vsnprintf': function body can be overwritten at link time
73 | _FORTIFY_FN(vsnprintf) int vsnprintf(char * _FORTIFY_POS0 __s,
size_t __n,
| ^
/usr/include/c++/13.2.1/ext/string_conversions.h:113:32: note: called from
here
113 | const int __len = __convf(__s, __n, __fmt, __args);
| ^
make: *** [/tmp/ccICEbbk.mk:362: /tmp/ccGClDbC.ltrans120.ltrans.o] Error 1
make: *** Waiting for unfinished jobs....
lto-wrapper: fatal error: make returned 2 exit status
compilation terminated.
/usr/lib/gcc/x86_64-alpine-linux-musl/13.2.1/../../../../x86_64-alpine-linux-musl/bin/ld:
error: lto-wrapper failed
```
--
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]