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

python polars 0.14.11 #4848

Merged
merged 2 commits into from
Sep 15, 2022
Merged

python polars 0.14.11 #4848

merged 2 commits into from
Sep 15, 2022

Conversation

ritchie46
Copy link
Member

No description provided.

@github-actions github-actions bot added the python Related to Python Polars label Sep 13, 2022
@messense
Copy link
Contributor

cmake-rs does not handle cross compilation very well: rust-lang/cmake-rs#158

@ritchie46
Copy link
Member Author

Any idea how we can fix this @messense? I think the changes we did since latest release was using actions/setup-python@v4 instead of actions/setup-python@v2.

@messense
Copy link
Contributor

The problem is that 1021f23 introduced cmake dependency via zlib-ng.

https://github.com/rust-lang/libz-sys#zlib-ng

@messense
Copy link
Contributor

You can try my cmake-rs patch

[patch.crates-io]
cmake = { git = "https://github.com/messense/cmake-rs.git", branch = "cross-compile" }

Or you can add some CMake toolchain files for these cross compiling targets, then set CMAKE_TOOLCHAIN_FILE=/path/to/cmake-toolchain-file env var.

@ritchie46
Copy link
Member Author

oss compiling targets, then s

Right, thanks for the help as always! 🙌 I will patch to your branch and keep an eye out for the issue upstream.

@messense
Copy link
Contributor

🤦‍♂️ I was messing around with a potential default cmake toolchain file in manylinux-cross docker images, can you try rerun the failed job? I've removed the default TARGET_CMAKE_TOOLCHAIN_FILE env var in rust-cross/manylinux-cross#14

@ritchie46
Copy link
Member Author

Should I point to another branch?

@messense
Copy link
Contributor

I'm afraid GCC 4.8.5 might not be able to build zlib-ng.

@ritchie46
Copy link
Member Author

Alright.. I think we'll just ship zlib for arm then. 👍

@ghuls
Copy link
Collaborator

ghuls commented Sep 15, 2022

Can't we build zlib-ng with zig c instead to avoid this?

@messense
Copy link
Contributor

messense commented Sep 15, 2022

Can't we build zlib-ng with zig c instead to avoid this?

I'm experimenting with zig cc today and have got it build with

maturin build --target aarch64-unknown-linux-gnu --release --zig

using maturin v0.13.3, but I haven't tested the wheel on arm64 Linux yet.

cmake-rs patch is not needed.


Some references in case you're interested:

@messense
Copy link
Contributor

messense commented Sep 15, 2022

but I haven't tested the wheel on arm64 Linux yet.

Unfortunately it does not work

Python 3.10.7 (main, Sep 13 2022, 16:13:35) [GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from polars import polars
/usr/local/lib/python3.10/site-packages/polars/__init__.py:11: UserWarning: polars binary missing!
  warnings.warn("polars binary missing!")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /usr/local/lib/python3.10/site-packages/polars/polars.abi3.so: cannot allocate memory in static TLS block

Error message is cannot allocate memory in static TLS block

@ghuls
Copy link
Collaborator

ghuls commented Sep 15, 2022

I think it just failed to load the polars library, probably due to wrong minimum glibc version.

# Check glibc version
$ strings /usr/local/lib/python3.10/site-packages/polars/polars.abi3.so | grep grep '^GLIBC_'

# Which one does it find?
❯ ldd /usr/local/lib/python3.10/site-packages/polars/polars.abi3.so
	linux-vdso.so.1 (0x00007ffeb13d4000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0b9aee0000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0b9aebd000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0b9ad6e000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0b9ad68000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0b9ab76000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f0ba3920000)

❯ ls -l /lib64/ld-linux-x86-64.so.2
lrwxrwxrwx 1 root root 32 Apr  7 03:24 /lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.31.so

Edit:
https://forums.developer.nvidia.com/t/cv2-cannot-allocate-memory-in-static-tls-block/118709

hi chrisTopp: this is not NVbug, The error can be fixed by running export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1 please try , any problem, feed back ,thanks

@messense
Copy link
Contributor

root@c3b9f52db868:/io# ldd /usr/local/lib/python3.10/site-packages/polars/polars.abi3.so
	libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x00000055039f0000)
	libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000005503a9d000)
	libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000005503ace000)
	libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000005503c43000)
	/lib/ld-linux-aarch64.so.1 (0x0000005500000000)
root@c3b9f52db868:/io#
root@c3b9f52db868:/io# ls /usr/lib/aarch64-linux-gnu/libgomp.so.1
/usr/lib/aarch64-linux-gnu/libgomp.so.1
root@c3b9f52db868:/io# LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1 python
Python 3.10.7 (main, Sep 13 2022, 16:13:35) [GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from polars import polars
/usr/local/lib/python3.10/site-packages/polars/__init__.py:11: UserWarning: polars binary missing!
  warnings.warn("polars binary missing!")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /usr/local/lib/python3.10/site-packages/polars/polars.abi3.so: cannot allocate memory in static TLS block
>>>

@ghuls
Copy link
Collaborator

ghuls commented Sep 15, 2022

When I try to build Polars with zig, it fails to compile zlib-ng

maturin build --zig
📦 Including license file "LICENSE"
🍹 Building a mixed python/rust project
🔗 Found pyo3 bindings with abi3 support for Python3.7
🐍 Not using a specific python interpreter
   Compiling cfg-if v1.0.0
   Compiling scopeguard v1.1.0
   Compiling once_cell v1.14.0
   Compiling either v1.8.0
   Compiling static_assertions v1.1.0
   Compiling futures-sink v0.3.24
   Compiling ryu v1.0.11
   Compiling futures-io v0.3.24
   Compiling pin-project-lite v0.2.9
   Compiling smallvec v1.9.0
   Compiling pin-utils v0.1.0
   Compiling itoa v1.0.3
   Compiling alloc-no-stdlib v2.0.3
   Compiling rle-decode-fast v1.0.3
   Compiling siphasher v0.3.10
   Compiling adler v1.0.2
   Compiling fallible-streaming-iterator v0.1.9
   Compiling iana-time-zone v0.1.47
   Compiling array-init-cursor v0.2.0
   Compiling crc-catalog v1.1.1
   Compiling adler32 v1.2.0
   Compiling simdutf8 v0.1.4
   Compiling rawpointer v0.2.1
   Compiling ppv-lite86 v0.2.16
   Compiling base64 v0.13.0
   Compiling hash_hasher v2.0.3
   Compiling foreign_vec v0.1.0
   Compiling streaming-iterator v0.1.7
   Compiling dyn-clone v1.0.9
   Compiling strength_reduce v0.2.3
   Compiling bitflags v1.3.2
   Compiling strum v0.23.0
   Compiling unicode-width v0.1.9
   Compiling regex-syntax v0.6.27
   Compiling byteorder v1.4.3
   Compiling hex v0.4.3
   Compiling unindent v0.1.10
   Compiling glob v0.3.0
   Compiling libc v0.2.132
   Compiling crossbeam-utils v0.8.11
   Compiling libm v0.2.5
   Compiling rayon-core v1.9.3
   Compiling serde v1.0.144
   Compiling memchr v2.5.0
   Compiling futures-core v0.3.24
   Compiling futures-channel v0.3.24
   Compiling futures-task v0.3.24
   Compiling parking_lot_core v0.9.3
   Compiling futures-util v0.3.24
   Compiling crc32fast v1.3.2
   Compiling serde_json v1.0.85
   Compiling log v0.4.17
   Compiling lexical-util v0.8.5
   Compiling snap v1.0.5
   Compiling signal-hook v0.3.14
   Compiling libflate_lz77 v1.1.0
   Compiling alloc-stdlib v0.2.1
   Compiling miniz_oxide v0.5.4
   Compiling planus v0.3.1
   Compiling streaming-decompression v0.1.2
   Compiling crc v2.1.0
   Compiling matrixmultiply v0.3.2
   Compiling anyhow v1.0.64
   Compiling num-traits v0.2.15
   Compiling memoffset v0.6.5
   Compiling crossbeam-epoch v0.9.10
   Compiling num-integer v0.1.45
   Compiling slab v0.4.7
   Compiling indexmap v1.9.1
   Compiling lock_api v0.4.8
   Compiling num-bigint v0.4.3
   Compiling num-iter v0.1.43
   Compiling num-rational v0.4.1
   Compiling uncased v0.9.7
   Compiling rayon v1.5.3
   Compiling ahash v0.7.6
   Compiling smartstring v1.0.1
   Compiling fxhash v0.2.1
   Compiling brotli-decompressor v2.3.2
   Compiling lexical-write-integer v0.8.5
   Compiling lexical-parse-integer v0.8.6
   Compiling crossbeam-channel v0.5.6
   Compiling libflate v1.2.0
   Compiling aho-corasick v0.7.19
   Compiling csv-core v0.1.10
   Compiling phf_shared v0.11.1
   Compiling getrandom v0.2.7
   Compiling num_cpus v1.13.1
   Compiling time v0.1.44
   Compiling signal-hook-registry v1.4.0
   Compiling mio v0.8.4
   Compiling dirs-sys v0.3.7
   Compiling memmap2 v0.5.7
   Compiling lexical-write-float v0.8.5
   Compiling lexical-parse-float v0.8.5
   Compiling crossbeam-deque v0.8.2
   Compiling phf v0.11.1
   Compiling rand_core v0.6.3
   Compiling parking_lot v0.12.1
   Compiling brotli v3.3.4
   Compiling dirs v4.0.0
   Compiling async-stream v0.3.3
   Compiling bytemuck v1.12.1
   Compiling multiversion v0.6.1
   Compiling thiserror v1.0.34
   Compiling inventory v0.2.3
   Compiling zstd-sys v2.0.1+zstd.1.5.2
   Compiling lz4-sys v1.9.4
   Compiling jemalloc-sys v0.5.1+5.3.0-patched
   Compiling num-complex v0.4.2
   Compiling float-cmp v0.9.0
   Compiling regex v1.6.0
   Compiling rand_chacha v0.3.1
   Compiling lexical-core v0.8.5
   Compiling signal-hook-mio v0.2.3
   Compiling libz-ng-sys v1.1.8
   Compiling pyo3-ffi v0.16.6
   Compiling chrono v0.4.22
   Compiling lexical v6.1.1
   Compiling rand v0.8.5
   Compiling crossterm v0.23.2
   Compiling pyo3 v0.16.6
   Compiling ndarray v0.15.6
   Compiling comfy-table v5.0.1
   Compiling rand_distr v0.4.3
   Compiling chrono-tz v0.6.3
   Compiling futures-executor v0.3.24
   Compiling arrow-format v0.7.0
   Compiling bincode v1.3.3
   Compiling num v0.4.0
   Compiling futures v0.3.24
   Compiling parquet-format-safe v0.2.4
   Compiling hashbrown v0.12.3
   Compiling polars-utils v0.23.0 (/home/luna.kuleuven.be/u0079808/software/polars/polars/polars-utils)
   Compiling halfbrown v0.1.15
   Compiling json-deserializer v0.4.0
   Compiling value-trait v0.4.0
   Compiling numpy v0.16.2
   Compiling avro-schema v0.3.0
   Compiling simd-json v0.6.0
   Compiling jsonpath_lib v0.3.0 (https://github.com/ritchie46/jsonpath?branch=improve_compiled#24eaf0b4)
   Compiling lz4 v1.24.0
   Compiling zstd-safe v5.0.2+zstd.1.5.2
   Compiling zstd v0.11.2+zstd.1.5.2
error: failed to run custom build command for `libz-ng-sys v1.1.8`

Caused by:
  process didn't exit successfully: `/home/luna.kuleuven.be/u0079808/software/polars/py-polars/target/debug/build/libz-ng-sys-568e90ca8c20e909/build-script-build_zng` (exit status: 101)
  --- stdout
  CMAKE_TOOLCHAIN_FILE_x86_64-unknown-linux-gnu = None
  CMAKE_TOOLCHAIN_FILE_x86_64_unknown_linux_gnu = None
  HOST_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-unknown-linux-gnu = None
  CMAKE_GENERATOR_x86_64_unknown_linux_gnu = None
  HOST_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-unknown-linux-gnu = None
  CMAKE_PREFIX_PATH_x86_64_unknown_linux_gnu = None
  HOST_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-unknown-linux-gnu = None
  CMAKE_x86_64_unknown_linux_gnu = None
  HOST_CMAKE = None
  CMAKE = None
  running: "cmake" "/home/luna.kuleuven.be/u0079808/.cargo/registry/src/github.com-1ecc6299db9ec823/libz-ng-sys-1.1.8/src/zlib-ng" "-DBUILD_SHARED_LIBS=OFF" "-DZLIB_COMPAT=OFF" "-DZLIB_ENABLE_TESTS=OFF" "-DWITH_GZFILEOP=ON" "-DCMAKE_INSTALL_PREFIX=/home/luna.kuleuven.be/u0079808/software/polars/py-polars/target/x86_64-unknown-linux-gnu/debug/build/libz-ng-sys-1f0805334c6c82d3/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_C_COMPILER=/home/luna.kuleuven.be/u0079808/.cache/cargo-zigbuild/0.12.0/zigcc-x86_64-unknown-linux-gnu.2.17.sh" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_COMPILER=/home/luna.kuleuven.be/u0079808/.cache/cargo-zigbuild/0.12.0/zigcxx-x86_64-unknown-linux-gnu.2.17.sh" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_ASM_COMPILER=/home/luna.kuleuven.be/u0079808/.cache/cargo-zigbuild/0.12.0/zigcc-x86_64-unknown-linux-gnu.2.17.sh" "-DCMAKE_BUILD_TYPE=Debug"
  -- Using CMake version 3.16.3
  -- ZLIB_HEADER_VERSION: 1.2.11
  -- ZLIBNG_HEADER_VERSION: 2.1.0.devel
  -- The C compiler identification is Clang 13.0.1
  -- Check for working C compiler: /home/luna.kuleuven.be/u0079808/.cache/cargo-zigbuild/0.12.0/zigcc-x86_64-unknown-linux-gnu.2.17.sh
  -- Check for working C compiler: /home/luna.kuleuven.be/u0079808/.cache/cargo-zigbuild/0.12.0/zigcc-x86_64-unknown-linux-gnu.2.17.sh -- works
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Arch detected: 'x86_64'
  -- Basearch of 'x86_64' has been detected as: 'x86'
  -- Performing Test FNO_LTO_AVAILABLE
  -- Performing Test FNO_LTO_AVAILABLE - Success
  -- Looking for sys/auxv.h
  -- Looking for sys/auxv.h - found
  -- Looking for sys/sdt.h
  -- Looking for sys/sdt.h - not found
  -- Looking for unistd.h
  -- Looking for unistd.h - found
  -- Looking for sys/types.h
  -- Looking for sys/types.h - found
  -- Looking for stdint.h
  -- Looking for stdint.h - found
  -- Looking for stddef.h
  -- Looking for stddef.h - found
  -- Check size of off64_t
  -- Check size of off64_t - done
  -- Looking for fseeko
  -- Looking for fseeko - found
  -- Looking for strerror
  -- Looking for strerror - found
  -- Looking for posix_memalign
  -- Looking for posix_memalign - found
  -- Performing Test HAVE_NO_INTERPOSITION
  -- Performing Test HAVE_NO_INTERPOSITION - Success
  -- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN
  -- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success
  -- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL
  -- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success
  -- Performing Test HAVE_BUILTIN_CTZ
  -- Performing Test HAVE_BUILTIN_CTZ - Success
  -- Performing Test HAVE_BUILTIN_CTZLL
  -- Performing Test HAVE_BUILTIN_CTZLL - Success
  -- Performing Test HAVE_PTRDIFF_T
  -- Performing Test HAVE_PTRDIFF_T - Success
  -- Performing Test HAVE_AVX2_INTRIN
  -- Performing Test HAVE_AVX2_INTRIN - Success
  -- Performing Test HAVE_AVX512_INTRIN
  -- Performing Test HAVE_AVX512_INTRIN - Success
  -- Performing Test HAVE_MASK_INTRIN
  -- Performing Test HAVE_MASK_INTRIN - Success
  -- Performing Test HAVE_AVX512VNNI_INTRIN
  -- Performing Test HAVE_AVX512VNNI_INTRIN - Success
  -- Performing Test HAVE_SSE41_INTRIN
  -- Performing Test HAVE_SSE41_INTRIN - Success
  -- Performing Test HAVE_SSE42CRC_INLINE_ASM
  -- Performing Test HAVE_SSE42CRC_INLINE_ASM - Success
  -- Performing Test HAVE_SSE42CRC_INTRIN
  -- Performing Test HAVE_SSE42CRC_INTRIN - Success
  -- Performing Test HAVE_SSE42CMPSTR_INTRIN
  -- Performing Test HAVE_SSE42CMPSTR_INTRIN - Success
  -- Performing Test HAVE_SSE2_INTRIN
  -- Performing Test HAVE_SSE2_INTRIN - Success
  -- Performing Test HAVE_SSSE3_INTRIN
  -- Performing Test HAVE_SSSE3_INTRIN - Success
  -- Performing Test HAVE_PCLMULQDQ_INTRIN
  -- Performing Test HAVE_PCLMULQDQ_INTRIN - Success
  -- Performing Test HAVE_VPCLMULQDQ_INTRIN
  -- Performing Test HAVE_VPCLMULQDQ_INTRIN - Failed
  -- Architecture-specific source files: arch/x86/x86_features.c;arch/x86/slide_hash_avx2.c;arch/x86/chunkset_avx.c;arch/x86/compare256_avx2.c;arch/x86/adler32_avx2.c;arch/x86/adler32_avx512.c;arch/x86/adler32_avx512_vnni.c;arch/x86/chunkset_sse41.c;arch/x86/adler32_sse42.c;arch/x86/insert_string_sse42.c;arch/x86/chunkset_sse2.c;arch/x86/compare256_sse2.c;arch/x86/slide_hash_sse2.c;arch/x86/adler32_ssse3.c;arch/x86/crc32_fold_pclmulqdq.c
  -- The following features have been enabled:

   * CMAKE_BUILD_TYPE, Build type: Debug (selected)
   * AVX2_SLIDEHASH, Support AVX2 optimized slide_hash, using "-mavx2"
   * AVX_CHUNKSET, Support AVX optimized chunkset, using "-mavx2"
   * AVX2_COMPARE256, Support AVX2 optimized compare256, using "-mavx2"
   * AVX2_ADLER32, Support AVX2-accelerated adler32, using "-mavx2"
   * AVX512_ADLER32, Support AVX512-accelerated adler32, using "-mavx512f -mavx512dq -mavx512bw -mavx512vl -mtune=cascadelake"
   * AVX512VNNI_ADLER32, Support AVX512VNNI adler32, using "-mavx512f -mavx512dq -mavx512bw -mavx512vl -mavx512vnni -mtune=cascadelake"
   * SSE42_CRC, Support SSE4.2 optimized CRC hash generation, using "-msse4.2"
   * SSSE3_ADLER32, Support SSSE3-accelerated adler32, using "-mssse3"
   * PCLMUL_CRC, Support CRC hash generation using PCLMULQDQ, using "-mssse3 -msse4.2 -mpclmul"
   * WITH_GZFILEOP, Compile with support for gzFile related functions
   * WITH_SANITIZER, Enable sanitizer support
   * WITH_OPTIM, Build with optimisation
   * WITH_NEW_STRATEGIES, Use new strategies
   * WITH_AVX2, Build with AVX2
   * WITH_AVX512, Build with AVX512
   * WITH_AVX512VNNI, Build with AVX512 VNNI
   * WITH_SSE2, Build with SSE2
   * WITH_SSSE3, Build with SSSE3
   * WITH_SSE41, Build with SSE41
   * WITH_SSE42, Build with SSE42
   * WITH_PCLMULQDQ, Build with PCLMULQDQ

  -- The following features have been disabled:

   * FORCE_TZCNT, Assume CPU is TZCNT capable
   * ZLIB_SYMBOL_PREFIX, Publicly exported symbols DO NOT have a custom prefix
   * ZLIB_COMPAT, Compile with zlib compatible API
   * ZLIB_ENABLE_TESTS, Build test binaries
   * ZLIB_DUAL_LINK, Dual link tests against system zlib
   * WITH_FUZZERS, Build test/fuzz
   * WITH_BENCHMARKS, Build test/benchmarks
   * WITH_BENCHMARK_APPS, Build application benchmarks
   * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native)
   * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings
   * WITH_CODE_COVERAGE, Enable code coverage reporting
   * WITH_INFLATE_STRICT, Build with strict inflate distance checking
   * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances
   * WITH_VPCLMULQDQ, Build with VPCLMULQDQ
   * INSTALL_UTILS, Copy minigzip and minideflate during install

  -- Configuring done
  -- Generating done
  -- Build files have been written to: /home/luna.kuleuven.be/u0079808/software/polars/py-polars/target/x86_64-unknown-linux-gnu/debug/build/libz-ng-sys-1f0805334c6c82d3/out/build
  running: "cmake" "--build" "." "--target" "install" "--config" "Debug" "--parallel" "12"
  Scanning dependencies of target zlib
  [  2%] Building C object CMakeFiles/zlib.dir/adler32.c.o
  [  4%] Building C object CMakeFiles/zlib.dir/adler32_fold.c.o
  [  6%] Building C object CMakeFiles/zlib.dir/chunkset.c.o
  [  8%] Building C object CMakeFiles/zlib.dir/compare256.c.o
  [ 10%] Building C object CMakeFiles/zlib.dir/compress.c.o
  [ 12%] Building C object CMakeFiles/zlib.dir/crc32_braid.c.o
  [ 14%] Building C object CMakeFiles/zlib.dir/crc32_braid_comb.c.o
  [ 17%] Building C object CMakeFiles/zlib.dir/cpu_features.c.o
  [ 19%] Building C object CMakeFiles/zlib.dir/crc32_fold.c.o
  [ 21%] Building C object CMakeFiles/zlib.dir/deflate.c.o
  [ 23%] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o
  [ 25%] Building C object CMakeFiles/zlib.dir/deflate_huff.c.o
  [ 27%] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o
  [ 29%] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o
  [ 31%] Building C object CMakeFiles/zlib.dir/deflate_rle.c.o
  [ 34%] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o
  [ 36%] Building C object CMakeFiles/zlib.dir/deflate_stored.c.o
  [ 38%] Building C object CMakeFiles/zlib.dir/functable.c.o
  [ 40%] Building C object CMakeFiles/zlib.dir/infback.c.o
  [ 42%] Building C object CMakeFiles/zlib.dir/inffast.c.o
  [ 44%] Building C object CMakeFiles/zlib.dir/inflate.c.o
  [ 46%] Building C object CMakeFiles/zlib.dir/inftrees.c.o
  [ 48%] Building C object CMakeFiles/zlib.dir/insert_string.c.o
  [ 51%] Building C object CMakeFiles/zlib.dir/slide_hash.c.o
  [ 53%] Building C object CMakeFiles/zlib.dir/insert_string_roll.c.o
  [ 55%] Building C object CMakeFiles/zlib.dir/trees.c.o
  [ 57%] Building C object CMakeFiles/zlib.dir/uncompr.c.o
  [ 59%] Building C object CMakeFiles/zlib.dir/zutil.c.o
  [ 61%] Building C object CMakeFiles/zlib.dir/arch/x86/x86_features.c.o
  [ 63%] Building C object CMakeFiles/zlib.dir/arch/x86/slide_hash_avx2.c.o
  [ 65%] Building C object CMakeFiles/zlib.dir/arch/x86/chunkset_avx.c.o
  [ 68%] Building C object CMakeFiles/zlib.dir/arch/x86/compare256_avx2.c.o
  [ 70%] Building C object CMakeFiles/zlib.dir/arch/x86/adler32_avx2.c.o
  [ 72%] Building C object CMakeFiles/zlib.dir/arch/x86/adler32_avx512.c.o
  [ 74%] Building C object CMakeFiles/zlib.dir/arch/x86/adler32_avx512_vnni.c.o
  [ 76%] Building C object CMakeFiles/zlib.dir/arch/x86/chunkset_sse41.c.o
  [ 78%] Building C object CMakeFiles/zlib.dir/arch/x86/adler32_sse42.c.o
  [ 80%] Building C object CMakeFiles/zlib.dir/arch/x86/insert_string_sse42.c.o
  [ 82%] Building C object CMakeFiles/zlib.dir/arch/x86/chunkset_sse2.c.o
  [ 85%] Building C object CMakeFiles/zlib.dir/arch/x86/compare256_sse2.c.o
  [ 87%] Building C object CMakeFiles/zlib.dir/arch/x86/slide_hash_sse2.c.o
  [ 89%] Building C object CMakeFiles/zlib.dir/arch/x86/adler32_ssse3.c.o
  [ 91%] Building C object CMakeFiles/zlib.dir/arch/x86/crc32_fold_pclmulqdq.c.o
  [ 93%] Building C object CMakeFiles/zlib.dir/gzread.c.o
  [ 95%] Building C object CMakeFiles/zlib.dir/gzlib.c.o
  [ 97%] Building C object CMakeFiles/zlib.dir/gzwrite.c.o
  [100%] Linking C static library libz-ng.a

  --- stderr
  CMake Warning:
    Manually-specified variables were not used by the project:

      CMAKE_ASM_COMPILER
      CMAKE_ASM_FLAGS
      CMAKE_CXX_COMPILER
      CMAKE_CXX_FLAGS


  make: warning: -j12 forced in submake: resetting jobserver mode.
  error: Found argument 'qc' which wasn't expected, or isn't valid in this context

  USAGE:
      ar <SUBCOMMAND>

  For more information try --help
  make[2]: *** [CMakeFiles/zlib.dir/build.make:760: libz-ng.a] Error 2
  make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/zlib.dir/all] Error 2
  make: *** [Makefile:130: all] Error 2
  thread 'main' panicked at '
  command did not execute successfully, got: exit status: 2

  build script failed, must exit now', /home/luna.kuleuven.be/u0079808/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.48/src/lib.rs:975:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
💥 maturin failed
  Caused by: Failed to build a native library through cargo
  Caused by: Cargo build finished with "exit status: 101": `"cargo" "rustc" "--target" "x86_64-unknown-linux-gnu" "--message-format" "json" "--lib"`

With manually running ar qc of zig, I can get it to compile (as opposed to ar of maturin which seems to not support qc as arguement.:

❯ cat ~/software/zig/ar 
#/bin/sh

zig_dir='/home/ghuls/software/zig/zig-linux-x86_64-0.10.0-dev.750+cf5009f9a'

exec "${zig_dir}/zig" ar "${@}"
cd ~/software/polars/py-polars/target/x86_64-unknown-linux-gnu/debug/build/libz-ng-sys-1f0805334c6c82d3/out/

❯ PATH=~/software/zig:${PATH} ar qc libz-ng.a  CMakeFiles/zlib.dir/adler32.c.o CMakeFiles/zlib.dir/adler32_fold.c.o CMakeFiles/zlib.dir/chunkset.c.o CMakeFiles/zlib.dir/compare256.c.o CMakeFiles/zlib.dir/compress.c.o CMakeFiles/zlib.dir/cpu_features.c.o CMakeFiles/zlib.dir/crc32_braid.c.o CMakeFiles/zlib.dir/crc32_braid_comb.c.o CMakeFiles/zlib.dir/crc32_fold.c.o CMakeFiles/zlib.dir/deflate.c.o CMakeFiles/zlib.dir/deflate_fast.c.o CMakeFiles/zlib.dir/deflate_huff.c.o CMakeFiles/zlib.dir/deflate_medium.c.o CMakeFiles/zlib.dir/deflate_quick.c.o CMakeFiles/zlib.dir/deflate_rle.c.o CMakeFiles/zlib.dir/deflate_slow.c.o CMakeFiles/zlib.dir/deflate_stored.c.o CMakeFiles/zlib.dir/functable.c.o CMakeFiles/zlib.dir/infback.c.o CMakeFiles/zlib.dir/inffast.c.o CMakeFiles/zlib.dir/inflate.c.o CMakeFiles/zlib.dir/inftrees.c.o CMakeFiles/zlib.dir/insert_string.c.o CMakeFiles/zlib.dir/insert_string_roll.c.o CMakeFiles/zlib.dir/slide_hash.c.o CMakeFiles/zlib.dir/trees.c.o CMakeFiles/zlib.dir/uncompr.c.o CMakeFiles/zlib.dir/zutil.c.o CMakeFiles/zlib.dir/arch/x86/x86_features.c.o CMakeFiles/zlib.dir/arch/x86/slide_hash_avx2.c.o CMakeFiles/zlib.dir/arch/x86/chunkset_avx.c.o CMakeFiles/zlib.dir/arch/x86/compare256_avx2.c.o CMakeFiles/zlib.dir/arch/x86/adler32_avx2.c.o CMakeFiles/zlib.dir/arch/x86/adler32_avx512.c.o CMakeFiles/zlib.dir/arch/x86/adler32_avx512_vnni.c.o CMakeFiles/zlib.dir/arch/x86/chunkset_sse41.c.o CMakeFiles/zlib.dir/arch/x86/adler32_sse42.c.o CMakeFiles/zlib.dir/arch/x86/insert_string_sse42.c.o CMakeFiles/zlib.dir/arch/x86/chunkset_sse2.c.o CMakeFiles/zlib.dir/arch/x86/compare256_sse2.c.o CMakeFiles/zlib.dir/arch/x86/slide_hash_sse2.c.o CMakeFiles/zlib.dir/arch/x86/adler32_ssse3.c.o CMakeFiles/zlib.dir/arch/x86/crc32_fold_pclmulqdq.c.o CMakeFiles/zlib.dir/gzlib.c.o CMakeFiles/zlib.dir/gzread.c.o CMakeFiles/zlib.dir/gzwrite.c.o

❯ PATH=~/software/zig:${PATH} "cmake" "--build" "." "--target" "install" "--config" "Debug"
[100%] Built target zlib
Install the project...
-- Install configuration: "Debug"
-- Installing: /home/luna.kuleuven.be/u0079808/software/polars/py-polars/target/x86_64-unknown-linux-gnu/debug/build/libz-ng-sys-1f0805334c6c82d3/out/lib/libz-ng.a
-- Installing: /home/luna.kuleuven.be/u0079808/software/polars/py-polars/target/x86_64-unknown-linux-gnu/debug/build/libz-ng-sys-1f0805334c6c82d3/out/include/zlib-ng.h
-- Installing: /home/luna.kuleuven.be/u0079808/software/polars/py-polars/target/x86_64-unknown-linux-gnu/debug/build/libz-ng-sys-1f0805334c6c82d3/out/include/zlib_name_mangling-ng.h
-- Installing: /home/luna.kuleuven.be/u0079808/software/polars/py-polars/target/x86_64-unknown-linux-gnu/debug/build/libz-ng-sys-1f0805334c6c82d3/out/include/zconf-ng.h
-- Installing: /home/luna.kuleuven.be/u0079808/software/polars/py-polars/target/x86_64-unknown-linux-gnu/debug/build/libz-ng-sys-1f0805334c6c82d3/out/lib/pkgconfig/zlib-ng.pc


cd ~/software/polars/py-polars

❯ PATH=~/software/zig:${PATH} maturin build  --zig
📦 Including license file "LICENSE"
🍹 Building a mixed python/rust project
🔗 Found pyo3 bindings with abi3 support for Python ≥ 3.7
🐍 Not using a specific python interpreter
   Compiling libz-ng-sys v1.1.8
   Compiling flate2 v1.0.24
   Compiling parquet2 v0.16.3
   Compiling arrow2 v0.13.0 (https://github.com/ritchie46/arrow2?branch=comparison_and_validity#2dcb35d7)
   Compiling polars-arrow v0.23.0 (/home/luna.kuleuven.be/u0079808/software/polars/polars/polars-arrow)
   Compiling polars-core v0.23.0 (/home/luna.kuleuven.be/u0079808/software/polars/polars/polars-core)
   Compiling polars-time v0.23.0 (/home/luna.kuleuven.be/u0079808/software/polars/polars/polars-time)
   Compiling polars-ops v0.23.0 (/home/luna.kuleuven.be/u0079808/software/polars/polars/polars-ops)
   Compiling polars-io v0.23.0 (/home/luna.kuleuven.be/u0079808/software/polars/polars/polars-io)
   Compiling polars-lazy v0.23.0 (/home/luna.kuleuven.be/u0079808/software/polars/polars/polars-lazy)
   Compiling polars-algo v0.23.0 (/home/luna.kuleuven.be/u0079808/software/polars/polars/polars-algo)
   Compiling polars v0.23.0 (/home/luna.kuleuven.be/u0079808/software/polars/polars)
   Compiling py-polars v0.14.10 (/home/luna.kuleuven.be/u0079808/software/polars/py-polars)
    Finished dev [unoptimized + debuginfo] target(s) in 1m 20s
📦 Built wheel for abi3 Python ≥ 3.7 to /home/luna.kuleuven.be/u0079808/software/polars/py-polars/target/wheels/polars-0.14.10-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

So it looks to me that maturin ar is causing the problem.

Edit: This was still with maturin 0.13.2 not 0.13.3.

@messense
Copy link
Contributor

@ghuls Can you try maturin 0.13.3 and aarch64-unknown-linux-gnu target?

@ghuls
Copy link
Collaborator

ghuls commented Sep 15, 2022

@ghuls Can you try maturin 0.13.3 and aarch64-unknown-linux-gnu target?

Is there an easy way to run aarch64 binaries on x86_64 with python installed?

@messense
Copy link
Contributor

messense commented Sep 15, 2022

You can use Docker: docker run --platform linux/arm64 ...

Full command: docker run --rm -it -v $(pwd):/io -w /io --platform linux/arm64 python:3.10 bash

@ghuls
Copy link
Collaborator

ghuls commented Sep 15, 2022

To run docker containers with arm64 binaries on x86_64 some extra packages needed to be installed:

sudo apt-get install qemu binfmt-support qemu-user-static # Install the qemu packages
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # This step will execute the registering scripts

https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/

I got Polars running for arm64 by builidng maturin build --target aarch64-unknown-linux-gnu --zig and installing the wheel in the arm64 container after disabling jemalloc:

diff --git a/py-polars/Cargo.toml b/py-polars/Cargo.toml
index aaf29df69..597183e9e 100644
--- a/py-polars/Cargo.toml
+++ b/py-polars/Cargo.toml
@@ -19,7 +19,8 @@ description = "Blazingly fast DataFrame library"
 mimalloc = { version = "*", default-features = false }
 
 [target.'cfg(target_os="linux")'.dependencies]
-jemallocator = { version = "0.5", features = ["disable_initial_exec_tls"] }
+#jemallocator = { version = "0.5", features = ["disable_initial_exec_tls"] }
+mimalloc = { version = "*", default-features = false }
 
 [dependencies]
 ahash = "0.7"
diff --git a/py-polars/src/lib.rs b/py-polars/src/lib.rs
index 1159339a6..e25d49e41 100644
--- a/py-polars/src/lib.rs
+++ b/py-polars/src/lib.rs
@@ -21,7 +21,8 @@ mod set;
 pub mod utils;
 
 #[cfg(target_os = "linux")]
-use jemallocator::Jemalloc;
+//use jemallocator::Jemalloc;
+use mimalloc::MiMalloc;
 use lazy::ToExprs;
 #[cfg(not(target_os = "linux"))]
 use mimalloc::MiMalloc;
@@ -53,7 +54,8 @@ use crate::series::PySeries;
 
 #[global_allocator]
 #[cfg(target_os = "linux")]
-static ALLOC: Jemalloc = Jemalloc;
+//static ALLOC: Jemalloc = Jemalloc;
+static ALLOC: MiMalloc = MiMalloc;
 
 #[global_allocator]
 #[cfg(not(target_os = "linux

Here is a similar issue:
swc-project/swc#4533

We already have jemallocator with disable_initial_exec_tls disabled, so not sure why it still tries to initialize it.

It could also be that it only happens under qemu emulation as I also managed to get a jemalloc warning while trying to get it to work:

root@238e1e9be22f:/# LD_PRELOAD=/usr/local/lib/python3.10/site-packages/polars/polars.abi3.so python
<jemalloc>: MADV_DONTNEED does not work (memset will be used instead)
<jemalloc>: (This is the expected behaviour if you are running under QEMU)
Python 3.10.7 (main, Sep 13 2022, 16:13:35) [GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import polars.polars
qemu: uncaught target signal 5 (Trace/breakpoint trap) - core dumped
Trace/breakpoint trap (core dumped)
root@238e1e9be22f:/# ldd /usr/local/lib/python3.10/site-packages/polars/polars.abi3.so
	libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000005509cd6000)
	libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000005509d83000)
	libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000005509db4000)
	libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000005509f29000)
	/lib/ld-linux-aarch64.so.1 (0x0000005500000000)

@messense
Copy link
Contributor

It's the same error on native arm64 container

root@fd07873e3328:/io# python3
Python 3.10.4 (main, Jun 29 2022, 12:14:53) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import polars.polars
/usr/local/lib/python3.10/dist-packages/polars/__init__.py:11: UserWarning: polars binary missing!
  warnings.warn("polars binary missing!")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /usr/local/lib/python3.10/dist-packages/polars/polars.abi3.so: cannot allocate memory in static TLS block
>>> exit()
root@fd07873e3328:/io# ldd /usr/local/lib/python3.10/dist-packages/polars/polars.abi3.so
	linux-vdso.so.1 (0x0000ffff9c1db000)
	libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffff99f40000)
	libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffff99f20000)
	libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff99d70000)
	libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff99d50000)
	/lib/ld-linux-aarch64.so.1 (0x0000ffff9c1a2000)
root@fd07873e3328:/io# uname -a
Linux fd07873e3328 5.15.0-47-generic #51-Ubuntu SMP Fri Aug 12 08:18:32 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

@ghuls
Copy link
Collaborator

ghuls commented Sep 15, 2022

@messense and with mimalloc as allocator?

@messense
Copy link
Contributor

mimalloc works fine

root@bfc5a3974df3:/io# python3
Python 3.10.4 (main, Jun 29 2022, 12:14:53) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import polars.polars
>>> polars.polars
<module 'polars.polars' from '/usr/local/lib/python3.10/dist-packages/polars/polars.abi3.so'>
>>> exit()

@messense
Copy link
Contributor

It could also be that it only happens under qemu emulation as I also managed to get a jemalloc warning while trying to get it to work:

It also works with jemalloc if we LD_PRELOAD polars.abi3.so

root@9beb31be6257:/io# LD_PRELOAD=/usr/local/lib/python3.10/dist-packages/polars/polars.abi3.so python3
Python 3.10.4 (main, Jun 29 2022, 12:14:53) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import polars.polars
>>> polars.polars
<module 'polars.polars' from '/usr/local/lib/python3.10/dist-packages/polars/polars.abi3.so'>

@ghuls
Copy link
Collaborator

ghuls commented Sep 16, 2022

So the latter is with Jemalloc as allocator?

Do you compile polars on aarch64 itself or is it a cross-compile?
The cannot allocate memory in static TLS block problem indicates that the --disable-initial-exec-tls configure flag to jemalloc is not honored while compiling jemalloc.

@messense
Copy link
Contributor

messense commented Sep 16, 2022

So the latter is with Jemalloc as allocator?

Yes.

Do you compile polars on aarch64 itself or is it a cross-compile?

Cross compiled from a x86_64 Linux. The build log shows that --disable-initial-exec-tls is passed to jemalloc

TARGET=aarch64-unknown-linux-gnu
HOST=x86_64-unknown-linux-gnu
NUM_JOBS=4
OUT_DIR="/root/code/polars/py-polars/target/aarch64-unknown-linux-gnu/debug/build/jemalloc-sys-96301117cf17ff52/out"
BUILD_DIR="/root/code/polars/py-polars/target/aarch64-unknown-linux-gnu/debug/build/jemalloc-sys-96301117cf17ff52/out/build"
SRC_DIR="/root/.cargo/registry/src/github.com-1ecc6299db9ec823/jemalloc-sys-0.5.1+5.3.0-patched"
cargo:rustc-cfg=prefixed
cargo:rerun-if-env-changed=JEMALLOC_OVERRIDE
OPT_LEVEL = Some("0")
TARGET = Some("aarch64-unknown-linux-gnu")
HOST = Some("x86_64-unknown-linux-gnu")
CC_aarch64-unknown-linux-gnu = None
CC_aarch64_unknown_linux_gnu = Some("/root/.cache/cargo-zigbuild/0.12.3/zigcc-aarch64-unknown-linux-gnu.2.17.sh")
CFLAGS_aarch64-unknown-linux-gnu = None
CFLAGS_aarch64_unknown_linux_gnu = None
TARGET_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("true")
CARGO_CFG_TARGET_FEATURE = Some("llvm14-builtins-abi,neon")
CC="/root/.cache/cargo-zigbuild/0.12.3/zigcc-aarch64-unknown-linux-gnu.2.17.sh"
CFLAGS="-O0 -ffunction-sections -fdata-sections -fPIC -g -fno-omit-frame-pointer -Wall"
JEMALLOC_REPO_DIR="jemalloc"
cargo:rerun-if-env-changed=JEMALLOC_SYS_WITH_MALLOC_CONF
cargo:rerun-if-env-changed=JEMALLOC_SYS_WITH_LG_PAGE
cargo:rerun-if-env-changed=JEMALLOC_SYS_WITH_LG_HUGEPAGE
cargo:rerun-if-env-changed=JEMALLOC_SYS_WITH_LG_QUANTUM
cargo:rerun-if-env-changed=JEMALLOC_SYS_WITH_LG_VADDR
--with-jemalloc-prefix=_rjem_
CARGO_FEATURE_DISABLE_INITIAL_EXEC_TLS set
running: "sh" "/root/code/polars/py-polars/target/aarch64-unknown-linux-gnu/debug/build/jemalloc-sys-96301117cf17ff52/out/build/configure" "--disable-cxx" "--enable-doc=no" "--enable-shared=no" "--with-jemalloc-prefix=_rjem_" "--with-private-namespace=_rjem_" "--disable-initial-exec-tls" "--host=aarch64-unknown-linux-gnu" "--build=x86_64-unknown-linux-gnu" "--prefix=/root/code/polars/py-polars/target/aarch64-unknown-linux-gnu/debug/build/jemalloc-sys-96301117cf17ff52/out"
...
...
...
===============================================================================
jemalloc version   : 5.3.0-0-g54eaed1d8b56b1aa528be3bdd1877e59c56fa90c
library revision   : 2

CONFIG             : --disable-cxx --enable-doc=no --enable-shared=no --with-jemalloc-prefix=_rjem_ --with-private-namespace=_rjem_ --disable-initial-exec-tls --host=aarch64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu --prefix=/root/code/polars/py-polars/target/aarch64-unknown-linux-gnu/debug/build/jemalloc-sys-96301117cf17ff52/out build_alias=x86_64-unknown-linux-gnu host_alias=aarch64-unknown-linux-gnu CC=/root/.cache/cargo-zigbuild/0.12.3/zigcc-aarch64-unknown-linux-gnu.2.17.sh 'CFLAGS=-O0 -ffunction-sections -fdata-sections -fPIC -g -fno-omit-frame-pointer -Wall' 'LDFLAGS=-O0 -ffunction-sections -fdata-sections -fPIC -g -fno-omit-frame-pointer -Wall' 'CPPFLAGS=-O0 -ffunction-sections -fdata-sections -fPIC -g -fno-omit-frame-pointer -Wall'
CC                 : /root/.cache/cargo-zigbuild/0.12.3/zigcc-aarch64-unknown-linux-gnu.2.17.sh
CONFIGURE_CFLAGS   : -std=gnu11 -Werror=unknown-warning-option -Wall -Wextra -Wshorten-64-to-32 -Wsign-compare -Wundef -Wno-format-zero-length -Wpointer-arith -Wno-missing-braces -Wno-missing-field-initializers -pipe -g3 -fvisibility=hidden -Wimplicit-fallthrough -O3 -funroll-loops
SPECIFIED_CFLAGS   : -O0 -ffunction-sections -fdata-sections -fPIC -g -fno-omit-frame-pointer -Wall
EXTRA_CFLAGS       :
CPPFLAGS           : -O0 -ffunction-sections -fdata-sections -fPIC -g -fno-omit-frame-pointer -Wall -D_GNU_SOURCE -D_REENTRANT
CXX                :
CONFIGURE_CXXFLAGS :
SPECIFIED_CXXFLAGS :
EXTRA_CXXFLAGS     :
LDFLAGS            : -O0 -ffunction-sections -fdata-sections -fPIC -g -fno-omit-frame-pointer -Wall
EXTRA_LDFLAGS      :
DSO_LDFLAGS        : -shared -Wl,-soname,$(@F)
LIBS               : -pthread
RPATH_EXTRA        :

