编辑

编辑

我正在使用“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-configmake installPKG_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。

相关内容