summaryrefslogtreecommitdiff
path: root/dev-python/bitarray
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@gentoo.org>2025-09-03 01:32:25 -0400
committerEli Schwartz <eschwartz@gentoo.org>2025-09-08 13:21:19 -0400
commit74d3bc3916a6fefac6f5a1f810b855b7046696bb (patch)
treeb2ffe8e70d077d7ef54aadf253b2b3861205a610 /dev-python/bitarray
parent765e3354b7e89fbd8364bd8fdc02fc98fdb3cf8c (diff)
downloadgentoo-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