Как скомпилировать GTK2 на машине Linux без прав администратора?
Я работаю на компьютере SUSE Linux Enterprise Server 10 (x86_64), который имеет версию 6.4.6 GVim, которая довольно старая и не поддерживается некоторыми плагинами.
Это корпоративная машина, и никто не будет выполнять никаких административных изменений только потому, что я хочу иметь плагин выравнивания...
Я скачал и успешно скомпилировал версию 7.3 с помощью команды "configure --prefix=/my/local/dir".
Однако он не распознает GTK2 и продолжает использовать уродливый графический интерфейс Motif. Кажется, у меня установлена слишком старая версия GTK: "проверка GTK - версия>= 2.2.0... нет"
Я пытался вручную установить пакет GTK2 dev в локальный путь, но это не удалось. Любые идеи, как я могу продолжить?..
Спасибо...
РЕДАКТИРОВАТЬ
"Не удалось" - означает, что я установил glib2, но Панго его не увидел. Затем я попробовал jhbuilder, но он просто выдал странные ошибки, которые Google не дал решения...
2 ответа
"но это не удалось" не дает достаточно информации о том, что пошло не так, но у меня есть несколько догадок. Какие конкретные параметры командной строки вы пытаетесь использовать? Какое сообщение об ошибке вы получаете?
Несколько советов для создания вещей на местном уровне:
- Вам могут понадобиться другие обновленные зависимости, такие как GLib.
- Для программ, основанных на Autoconf (которые обычно отдаются тем, что
./configure
скрипт существует), нужно указать--prefix=/some/writable/dir
а также установить переменную средыPKG_CONFIG_PATH
В точкуpkg-config
в нужном месте. - Вам в основном нужно создать каталог, например
/home/you/usr
который является вашим местным эквивалентом/usr
и убедить сценарии сборки библиотек, таких какGLib
а такжеGTK
использовать/home/you/usr
для всего - в случае сомнений, запустите скрипт конфигурации сstrace -Ff -eopen
если можете, и посмотрите, к каким файлам он обращается/usr
а затем Google способ получить его, чтобы посмотреть в/home/you/usr
вместо. - Возможно, вам также придется переопределить путь установки по умолчанию для библиотек, передав
--libdir=/home/you/usr/lib
в скрипт настройки. - Связь, то есть каталоги, с которыми нужно связываться для каждого шага ссылки, обрабатывается путем правильной установки
.pc
файлы для библиотек зависимостей в/home/you/usr/lib/pkg-config
, Итак, другими словами, автоматически сгенерированный.pc
файлы, которые устанавливаются в/home/you/usr/lib/pkg-config
когда ты бежишьmake install
на автозагрузке программы, если вы установитеPKG_CONFIG_PATH
правильно, скажите компилятору ссылаться на/home/you/usr/lib/libglib-2.0.so
и не/usr/lib/libglib-2.0.so
(например).
Что ж, благодаря allquixotic, у меня теперь красивый местный GVim7.3:)
Для будущих читателей я подведу итоги. (надеясь, что я ничего не забыл...):
Перед запуском:
setenv CPPFLAGS "-I/local/path/usr/include"
setenv LDFLAGS "-L/local/path/usr/lib"
setenv LD_LIBRARY_PATH "/local/path/usr/lib"
setenv PKG_CONFIG_PATH "/local/path/usr/lib/pkgconfig"
В каждом компоненте выполните следующие команды:
./configure --prefix=/local/path/usr
make
make install
Вот версии, которые я использовал (обратите внимание, что порядок важен):
glib-2.10.3
atk-1.9.1
freetype-2.2.1
fontconfig-2.3.97
cairo1.0.4
pixman0.9
pango-1.12.4
gtk+-2.8.20
После этого я мог скомпилировать Vim7.3 со следующей конфигурацией:
configure --prefix=/local/path/usr --with-features=big --enable-gui=gtk2 | tee config.log
И убедитесь, что GTK найден.