Создание Flutter Linux на Manjaro

На прошлой неделе мне захотелось проверить небольшое приложение Flutter, созданное Лукасом Шустером.

Мне было особенно интересно попробовать поддержку Flutter Desktop для Linux.

После установки Flutter через fvm я проверил его Git-репозиторий и выполнил следующую команду для сборки приложения Flutter в Linux:

flutter build linux
Войти в полноэкранный режим Выйти из полноэкранного режима

К сожалению, это дало мне следующее сообщение об ошибке:

CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:605 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPkgConfig.cmake:827 (_pkg_check_modules_internal)
flutter/CMakeLists.txt:25 (pkg_check_modules)
Войти в полноэкранный режим Выйти из полноэкранного режима

Я дважды проверил официальную документацию и убедился, что следующие пакеты установлены:

  • clang
  • cmake
  • ninja-build
  • pkg-config
  • gtk3

После этого я повторил команду сборки, но с включенным флагом verbose:

flutter build linux -v
Войти в полноэкранный режим Выйти из полноэкранного режима

Что привело к следующему результату:

[] -- Checking for module 'gtk+-3.0'
[+1 ms] -- No package 'gtk+-3.0' found
Войти в полноэкранный режим Выйти из полноэкранного режима

Flutter не смог обнаружить мою установку gtk.

Вы можете проверить, может ли pkg-config обнаружить пакет, выполнив команду:

pkg-config --libs gtk+-3.0
Войти в полноэкранный режим Выйти из полноэкранного режима

В моей системе эта команда выдала следующую ошибку:

Package gtk+-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-3.0' found
Войти в полноэкранный режим Выйти из полноэкранного режима

Я исправил это, выяснив, где установлен gtk3 и добавив каталог в переменную PKG_CONFIG_PATH.

Проверьте, где находится пакет:

pacman -Ql gtk3

gtk3 /usr/lib/pkgconfig/gtk+-3.0.pc
Войдите в полноэкранный режим Выйти из полноэкранного режима

Добавим этот каталог в переменную окружения PKG_CONFIG_PATH:

export PKG_CONFIG_PATH=/usr/lib/pkgconfig
Войти в полноэкранный режим Выйти из полноэкранного режима

Возможно, вы захотите добавить это в ваш конфигурационный файл .bashrc или .zshrc.

Не забудьте перезагрузить среду, например, с помощью команды source ~/.zshrc!

После изменения PKG_CONFIG_PATH сборка Flutter вернулась:

Package 'shared-mime-info', required by 'gdk-pixbuf-2.0', not found
Configuring incomplete, errors occurred!
Войти в полноэкранный режим Выйти из полноэкранного режима

Ладно, еще одна знакомая ошибка, давайте проверим, доступен ли shared-mime-info:

pkg-config --libs shared-mime-info
Войти в полноэкранный режим Выйти из полноэкранного режима

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

Например:yay -Sy shared-mime-info.

После этого проверьте путь установки:yay -Ql shared-mime-info.

Найдите каталог, включающий файл shared-mime-info.pc, в моем случае это был: /usr/share/pkgconfig/.

Поэтому я добавил этот каталог в PKG_CONFIG_PATH:

После этого я смог собрать и запустить приложение Flutter на Manjaro!

Фото Danist Soh на Unsplash

Оцените статью
devanswers.ru
Добавить комментарий