Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-43416: [CI] Upgrade vcpkg version on our CI #44919

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

raulcd
Copy link
Member

@raulcd raulcd commented Dec 3, 2024

Rationale for this change

We are using a pretty old version and we are seeing some CI jobs.

What changes are included in this PR?

Upgrade vcpkg version

Are these changes tested?

on CI

Are there any user-facing changes?

No

@raulcd
Copy link
Member Author

raulcd commented Dec 3, 2024

@github-actions crossbow submit wheel-manylinux-2-28-cp39-amd64

Copy link

github-actions bot commented Dec 3, 2024

Unable to match any tasks for `wheel-manylinux-2-28-cp39-amd64`
The Archery job run can be found at: https://github.com/apache/arrow/actions/runs/12142272645

@raulcd
Copy link
Member Author

raulcd commented Dec 3, 2024

@github-actions crossbow submit wheel-manylinux-2-28-cp39-cp39-amd64

Copy link

github-actions bot commented Dec 3, 2024

Revision: 64bd563

Submitted crossbow builds: ursacomputing/crossbow @ actions-6d419b6abd

Task Status
wheel-manylinux-2-28-cp39-cp39-amd64 GitHub Actions

@raulcd
Copy link
Member Author

raulcd commented Dec 3, 2024

This already looks better than the previous PR where it failed to build Arrow C++.
I have to investigate why the missing symbol though:

 + python -c '
import pyarrow
import pyarrow._hdfs
import pyarrow.csv
import pyarrow.dataset
import pyarrow.fs
import pyarrow.json
import pyarrow.orc
import pyarrow.parquet
'
Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "/usr/local/lib/python3.9/site-packages/pyarrow/__init__.py", line 65, in <module>
    import pyarrow.lib as _lib
ImportError: /usr/local/lib/python3.9/site-packages/pyarrow/libarrow.so.1900: undefined symbol: _ZN4absl12lts_2024072212log_internal9kCharNullE

@raulcd
Copy link
Member Author

raulcd commented Dec 3, 2024

@raulcd
Copy link
Member Author

raulcd commented Dec 3, 2024

@github-actions crossbow submit wheel-manylinux-2-28-cp312-cp312-amd64

Copy link

github-actions bot commented Dec 3, 2024

Revision: 64bd563

Submitted crossbow builds: ursacomputing/crossbow @ actions-1238b5b942

Task Status
wheel-manylinux-2-28-cp312-cp312-amd64 GitHub Actions

@kou
Copy link
Member

kou commented Dec 4, 2024

Hmm. Could you show build flags?

diff --git a/ci/scripts/python_wheel_manylinux_build.sh b/ci/scripts/python_wheel_manylinux_build.sh
index 6365fcfacf..e28443e36d 100755
--- a/ci/scripts/python_wheel_manylinux_build.sh
+++ b/ci/scripts/python_wheel_manylinux_build.sh
@@ -132,7 +132,7 @@ cmake \
     ${ARROW_EXTRA_CMAKE_FLAGS} \
     -G ${CMAKE_GENERATOR} \
     /arrow/cpp
-cmake --build . --target install
+cmake --build . --verbose --target install
 popd
 
 # Check that we don't expose any unwanted symbols

@raulcd
Copy link
Member Author

raulcd commented Dec 4, 2024

@github-actions crossbow submit wheel-manylinux-2-28-cp39-cp39-amd64

Copy link

github-actions bot commented Dec 4, 2024

Revision: d5ccbf3

Submitted crossbow builds: ursacomputing/crossbow @ actions-bf973505be

Task Status
wheel-manylinux-2-28-cp39-cp39-amd64 GitHub Actions

@raulcd
Copy link
Member Author

raulcd commented Dec 4, 2024

I did investigated a little more. We can see this on the build log:

2024-12-04T09:22:25.5331687Z [151/175] : && /opt/rh/gcc-toolset-12/root/usr/bin/c++ -fPIC -Wno-noexcept-type -Wno-subobject-linkage  -fdiagnostics-color=always  -Wall -fno-semantic-interposition -msse4.2  -O3 -DNDEBUG -O2 -ftree-vectorize  -Wl,--version-script=/arrow/cpp/src/arrow/symbols.map -shared -Wl,-soname,libarrow.so.1900 -o release/libarrow.so.1900.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.dir/Unity/unity_8_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_7_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_6_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_5_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_4_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_3_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_2_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_1_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_compute.dir/compute/key_hash_internal_avx2.cc.o src/arrow/CMakeFiles/arrow_compute.dir/compute/key_map_internal_avx2.cc.o src/arrow/CMakeFiles/arrow_compute.dir/compute/row/compare_internal_avx2.cc.o src/arrow/CMakeFiles/arrow_compute.dir/compute/row/encode_internal_avx2.cc.o src/arrow/CMakeFiles/arrow_compute.dir/compute/util_avx2.cc.o src/arrow/CMakeFiles/arrow_compute.dir/compute/kernels/aggregate_basic_avx2.cc.o src/arrow/CMakeFiles/arrow_compute.dir/compute/kernels/aggregate_basic_avx512.cc.o src/arrow/CMakeFiles/arrow_csv.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_filesystem.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_filesystem.dir/filesystem/azurefs.cc.o src/arrow/CMakeFiles/arrow_filesystem.dir/filesystem/gcsfs.cc.o src/arrow/CMakeFiles/arrow_filesystem.dir/filesystem/gcsfs_internal.cc.o src/arrow/CMakeFiles/arrow_filesystem.dir/filesystem/s3fs.cc.o src/arrow/CMakeFiles/arrow_io.dir/Unity/unity_1_cxx.cxx.o src/arrow/CMakeFiles/arrow_io.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_ipc.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_json.dir/Unity/unity_1_cxx.cxx.o src/arrow/CMakeFiles/arrow_json.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_memory_pool.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_memory_pool.dir/memory_pool_jemalloc.cc.o src/arrow/CMakeFiles/arrow_orc.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/Unity/unity_6_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/Unity/unity_5_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/Unity/unity_4_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/Unity/unity_3_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/Unity/unity_2_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/Unity/unity_1_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_util.dir/util/bpacking_avx2.cc.o src/arrow/CMakeFiles/arrow_util.dir/util/bpacking_avx512.cc.o src/arrow/CMakeFiles/arrow_vendored.dir/Unity/unity_1_cxx.cxx.o src/arrow/CMakeFiles/arrow_vendored.dir/Unity/unity_0_cxx.cxx.o src/arrow/CMakeFiles/arrow_vendored.dir/Unity/unity_1_c.c.o src/arrow/CMakeFiles/arrow_vendored.dir/Unity/unity_0_c.c.o src/arrow/CMakeFiles/arrow_vendored.dir/vendored/datetime.cpp.o  -Wl,-rpath,:::::::  -lrt  /opt/vcpkg/installed/amd64-linux-static-release/lib/libre2.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_check_op.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_conditions.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_message.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_nullguard.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_examine_stack.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_format.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_proto.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_log_sink_set.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_globals.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_globals.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_sink.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_entry.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_strerror.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_vlog_config_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_fnmatch.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_marshalling.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_reflection.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_config.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_program_name.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_private_handle_accessor.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_commandlineflag.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_commandlineflag_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_raw_hash_set.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_hashtablez_sampler.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_hash.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_city.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_low_level_hash.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libutf8proc.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libazure-storage-files-datalake.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libazure-storage-blobs.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libazure-storage-common.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libxml2.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/liblzma.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libz.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libazure-identity.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libazure-core.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libgoogle_cloud_cpp_storage.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cord.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cordz_info.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cord_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cordz_functions.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_exponential_biased.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cordz_handle.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_synchronization.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_graphcycles_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_kernel_timeout_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_stacktrace.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_symbolize.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_malloc_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_debugging_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_demangle_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_demangle_rust.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_decode_rust_punycode.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_utf8_for_code_point.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc_cord_state.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc32c.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc_cpu_detect.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libgoogle_cloud_cpp_rest_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libgoogle_cloud_cpp_common.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_bad_optional_access.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_str_format_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_time.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_strings.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_strings_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_string_view.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_base.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_spinlock_wait.a  -lrt  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_throw_delegate.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_int128.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_civil_time.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_time_zone.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_bad_variant_access.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_raw_logging_internal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_severity.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libcrc32c.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-cpp-sdk-config.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-cpp-sdk-transfer.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-cpp-sdk-identity-management.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-cpp-sdk-cognito-identity.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-cpp-sdk-sts.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-cpp-sdk-s3.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-cpp-sdk-core.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libcurl.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libssl.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libcrypto.a  -lpthread  -lpthread  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-crt-cpp.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-mqtt.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-event-stream.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-s3.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-auth.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-http.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-io.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libs2n.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-cal.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libcrypto.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-checksums.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-compression.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-sdkutils.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libaws-c-common.a  -lrt  -lm  -ldl  jemalloc_ep-prefix/src/jemalloc_ep/dist//lib/libjemalloc_pic.a  mimalloc_ep/src/mimalloc_ep/lib/mimalloc-2.0/libmimalloc.a  release/liborc.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libprotobuf.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libbrotlienc.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libbrotlidec.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libbrotlicommon.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libbz2.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/liblz4.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libsnappy.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libz.a  /opt/vcpkg/installed/amd64-linux-static-release/lib/libzstd.a  -pthread && :

If I do some minimal processing this seem to be all the libabsl related libraries present on the log:

/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_check_op.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_conditions.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_message.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_nullguard.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_examine_stack.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_format.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_proto.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_log_sink_set.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_globals.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_globals.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_sink.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_entry.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_strerror.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_vlog_config_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_fnmatch.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_marshalling.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_reflection.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_config.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_program_name.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_private_handle_accessor.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_commandlineflag.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_commandlineflag_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_raw_hash_set.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_hashtablez_sampler.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_hash.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_city.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_low_level_hash.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cord.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cordz_info.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cord_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cordz_functions.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_exponential_biased.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_cordz_handle.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_synchronization.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_graphcycles_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_kernel_timeout_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_stacktrace.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_symbolize.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_malloc_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_debugging_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_demangle_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_demangle_rust.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_decode_rust_punycode.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_utf8_for_code_point.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc_cord_state.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc32c.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_crc_cpu_detect.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_bad_optional_access.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_str_format_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_time.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_strings.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_strings_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_string_view.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_base.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_spinlock_wait.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_throw_delegate.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_int128.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_civil_time.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_time_zone.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_bad_variant_access.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_raw_logging_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_severity.a

If I check on a local docker container the symbol seems missing on libabsl_log_internal_check_op.a too and defined at libabsl_log_internal_nullguard.a:

$ docker compose run --rm -it python-wheel-manylinux-2-28 /bin/bash
# nm -A /opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_*.a | grep kCharNull
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_check_op.a:check_op.cc.o:                 U _ZN4absl12lts_2024072212log_internal9kCharNullE
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_nullguard.a:nullguard.cc.o:000000000000000e R _ZN4absl12lts_2024072212log_internal9kCharNullE

I'll try something that probably does not work :)

@raulcd
Copy link
Member Author

raulcd commented Dec 4, 2024

@github-actions crossbow submit wheel-manylinux-2-28-cp39-cp39-amd64

Copy link

github-actions bot commented Dec 4, 2024

Revision: 0a05df3

Submitted crossbow builds: ursacomputing/crossbow @ actions-d73e6f1d3e

Task Status
wheel-manylinux-2-28-cp39-cp39-amd64 GitHub Actions

@kou
Copy link
Member

kou commented Dec 5, 2024

Thanks.
I think that this is a link order problem.

If you can reproduce this in local, could you try changing link order in the command line you identified.
For example, moving the following Abseil related static libraries (that will be added as RE2 dependencies) to the last of the command line:

/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_check_op.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_conditions.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_message.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_nullguard.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_examine_stack.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_format.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_proto.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_log_sink_set.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_globals.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_globals.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_sink.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_entry.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_strerror.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_vlog_config_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_log_internal_fnmatch.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_marshalling.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_reflection.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_config.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_program_name.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_private_handle_accessor.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_commandlineflag.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_flags_commandlineflag_internal.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_raw_hash_set.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_hashtablez_sampler.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_hash.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_city.a
/opt/vcpkg/installed/amd64-linux-static-release/lib/libabsl_low_level_hash.a

@raulcd
Copy link
Member Author

raulcd commented Dec 5, 2024

It does seem that link order gets rid of the undefined symbol (manually modified build.ninja to change the link order) but I am currently facing a second undefined symbol:

+ python -c 'import pyarrow; pyarrow.create_library_symlinks()'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/lib/python3.9/site-packages/pyarrow/__init__.py", line 65, in <module>
    import pyarrow.lib as _lib
ImportError: /usr/local/lib/python3.9/site-packages/pyarrow/libarrow.so.1900: undefined symbol: _ZN4absl12lts_202407224Cord13ChunkIterator19AdvanceAndReadBytesEm

I'll keep investigating around around the link order.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants