[DE] Paperwork crashed beim Start [gelöst]

Started by orinoco, 2026/05/19, 21:53:19

Previous topic - Next topic

Teriarch

#15
s.u.

Teriarch

Das ist seltsam. Laut Spezifikation ist die Instruktion  pinsrq, an der es wohl scheitert Teil des
X86_V2 Befehlssatzes (da enthalten in SSE4.1), aber nicht  Teil von X86_V1, der mit der Option
-Dcpu-baseline="none" ausschließlich verwendet werden sollte (alle dispatch Optionen müssen
vor ihrer Verwendung ohne Benutzung von X86_V2 überprüft werden). Hier scheint es sich  wohl
um einen Bug in python3-numpy zu handeln. Schalte versuchsweise auf der ältern Maschine bei
der Übersetzung mit
 
$ python3 vendored-meson/meson/meson.py setup build -Dcpu-baseline="none" -Dcpu-dispatch="none"
 
auch noch die dispatch Optionen ab und schau', was dann passiert.

 
 

orinoco

Oh, oh,
mir war ein Fehler unterlaufen. Ich hatte vergessen, die kompilierten Libs in die entsprechenden Ordner zu kopieren. Das habe ich noch nachgeholt und jetzt wird Numby importiert und der Test läuft durch:
2630 passed, 187 skipped, 49021 deselected in 1473.39s (0:24:33)
True
Und der Real-Life-Test bestätigt: Paperwork, Cura und FreeCAD starten wieder.

Teriarch

> Und der Real-Life-Test bestätigt: Paperwork, Cura und FreeCAD starten wieder.
Sehr gut. Ich empfehle, die Einzelschritte, die sich noch in der History der beiden Rechner
(und sich noch frisch in Deinem Kopf) befinden, zu speichern (oder in ein Shell Skript zu
verwandeln), damit beim nächsten Update von python3-numpy alles etwas schneller geht
(Ich hatte ein ähnliches Problem, da das alte Debian Sage Computer Algebra System auf die
python 3.11 Module angewiesen ist und diese in dem Standardpaket von Numpy nicht mehr
zur Verfügung gestellt werden).  

orinoco

Du wirst lachen...

#!/usr/bin/env bash
# CPU-Typ
lscpu > 01_cpuinfo.txt

# Abhängigkeiten installieren
dpkg -l|grep -e cython3 -e ninja-build -e python3-hypothesis -e meson
sudo apt -V install meson cython3 python3-hypothesis

# Quelltext laden
mkdir ./src
cd ./src
apt-get source python3-numpy | tee ../02_get_numpy_src.txt
cd  numpy-2.4.4+ds

# compilieren
python3 vendored-meson/meson/meson.py setup build -Dcpu-baseline="none" | tee ../../03_meson_output.txt
cd build
ninja
find . | grep 313 | grep -e '\.so$' | xargs -n1 strip -v

und

#!/usr/bin/env bash

# root?
if [ "$(id -u)" != 0 ]; then
  echo "Ohne root-Rechte geht nix" 2>&1
  exit 1
fi

# Parameter
if [ "$1" == "do" ]; then
  echo "Sichere alte Bibliotheken und kopiere die neuen"
  if [ -d ./backup ]; then
    echo "Es existiert noch ein Backup"
    exit 3
  fi
  mkdir ./backup
  cp -dp /usr/lib/python3/dist-packages/numpy/_core/_multiarray_tests.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/_core/_multiarray_umath.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/_core/_operand_flag_tests.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/_core/_rational_tests.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/_core/_simd.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/_core/_struct_ufunc_tests.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/_core/_umath_tests.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/fft/_pocketfft_umath.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/linalg/lapack_lite.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/linalg/_umath_linalg.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/random/bit_generator.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/random/_bounded_integers.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/random/_common.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/random/_generator.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/random/_mt19937.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/random/mtrand.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/random/_pcg64.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/random/_philox.cpython-313-x86_64-linux-gnu.so ./backup/
  cp -dp /usr/lib/python3/dist-packages/numpy/random/_sfc64.cpython-313-x86_64-linux-gnu.so ./backup/

  find ./src -name _multiarray_tests.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/_core/ \;
  find ./src -name _multiarray_umath.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/_core/ \;
  find ./src -name _operand_flag_tests.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/_core/ \;
  find ./src -name _rational_tests.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/_core/ \;
  find ./src -name _simd.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/_core/ \;
  find ./src -name _struct_ufunc_tests.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/_core/ \;
  find ./src -name _umath_tests.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/_core/ \;
  find ./src -name _pocketfft_umath.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/fft/ \;
  find ./src -name lapack_lite.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/linalg/ \;
  find ./src -name _umath_linalg.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/linalg/ \;
  find ./src -name bit_generator.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/random/ \;
  find ./src -name _bounded_integers.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/random/ \;
  find ./src -name _common.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/random/ \;
  find ./src -name _generator.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/random/ \;
  find ./src -name _mt19937.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/random/ \;
  find ./src -name mtrand.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/random/ \;
  find ./src -name _pcg64.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/random/ \;
  find ./src -name _philox.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/random/ \;
  find ./src -name _sfc64.cpython-313-x86_64-linux-gnu.so -exec cp -dp {} /usr/lib/python3/dist-packages/numpy/random/ \;
elif [ "$1" == "undo" ]; then
  echo "Restauriere die alten Bibliotheken"
  if [ ! -d ./backup ]; then
    echo "Kein Backup gefunden"
    exit 4
  fi
  cp -dp ./backup/_multiarray_tests.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/_core/
  cp -dp ./backup/_multiarray_umath.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/_core/
  cp -dp ./backup/_operand_flag_tests.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/_core/
  cp -dp ./backup/_rational_tests.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/_core/
  cp -dp ./backup/_simd.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/_core/
  cp -dp ./backup/_struct_ufunc_tests.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/_core/
  cp -dp ./backup/_umath_tests.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/_core/
  cp -dp ./backup/_pocketfft_umath.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/fft/
  cp -dp ./backup/lapack_lite.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/linalg/
  cp -dp ./backup/_umath_linalg.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/linalg/
  cp -dp ./backup/bit_generator.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/random/
  cp -dp ./backup/_bounded_integers.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/random/
  cp -dp ./backup/_common.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/random/
  cp -dp ./backup/_generator.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/random/
  cp -dp ./backup/_mt19937.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/random/
  cp -dp ./backup/mtrand.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/random/
  cp -dp ./backup/_pcg64.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/random/
  cp -dp ./backup/_philox.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/random/
  cp -dp ./backup/_sfc64.cpython-313-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/numpy/random/
else
  echo "Nur do und undo sind erlaubt"
  exit 2
fi

Spätestens beim dritten Eintippen schreibe ich mir immer en Skript.

Und natürlich vielen Dank für die Unterstützung.