Устранение неполадок сборки в портах vcpkg

Это руководство предназначено для пользователей с проблемами при установке портов с помощью vcpkg.

Поиск журналов сбоев

Сбои сборки могут произойти по почти бесконечному количеству причин. Если vcpkg не удается создать порт, первым шагом для диагностики причины является чтение файлов журнала.

vcpkg создает файл журнала для каждого внешнего процесса, вызываемого при создании порта. При возникновении ошибки vcpkg выводит расположение файла журнала для последнего процесса, запущенного до возникновения ошибки. Найдите строку "Просмотреть журналы для получения дополнительных сведений": в выходных данных vcpkg.

Пример: выходные данные расположения файлов журнала

    See logs for more information:
      C:\Users\viromer\work\vcpkg\buildtrees\detect_compiler\config-x64-linux-rel-CMakeCache.txt.log
      C:\Users\viromer\work\vcpkg\buildtrees\detect_compiler\config-x64-linux-out.log

Все созданные файлы журнала можно найти, проверяя каталог порта, расположенный в $VCPKG_ROOT/buildtrees/<port>/ (замените <port> соответствующим именем портаbuildtrees).

Не удалось скачать ресурсы порта

Примечание.

Использование кэширования ресурсов может помочь устранить такие проблемы, обеспечивая постоянную доступность кэшированных ресурсов.

При установке порта возникает ошибка при скачивании ресурса из сети.

CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:32 (message):

  Failed to download file with error: 1

Причина 1. URL-адрес скачивания больше не является допустимым

По причинам, которые не указаны в URL-адресах элементов управления vcpkg, могут стать недопустимыми. Сломанные ссылки можно диагностировать с помощью веб-браузера для перехода по URL-адресу скачивания, неработая ссылка создаст код состояния 404.

Действия по устранению:

1. Измените порт, чтобы использовать альтернативный URL-адрес скачивания для ресурса.

Причина 2. Хэш файла не соответствует ожидаемому SHA512

error: Failed to download from mirror set
error: File does not have the expected hash:
url: https://github.com/OpenImageIO/oiio/archive/v2.4.13.0.tar.gz
File: /home/user/vcpkg/downloads/OpenImageIO-oiio-v2-9325beef.4.13.0.tar.gz.1925416.part
Expected hash: 9325beefce55b66a58fcfc2ce93e1406558ed5f6cc37cb1e8e04aee470c4f30a14483bebfb311c329f7868afb6c508a052661c6b12d819a69f707c1a30cd9549
Actual hash: 9e887c7039995ce7c41556e09a7eed940863260a522ecf7d9bec300189026ed507da560620dfa4a619deeb679be7adf42fe3a7020ff3094df777c7934c771227

Эта ошибка возникает, когда файл вышестоящий был изменен каким-либо образом сервером, но URL-адрес скачивания сохраняется одинаково. В качестве меры безопасности vcpkg отклонит файлы с SHA512, которые не соответствуют ожидаемому SHA512 для ресурса.

Действия по устранению:

1. Убедитесь, что скачанный файл защищен 2. Измените порт, чтобы использовать SHA512 нового файла.

Цепочка инструментов Visual Studio не найдена

При установке порта vcpkg не удается найти соответствующую цепочку инструментов:

error: in triplet arm-windows: Unable to find a valid toolchain for requested target architecture arm.
The selected Visual Studio instance is at: C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools
The available toolchain combinations are: x86, amd64, x86_amd64, amd64_x86

Причина 1. Соответствующая цепочка инструментов для целевой архитектуры не установлена

Если экземпляр Visual Studio соответствует требуемой версии vcpkg и вы получите эту ошибку, скорее всего, причина заключается в том, что соответствующая цепочка инструментов не установлена.

  • Откройте Visual Studio Installer и установите соответствующую цепочку инструментов.

Причина 2. Выбранная версия Visual Studio является неправильной

Если установлен необходимый цепочка инструментов, vcpkg может выбрать неправильную версию Visual Studio, в которой цепочка инструментов не установлена. Дополнительные сведения см. в документации по алгоритму выбора Visual Studio.

Действия по устранению:

1. Установите VCPKG_PLATFORM_TOOLSET соответствующую версию. 2. Кроме того, задайте нужный VCPKG_VISUAL_STUDIO_PATH путь установки экземпляра Visual Studio.

Отсутствующие системные зависимости

Необходимое средство сборки или зависимость системы не устанавливается в среде.

Пример. Для порта требуются системные зависимости

alsa currently requires the following programs from the system package manager:
    autoconf autoheader aclocal automake libtoolize
On Debian and Ubuntu derivatives:
    sudo apt install autoconf libtool
On recent Red Hat and Fedora derivatives:
    sudo dnf install autoconf libtool
On Arch Linux and derivatives:
    sudo pacman -S autoconf automake libtool
On Alpine:
    apk add autoconf automake libtool

Большинство портов vcpkg, требующих системных зависимостей, печатают сообщение во время установки. В некоторых случаях список обязательных системных зависимостей может быть неполным. Диагностика этого типа проблем зависит от базовой встроенной системы, проверка журналы ошибок, чтобы определить причину сбоя.

Действия по устранению:

1. Выполните необходимые действия для установки отсутствующих системных зависимостей в вашей среде.

Проблема не указана здесь

Если проблема не указана здесь, посетите наш репозиторий , чтобы создать новую проблему.