XSLTPROC           : false
XSLROOT            :

PREFIX             : /root/code/polars/py-polars/target/aarch64-unknown-linux-gnu/debug/build/jemalloc-sys-96301117cf17ff52/out
BINDIR             : /root/code/polars/py-polars/target/aarch64-unknown-linux-gnu/debug/build/jemalloc-sys-96301117cf17ff52/out/bin
DATADIR            : /root/code/polars/py-polars/target/aarch64-unknown-linux-gnu/debug/build/jemalloc-sys-96301117cf17ff52/out/share
INCLUDEDIR         : /root/code/polars/py-polars/target/aarch64-unknown-linux-gnu/debug/build/jemalloc-sys-96301117cf17ff52/out/include
LIBDIR             : /root/code/polars/py-polars/target/aarch64-unknown-linux-gnu/debug/build/jemalloc-sys-96301117cf17ff52/out/lib
MANDIR             : /root/code/polars/py-polars/target/aarch64-unknown-linux-gnu/debug/build/jemalloc-sys-96301117cf17ff52/out/share/man

srcroot            :
abs_srcroot        : /root/code/polars/py-polars/target/aarch64-unknown-linux-gnu/debug/build/jemalloc-sys-96301117cf17ff52/out/build/
objroot            :
abs_objroot        : /root/code/polars/py-polars/target/aarch64-unknown-linux-gnu/debug/build/jemalloc-sys-96301117cf17ff52/out/build/

JEMALLOC_PREFIX    : _rjem_
JEMALLOC_PRIVATE_NAMESPACE
                   : _rjem_je_
install_suffix     :
malloc_conf        :
documentation      : 0
shared libs        : 0
static libs        : 1
autogen            : 0
debug              : 0
stats              : 1
experimental_smallocx : 0
prof               : 0
prof-libunwind     : 0
prof-libgcc        : 0
prof-gcc           : 0
fill               : 1
utrace             : 0
xmalloc            : 0
log                : 0
lazy_lock          : 0
cache-oblivious    : 1
cxx                : 0
===============================================================================

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

Successfully merging this pull request may close these issues.

3 participants