Commit fa96b13
committed
cmake: force PIE executables + disable dynamic X11 on Linux wheels
This fixes the long-standing "invalid ELF header: RTLD_GLOBAL for idraw"
error that occurred with PyPI Linux wheels.
- Force CMAKE_POSITION_INDEPENDENT_CODE=ON for all executables.
InterViews/idraw does dlopen(self, RTLD_GLOBAL|...), which modern
glibc rejects for non-PIE (ET_EXEC) binaries.
- Disable IV_ENABLE_X11_DYNAMIC on Linux wheels only (SKBUILD && UNIX && NOT APPLE).
The dynamic X11 loading path (ivx11_dynam.cpp) was the actual trigger
of the (null) error. macOS wheels and local builds are unaffected.
No functional change for normal source builds or macOS.1 parent bab66a6 commit fa96b13
1 file changed
Lines changed: 16 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
24 | 40 | | |
25 | 41 | | |
26 | 42 | | |
| |||
0 commit comments