Как скомпилировать 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 найден.

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