我正在使用“SUSE Linux Enterprise Server 10 (x86_64)”机器,该机器的 GVim 版本为 6.4.6,该版本相当旧,并且不受某些插件支持。
这是一台企业机器,没有人会因为我想要一个对齐插件而做任何管理变更……
我已经下载并成功编译了 7.3 版本,使用“configure --prefix=/my/local/dir”命令。
但是,它无法识别 GTK2,并且继续使用丑陋的 Motif GUI。看来我安装了太旧的 GTK:“正在检查 GTK - 版本 >= 2.2.0... 没有”
我尝试手动将 GTK2 dev 包安装到本地路径,但失败了。有什么想法我该如何继续?...
谢谢...
编辑
“失败” - 意味着我安装了 glib2,但 pango 没有看到它。然后我尝试了 jhbuilder,但它只是给出了奇怪的错误,谷歌搜索也没有给出解决方案...
答案1
“但失败了”并没有提供足够的信息来说明哪里出了问题,但我有一些预感。您尝试使用哪些特定的命令行选项?您收到了什么错误消息?
以下是一些关于在本地构建内容的提示:
- 您可能需要其他更新的依赖项,例如 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
,然后用谷歌搜索让它查找/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
(例如)。
答案2
好吧,感谢 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。