Я пытаюсь скомпилировать Slic3r 1.2.9 (Git 65a23b) на Raspbian, и запуск sudo perl Build.PL --verbose
не выполняется при сборке модуля Perl Time-HiRes-1.9754:
...
--> Working on Time::HiRes
Fetching http://www.cpan.org/authors/id/J/JH/JHI/Time-HiRes-1.9754.tar.gz ... OK
Configuring Time-HiRes-1.9754 ... FAIL
! Timed out (> 60s). Use --verbose to retry.
! Configure failed for Time-HiRes-1.9754. See /root/.cpanm/work/1520227993.988/build.log for details.
В файле журнала отображается немного больше информации, но я никогда не работал с Perl и не знаю, с чего начать отладку:
$ tail /root/.cpanm/work/1520234788.2186/build.log
Looking for clock_getres()... found.
Looking for clock_nanosleep()... found.
Looking for clock()... found.
Looking for working futimens()... found.
Looking for working utimensat()... found.
You seem to have subsecond timestamp setting.
Looking for stat() subsecond timestamps...
Trying struct stat st_atimespec.tv_nsec...-> FAIL Timed out (> 60s). Use --verbose to retry.
-> N/A
-> FAIL Configure failed for Time-HiRes-1.9754. See /root/.cpanm/work/1520234788.2186/build.log for details.
Я разместил проблема с Slic3r на GitHub, но у меня еще нет предложений - по-видимому, это не проблема самого Slic3r.
Что мне делать дальше, чтобы понять, что не так?
В сценарии сборки не указана минимальная версия, поэтому я запустил sudo cpanm Time::HiRes
сам по себе, но он потерпел неудачу точно так же, используя версию 1.9757. Как ни странно, использование --verbose
с cpanm
позволило ему успешно скомпилировать. Я попробую сценарий сборки позже и посмотрю, как он пойдет.
Вы должны попытаться просмотреть весь журнал. Это похоже на часть сценария конфигурации для самого модуля или на некоторую вышестоящую зависимость. Если это не удается, это может быть связано с тем, что не установлена некоторая исходная библиотека, отличная от Perl. Это часть конфигурации модуля, который пытается скомпилировать небольшую программу metacpan.org/source/JHI/Time-HiRes-1.9757/Makefile.PL (проверьте строку 744). Извлеките эту программу оттуда, чтобы увидеть, что происходит. Возможно, это связано с тем, что это Raspi, но тогда это тайм-аут ... Трудно сказать.
Загляните внутрь скрипта сборки и посмотрите, есть ли минимальная версия Time :: HiRes, которую вы могли бы установить, а затем попробуйте установить ее с помощью cpan / cpanm.