Beim Versuch, Lapack 3.9.1 für conda-forge zu erstellen (siehe hier ), gibt es nach dem Erstellen einen neuen Fehler für ctest --output-on-failure -E "x*cblat*"
:
81/108 Test #81: LAPACK-xlintstz_ztest_in .........***Failed 0.06 sec
Running: D:/bld/blas-split_1620498704464/work/build/bin/xlintstz.exe
ARGS= OUTPUT_FILE;D:/bld/blas-split_1620498704464/work/build/TESTING/ztest.out;ERROR_FILE;D:/bld/blas-split_1620498704464/work/build/TESTING/ztest.out.err;INPUT_FILE;D:/bld/blas-split_1620498704464/work/TESTING/ztest.in
Test OUTPUT:
Test ERROR:
CMake Error at D:/bld/blas-split_1620498704464/work/TESTING/runtest.cmake:36 (message):
Test D:/bld/blas-split_1620498704464/work/build/bin/xlintstz.exe returned
Stack overflow
Der Build erfolgt mit minGW ungefähr wie folgt (mehr Details hier ):
set "CC=gcc.exe"
set "CXX=g++.exe"
set "FC=gfortran.exe"
cmake -G "MinGW Makefiles" ^
-DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
-DBUILD_SHARED_LIBS=yes ^
-DCMAKE_BUILD_TYPE=Release ^
-DBUILD_TESTING=ON ^
-DLAPACKE=ON ^
-DCBLAS=ON ^
-DBUILD_DEPRECATED=ON ^
-Wno-dev ..
mingw32-make -j%CPU_COUNT%
mingw32-make install
if %ERRORLEVEL% NEQ 0 exit 1
Interessant, da erwartet wird, dass 3.9.1 die Stack-Anforderungen für xlintstz im Vergleich zu früheren Versionen erheblich _reduziert_ hat. (Und auf Unixoid-Plattformen definitiv)
Entschuldigung, die Änderungen, an die ich gedacht habe (#492) betrafen eher xeigtstz als xlintstz
Ja ... ich würde sagen, dass ein Fix ähnlich wie #492 dieses Problem lösen wird. Beide beziehen sich auf Stapelüberlauf.
Ich habe mir #492 angesehen, aber es sieht etwas über meiner Gehaltsstufe aus ... Meinst du das (etwas in der Art) https://github.com/Reference-LAPACK/lapack/pull/492/commits/df02000eedbda3f38e305af1290313e5b2a2b541 muss für die LIN-Tests durchgeführt werden?
Zuerst würde ich vorschlagen, dass Sie die Stapelgröße ulimit -s unlimited
erhöhen und prüfen, ob das Problem weiterhin besteht. Kannst du es bitte versuchen? Wenn dies funktioniert, können wir dieselbe Lösung wie in #492 anwenden.
Unter Windows mit mingw muss die Stackgröße meiner Meinung nach zum Zeitpunkt der Kompilierung / Verknüpfung angepasst werden (-Wl,--stack,2097152 oder höher). Man kann den Standardwert in der exe wahrscheinlich mit etwas wie dumpbin /headers
.
Vielen Dank für den Tipp @martin-frbg, tatsächlich löst https://github.com/conda-forge/lapack-feedstock/pull/51/commits/3835a4de851f90555b5a6ce6bdd3e6d66b57e675 den Fehler unter Windows.
Freut mich zu wissen, dass es funktioniert - aber ich denke, wir möchten vielleicht noch die Lösung von #492 kopieren (ich habe zchkaa.f bereits konvertiert, aber noch nicht die minimale Uiimit mit dem neuen Code bestimmt)
Hilfreichster Kommentar
Unter Windows mit mingw muss die Stackgröße meiner Meinung nach zum Zeitpunkt der Kompilierung / Verknüpfung angepasst werden (-Wl,--stack,2097152 oder höher). Man kann den Standardwert in der exe wahrscheinlich mit etwas wie
dumpbin /headers
.