Я создаю приложение, используя файл рецепта Singularity (v. 2.5.1). В какой-то момент он дает сбой во время сборки, cmake
дает сбой и записывает ошибки в файл журнала в образе сингулярности.
Чтобы построить образ:
sudo /opt/singularity/2.5.1/bin/singularity build test.simg Singularity
Конец вывода stdout (распечатанного на терминал) из сборки:
.
.
.
MKL is found at /my_dir/intel/mkl
CMake Error at cmake/FindMKL.cmake:83 (error):
Unknown CMake command "error".
Call Stack (most recent call first):
CMakeLists.txt:262 (find_package)
-- Configuring incomplete, errors occurred!
See also "/my_dir/code/gadgetron/build/CMakeFiles/CMakeOutput.log".
Проблема в том, что, поскольку сборка образа сингулярности не удалась, нет образа для исследования журналов.
ВОПРОС: Как сохранить журналы или файлы процесса сборки, если сам образ не удается собрать? Возможно, в cmake есть способ перенаправить вывод из CMakeOutput.log в стандартный вывод?
Я надеялся найти способ связать или скопировать файл до того, как попытка сборки сингулярности потерпит неудачу.
О, только что обнаружил, что вам нужен журналы, а не картинки. Но если вам нужны логи для исправления данной ошибки, то в этом нет смысла. CMake сообщает обо всем, что связано с ошибкой, в журнал конфигурации, который вы показали.
Должно быть больше информации об ошибке в /my_dir/code/gadgetron/build/CMakeFiles/CMakeOutput.log
, верно?
Не совсем так. CMake печатает строку «См. также» в случае какой-либо ошибки. Но в большинстве случаев CMakeOutput.log
имеет значение бесполезный для устранения ошибки. Этот журнал может (вероятно!) помочь, если ошибка исходит из внутренних компонентов CMake. Но ошибка Unknown CMake command "XXX".
вообще не отражается в логе. В журнале не перечислены все доступные команды (по крайней мере, до тех пор, пока для CMake не будут указаны параметры отладки). Короче: Лучше сначала заглянуть в указанную строку, а уже потом решать, нужна ли вам дополнительная информация от CMake.
Вы получили ошибку на этапе конфигурация. Таким образом, этот этап терпит неудачу, и этап строить никогда не выполняется. Я не знаком с сингулярностью, но полагаю, что образы не генерируются до этапа сборки.