[Bug 275848] The port misc/py-polars builds the shared library that can't be loaded: No space available for static Thread Local Storage

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 20 Apr 2025 19:39:28 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275848

--- Comment #1 from Yuri Victorovich <yuri@freebsd.org> ---
This problem persists with latest Polars versions.
My attempt to update the misc/py-polars post is prevented by this problem.

The problem can be reproduced by applying the patch
https://freebsd.org/~yuri/py-polars.patch, and building in the port directory
/usr/ports/misc/py-polars

It builds the shared library binary that can't be loaded.

Problematic binary: https://freebsd.org/~yuri/polars.abi3.so


This program:
> #include <dlfcn.h>
> #include <stdio.h>
> 
> int main() {
>         void *rc = dlopen("/usr/local/lib/python3.11/site-packages/polars/polars.abi3.so", RTLD_NOW);
>         printf("rc=%p: %s\n", rc, dlerror());
> }

prints:
> $ ./a.out 
> rc=0x0: /usr/local/lib/python3.11/site-packages/polars/polars.abi3.so: No space available for static Thread Local Storage

Based on the ML discussion:
One possible reason is that wrong tls-model is used. It probably uses the
tls-model initial-exec intended for non-PIC binaries instead of the tls-model
global-dynamic intended for PIC binaries.

-- 
You are receiving this mail because:
You are the assignee for the bug.