We're currently installing cython with pip when using Ubuntu
to cross compile Ceph for Windows. This can fail with recent
Python versions if attempting to use the global env:
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
Cython isn't really needed by the Windows build so we can go
ahead and drop it. We were hoping to use the Python bindings
on Windows, however Python extensions can't be cross compiled.
We're no longer using pip either, so we're dropping the dependency.
g++ was getting installed as a pip dependency, so we'll have to
include that instead. Note that g++ is used when building the boost
b2 tool.
While at it, we'll also ensure that git is installed.
Fixes: https://tracker.ceph.com/issues/59354
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit
041618ea9b9b09b8dcf00170417b246eaaabce8b)
Conflicts:
win32_deps_build.sh
-> commit
4954fe1 ("win32: add rhel option") not in quincy
[1] https://github.com/ceph/ceph/commit/
4954fe19e5594ca5cac1d639fcfa49941abbbfa9
ubuntu)
sudo apt-get update
sudo env DEBIAN_FRONTEND=noninteractive apt-get -y install \
- mingw-w64 cmake pkg-config \
- python3-dev python3-pip python3-yaml \
- autoconf libtool ninja-build wget zip
- sudo python3 -m pip install cython
+ mingw-w64 g++ cmake pkg-config \
+ python3-dev python3-yaml \
+ autoconf libtool ninja-build wget zip \
+ git
;;
suse)
for PKG in mingw64-cross-gcc-c++ mingw64-libgcc_s_seh1 mingw64-libstdc++6 \
cmake pkgconf python3-devel autoconf libtool ninja zip \
- python3-Cython python3-PyYAML \
+ python3-PyYAML \
gcc patch wget git; do
rpm -q $PKG >/dev/null || zypper -n install $PKG
done