3

Я работаю на компьютере 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 ответа2

1

Ну что ж, благодаря 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 найден.

1

"но это не удалось" не дает достаточно информации о том, что пошло не так, но у меня есть несколько догадок. Какие конкретные параметры командной строки вы пытаетесь использовать? Какое сообщение об ошибке вы получаете?

Несколько советов для создания вещей на местном уровне:

  • Вам могут понадобиться другие обновленные зависимости, такие как GLib.
  • Для программ, основанных на Autoconf (которые обычно определяются тем, что существует скрипт ./configure ), вам нужно указать --prefix=/some/writable/dir а также установить переменную PKG_CONFIG_PATH чтобы указать pkg-config в нужном месте.
  • По сути, вам нужно создать каталог, например, /home/you/usr который является вашим локальным эквивалентом /usr , и убедить сценарии сборки библиотек, таких как GLib и GTK использовать /home/you/usr для всего - когда он находится в сомневайтесь, запустите скрипт config с помощью strace -Ff -eopen если можете, и посмотрите, к каким файлам он обращается в /usr а затем найдите способ найти его в /home/you/usr .
  • Вам также может понадобиться переопределить путь установки по умолчанию для библиотек, передав --libdir=/home/you/usr/lib в скрипт configure.
  • Связь, то есть каталоги, с которыми нужно связываться для каждого шага ссылки, обрабатывается путем правильной установки файлов .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 (например).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .