Как найти зависимости при сборке программного обеспечения из исходного кода?

Вот что я сделал. Я скачал foxtrotgps.1.1.1.tar.gz, так как он является последним в /home/crash/usr/local.src. Я распаковал его в мой / home / crash / usr / local / src как каталог /foxtrotgps.1.1.1

Затем я проверил все необходимые пакеты для правильного уровня, и они были или, если не хватает, я добавил их.

Итак, я иду в каталог FTGPS и делаю ./configure, и он попадает туда, где говорит:

No package 'gtk+-2.0' found
No package 'gdk-2.0' found
No package 'gthread-2.0' found

Но gtk + -2.0 есть, но я не нахожу gdk или GThread. И это останавливается и никуда не идет. Что я делаю не так - какие зависимости пакетов мне не хватает?

4
задан 6 August 2012 в 02:04

2 ответа

условие

Я предполагаю, что вы используете последнюю версию Ubuntu, такую ​​как 12.04. Версии в хранилище считаются стабильными - поэтому, возможно, вы захотите использовать эту версию.

Однако, если вам нравится жить на переднем крае - компиляция или установка из PPA - это путь. Просто помните, что этот маршрут может оставить вашу систему в потенциально нестабильном состоянии.

как скомпилировать

Зависимости, которые вам нужны для установки, следующие:

sudo apt-get install autotools-dev intltool libbluetooth-dev libcurl4-gnutls-dev libexif-dev libgconf2-dev libglade2-dev libgps-dev libgtk2.0-dev  libsoup2.4-dev  libsqlite3-dev libxml2-dev

Не забудьте также установить пакет build-essential, т.е.

sudo apt-get install build-essential

Итак, как я узнал, что

... ну, я вроде как обманул.

Поищите ваш пакет на packages.ubuntu.com - я искал foxtrotgps в квантовом хранилище.

enter image description here

Просмотрите ресурсы и найдите файл debian.tar.xz. Нажмите на него - он откроется в диспетчере архивов. Перейдите к файлу control в папке debian.

enter image description here

В разделе, посвященном сборке, находятся пакеты, необходимые Launchpad для сборки исходного кода, - те же пакеты, которые вам нужно установить.

0
ответ дан 6 August 2012 в 02:04

Иногда вы можете скомпилировать новую версию, не используя PPA для исходных зависимостей, и использовать замечательную функцию build-dep в Ubuntu. Убедитесь, что у вас выбраны исходные пакеты и есть эта строка в вашем файле sources.list:

deb-src http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse

Вы можете проверить, введя в терминал cat /etc/apt/sources.list.

Я успешно скомпилировал Stellarium 0.11.3, Scummvm 1.5.0 и другие, получив зависимости с build-dep; например:

sudo apt-get build-dep scummvm

Для пакетов, уже находящихся в репозиториях, вы можете проверить зависимости с помощью:

apt-cache show foxtrotgps

и сравните с зависимостями, необходимыми для более новой версии, которая будет указана на веб-сайте программы, или в файле readme с загрузкой исходного кода.

Обычно при получении зависимостей с помощью метода build-dep необходимо загрузить стабильный исходный код с сайта программы, а не версию для разработчиков или git. не всегда всегда можно будет скомпилировать новую версию таким образом, но это стоит попробовать. (Например, для Gimp 2.8 требуется более поздняя версия Gtk, которую невозможно найти, используя исходные файлы для Precise.)

Однако я успешно использовал метод build-dep для Foxtrotgps ; Просто выполните следующие действия (при условии, что вы установили build-essential):

Ниже приведен скриншот скомпилированной программы, foxtrotgps:

foxtrot

0
ответ дан 6 August 2012 в 02:04

Другие вопросы по тегам:

Похожие вопросы: