[newbies] Ошибка при cmake-сборке
Ivan Zakharyaschev
imz на altlinux.org
Чт Окт 26 15:08:31 MSK 2017
Hello!
On Thu, 26 Oct 2017, alexey wrote:
> Пытаюсь собрать пакет visualboyadvance-m и получаю ошибку
> x86_64-alt-linux-gcc: error: qc: No such file or directory
На самом деле, я помню, что там была следующая ошибка ещё (из личного
общения) -- нету некого lib*.a файла. И это дополнительная информация в
пользу объяснения, которое я высказываю ниже. Этот lib*.a не создаётся
из-за показанной здесь предыдущей ошибки.
(На самом деле, если бы все обе ошибки были показаны в этом письме,
получается, было бы легче разобраться, чем видя только одну ошибку.)
> Репозиторий на git.altlinux
> http://git.altlinux.org/people/alexey/packages/?p=visualboyadvance-m.git
>
> Исходные коды взял здесь
> https://github.com/visualboyadvance-m/visualboyadvance-m
>
> Насколько я понял, обращение к qc порождается cmake-ом. Результат поиска по
> "qc" в приложенном файле (qc_hsh-shell_grep.txt).
>
> Может быть, кто-то с таким сталкивался? Буду рад любым соображениям по
> преодолению.
Я погуглил по этим буквам: "qc" "cmake"; и найденные обсуждения наводят на
мысль, что это аргумент для ar (см. man ar).
Такая ошибка могла возникнуть, если там делается что-то вроде (пример на
shell):
$AR qc ...
а $AR при этом раскрывается в пустоту (потому что не определён).
И в этом grep-е по содержанию пакета cmake есть похожие вещи:
/usr/share/cmake/Modules/Platform/Windows-GNU.cmake:58:
set(CMAKE_${lang}_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS>
<OBJECTS>")
/usr/share/cmake/Modules/CMakeFortranInformation.cmake:196:
set(CMAKE_Fortran_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS>
<OBJECTS>")
/usr/share/cmake/Modules/CMakeCXXInformation.cmake:268:
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS>
<OBJECTS>")
/usr/share/cmake/Modules/CMakeCUDAInformation.cmake:143:
set(CMAKE_CUDA_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS>
<OBJECTS>")
/usr/share/cmake/Modules/CMakeCInformation.cmake:179:
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS>
<OBJECTS>")
Вызов ar должен был бы создать требуемый lib*.a, но этого не
происходит из-за того, что вместо настоящего ar почему-то подставляется
пустота.
Больше ничего не знаю про cmake и дальше подсказать не могу.
--
Best regards,
Ivan
Подробная информация о списке рассылки devel-newbies