diff options
| author | Eli Schwartz <eschwartz@gentoo.org> | 2025-09-03 01:32:25 -0400 |
|---|---|---|
| committer | Eli Schwartz <eschwartz@gentoo.org> | 2025-09-08 13:21:19 -0400 |
| commit | 74d3bc3916a6fefac6f5a1f810b855b7046696bb (patch) | |
| tree | b2ffe8e70d077d7ef54aadf253b2b3861205a610 /dev-python/bitarray | |
| parent | 765e3354b7e89fbd8364bd8fdc02fc98fdb3cf8c (diff) | |
| download | gentoo-74d3bc3916a6fefac6f5a1f810b855b7046696bb.tar.gz gentoo-74d3bc3916a6fefac6f5a1f810b855b7046696bb.tar.bz2 gentoo-74d3bc3916a6fefac6f5a1f810b855b7046696bb.zip | |
sci-physics/espresso: fix multitude of extremely severe runtime / test issues
At the heart of this issue is that tests were disabled, via a wholly
bogus and clearly unresearched claim that a dep isn't packaged. No such
dep exists -- the "dep" is a source code file inside the package
sources. It "does not exist" because cmake does not build tests when
running ctest. This is evidenced by loads of other C++ tests not running
at all because... they weren't built.
To fix this, patch the cmake files to expose a target for building
tests.
Next step: for absolutely unfathomable reasons, the package set up
-DCMAKE_SKIP_RPATH=YES, which exists solely to break the software into a
million pieces, as libraries are installed to site-packages and none of
the code can find the dependencies. This cmake option is seriously
advanced low-level debugging, using it at all is a huge red flag.
And the cherry on top is that using it also breaks running tests! Tests
cannot run if test programs cannot find the just-built libraries which
aren't in ld.so.conf. To work around *this*, the ebuild -- in the same
commit adding the bogus RESTRICT=test -- added an LD_PRELOAD of one out
of the four ${BUILD_DIR} libraries loaded by test code. This is *totally
insane*, as the correct solution is either rpath or LD_LIBRARY_PATH, and
LD_PRELOAD injects code into programs such as `mkdir -p "${BUILD_DIR}"`
which in case it wasn't completely obvious, DOES NOT WORK.
```
* environment, line 276: Called die
* The specific snippet of code:
*** The MPI_Type_free() function was called before MPI_INIT was invoked.
*** This is disallowed by the MPI standard.
*** Your MPI job will now abort.
[localhost:00084] Local abort before MPI_INIT completed completed successfully, but am not able to aggregate error messages, and not able to guarantee that all other processes were killed!
*** The MPI_Type_free() function was called before MPI_INIT was invoked.
*** This is disallowed by the MPI standard.
*** Your MPI job will now abort.
[localhost:00085] Local abort before MPI_INIT completed completed successfully, but am not able to aggregate error messages, and not able to guarantee that all other processes were killed!
* mkdir -p "${BUILD_DIR}" || die
```
Again, there was no reason to ever assume this could work, and the fact
that it was even possible to think it might be a good idea should have
been worrying: it implied that the installed software might not run
without injecting libraries. Indeed, it didn't run.
Since we are massively renovating the testsuite already, add a couple
needed bdeps, some backport patches fixing issues with the tests, and
skip the final remaining test failures. Additionally, it seems numpy
needs to be pinned to 1.* as indicated by some test fails.
Bug: https://github.com/espressomd/espresso/issues/5166
Bug: https://bugs.gentoo.org/811186
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
Diffstat (limited to 'dev-python/bitarray')
0 files changed, 0 insertions, 0 deletions
