Назад | Перейти на главную страницу

Slackware 12 - cairo установлен, но его не видно

Я хотел установить gtk + 2.16.5, поэтому я также установил glib, pango и cairo. Все вроде работало хорошо, кроме Каира.

Сначала при настройке возникла ошибка:

Запрошено 'cairo> = 1.6', но версия cairo - 1.4.12

Я установил последнюю версию cairo без каких-либо проблем, я перезагрузил комп, и когда я снова начал настройку, произошло то же самое, и он показал мне ту же ошибку.

Я тоже это вижу:

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

В качестве альтернативы вы можете установить переменные среды BASE_DEPENDENCIES_CFLAGS и BASE_DEPENDENCIES_LIBS, чтобы избежать необходимости вызывать pkg-config.

См. Дополнительную информацию на странице руководства pkg-config.

Кто-нибудь может мне помочь ? Спасибо.

Что вы имеете в виду, говоря «Я без проблем установил последнюю версию cairo»?

Вы установили пакет Slackware, распаковали предварительно собранный архив или скомпилировали его из исходников?

Я подозреваю, что вы сделали одно из последних. Если вы просто скачали архив и где-нибудь разархивировали его, менеджер пакетов не узнает. То же самое с компиляцией и установкой на основе исходного кода.

Сложнее смешивать программное обеспечение с исходным кодом и программное обеспечение, управляемое пакетами. Если у вас нет причин использовать «последний» gtk +, просто используйте тот, который был предварительно упакован. Теперь, когда Slackware 13 вышел, вы даже можете проверить, есть ли у него последняя версия gtk +, и вместо этого перейти на нее.

Вы не упоминаете никаких подробностей о том, как вы установили cairo. Если вы установили его из исходников обычным способом: сконфигурируйте; делать; make install, затем он попал в / usr / local, но Slackware использует --prefix = / usr. Это может быть причиной, но это просто предположение.

Вот сценарий, который я использую для компиляции gtk + в Slackware:

#!/bin/bash
INSTALL_DIR=/opt/gtk

GLIB_VER=2.21.1
ATK_VER=1.26.0
CAIRO_VER=1.8.6
PANGO_VER=1.24.2
GTK_VER=2.17.1
GOOCANVAS_VER=0.15

mkdir -p ${INSTALL_DIR}

CPPFLAGS="-I${INSTALL_DIR}/usr/include"
LDFLAGS="-L${INSTALL_DIR}/usr/lib"
PKG_CONFIG_PATH="${INSTALL_DIR}/usr/lib/pkgconfig"
LD_LIBRARY_PATH="${INSTALL_DIR}/usr/lib"
PATH="${INSTALL_DIR}/usr/bin:$PATH"
export CPPFLAGS LDFLAGS PKG_CONFIG_PATH LD_LIBRARY_PATH PATH

#glib
tar zxvf glib-${GLIB_VER}.tar.gz
cd glib-${GLIB_VER}
./configure --prefix=${INSTALL_DIR}/usr --sysconfdir=${INSTALL_DIR}/etc && make && make install
cd ..

#atk
tar zxvf atk-${ATK_VER}.tar.gz
cd atk-${ATK_VER}
./configure --prefix=${INSTALL_DIR}/usr --sysconfdir=${INSTALL_DIR}/etc && make && make install
cd ..

#cairo
tar zxvf cairo-${CAIRO_VER}.tar.gz
cd cairo-${CAIRO_VER}
./configure --prefix=${INSTALL_DIR}/usr --sysconfdir=${INSTALL_DIR}/etc && make && make install
cd ..

#pango
tar zxvf pango-${PANGO_VER}.tar.gz
cd pango-${PANGO_VER}
./configure --prefix=${INSTALL_DIR}/usr --sysconfdir=${INSTALL_DIR}/etc && make && make install
cd ..

#gtk
tar zxvf gtk+-${GTK_VER}.tar.gz
cd gtk+-${GTK_VER}
./configure --prefix=${INSTALL_DIR}/usr --sysconfdir=${INSTALL_DIR}/etc && make && make install
cd ..

Поместите этот скрипт и необходимые файлы в тот же каталог. Для gtk 2.17.1 необходимы следующие файлы:

glib-2.21.1.tar.gz
atk-1.26.0.tar.gz
cairo-1.8.6.tar.gz
pango-1.24.2.tar.gz
gtk+-2.17.1.tar.gz

Вы должны скомпилировать это в этот заказ если вы хотите, чтобы он работал. Также новая версия gtk будет установлена ​​в / opt / gtk, поэтому это не беспокоит gtk, установленного по умолчанию.

Если вы хотите скомпилировать (и запустить) программу, использующую новый gtk, вам просто нужно поместить это в свой файл /home/user/.bashrc:

INSTALL_DIR=/opt/gtk

PKG_CONFIG_PATH="${INSTALL_DIR}/usr/lib/pkgconfig"
LD_LIBRARY_PATH="${INSTALL_DIR}/usr/lib"
PATH="${INSTALL_DIR}/usr/bin:$PATH"
export PKG_CONFIG_PATH LD_LIBRARY_PATH PATH

и это все.