mirror of
https://github.com/apache/arrow.git
synced 2026-10-28 16:47:19 +08:00
### Rationale for this change Fix #51487 - starting with LLVM 23 the required dylink.0 is not kept during CMake install strip. (see https://github.com/llvm/llvm-project/commit/52eb82e4f942db5e639c018c7757a1cca670333f) ### What changes are included in this PR? Disable wheel install stripping with `SKBUILD_INSTALL_STRIP=false` (applying alternative workaround llvm-strip --keep-section=dylink.0 would require more code changes) ### Are these changes tested? Verified by CI. ### Are there any user-facing changes? No. ### Was AI used for this PR? Just gpt-6-sol during initial analysis **PR code and description written by:** - [x] Human - [ ] AI **Reviewed before submission by:** - [x] Human - [ ] AI - [ ] Not reviewed * GitHub Issue: #51487 Lead-authored-by: tadeja <tadeja@users.noreply.github.com> Co-authored-by: Tadeja Kadunc <tadeja.kadunc@gmail.com> Co-authored-by: Raúl Cumplido <raulcumplido@gmail.com> Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
52 lines
1.6 KiB
Bash
Executable File
52 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
set -ex
|
|
|
|
arrow_dir=${1}
|
|
build_dir=${2}
|
|
|
|
# We don't need to follow this external file.
|
|
# See also: https://www.shellcheck.net/wiki/SC1090
|
|
#
|
|
# shellcheck source=/dev/null
|
|
source ~/emsdk/emsdk_env.sh
|
|
|
|
source_dir=${arrow_dir}/python
|
|
python_build_dir=${build_dir}/python
|
|
|
|
rm -rf "${python_build_dir}"
|
|
cp -aL "${source_dir}" "${python_build_dir}"
|
|
|
|
# conda sets LDFLAGS / CFLAGS etc. which break
|
|
# emcmake so we unset them
|
|
unset LDFLAGS CFLAGS CXXFLAGS CPPFLAGS
|
|
|
|
# Keep WebAssembly function names only in CI to limit wheel size
|
|
if [ "${GITHUB_ACTIONS:-}" = "true" ]; then
|
|
export PYARROW_CXXFLAGS="${PYARROW_CXXFLAGS:+${PYARROW_CXXFLAGS} }--profiling-funcs"
|
|
fi
|
|
|
|
pushd "${python_build_dir}"
|
|
# scikit-build-core strips unnecessary symbols by default.
|
|
# LLVM 23 also removes the required dylink.0 section (llvm/llvm-project#180246)
|
|
export SKBUILD_INSTALL_STRIP=false
|
|
pyodide build
|
|
popd
|