أثناء محاولة إنشاء lapack 3.9.1 لـ conda-forge (انظر هنا ) ، هناك خطأ جديد لـ 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
يتم البناء باستخدام minGW ، تقريبًا كما يلي (مزيد من التفاصيل هنا ):
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
من المثير للاهتمام أنه من المتوقع أن يؤدي 3.9.1 إلى خفض كبير في متطلبات المكدس لـ xlintstz مقارنة بالإصدارات السابقة. (وهو بالتأكيد موجود على منصات Unixoid)
آسف ، التغييرات التي كنت أفكر فيها (# 492) أثرت على xeigtstz بدلاً من xlintstz
نعم ... أود أن أقول إن إصلاحًا مشابهًا لـ # 492 سيحل هذه المشكلة. كلاهما يتعلق بتجاوز المكدس.
لقد نظرت إلى # 492 لكنها تبدو أعلى قليلاً من راتبي ... هل تقصد ذلك (شيء على غرار) https://github.com/Reference-LAPACK/lapack/pull/492/commits/df02000eedbda3f38e305af1290313e5b2a2b541 يجب القيام به لاختبارات LIN؟
في البداية ، أقترح عليك زيادة حجم المكدس ulimit -s unlimited
ومعرفة ما إذا كانت المشكلة لا تزال قائمة. هل يمكنك تجربتها من فضلك؟ إذا نجح ذلك ، فيمكننا تجربة نفس الحل المطبق في # 492.
في Windows مع mingw ، أعتقد أن حجم المكدس يحتاج إلى تعديل في وقت الترجمة / الارتباط (-Wl ، - stack ، 2097152 أو أكبر). ربما يمكن للمرء الحصول على القيمة الافتراضية في exe بشيء مثل dumpbin /headers
.
شكرًا جزيلاً للنصيحة @ martin-frbg ، في الواقع ، https://github.com/conda-forge/lapack-feedstock/pull/51/commits/3835a4de851f90555b5a6ce6bdd3e6d66b57e675 يحل الفشل على النوافذ.
يسعدني معرفة أنه يعمل - لكن أعتقد أننا قد لا نزال نرغب في نسخ الحل من # 492 (لقد قمت بتحويل zchkaa.f بالفعل ولكن لم أحدد الحد الأدنى من uiimit مع الكود الجديد حتى الآن)
التعليق الأكثر فائدة
في Windows مع mingw ، أعتقد أن حجم المكدس يحتاج إلى تعديل في وقت الترجمة / الارتباط (-Wl ، - stack ، 2097152 أو أكبر). ربما يمكن للمرء الحصول على القيمة الافتراضية في exe بشيء مثل
dumpbin /headers
.