从git编译gedit 2.30.4

时间:2011-04-15 22:31:09

标签: makefile gnome gedit

我试过从git编译gedit,但我不能。在制作过程中,我得到:

/usr/bin/ld: ./.libs/libgedit.a(eggsmclient-xsmp.o): undefined reference to symbol 'IceProcessMessages'
/usr/bin/ld: note: 'IceProcessMessages' is defined in DSO //usr/lib64/libICE.so.6 so try adding it to the linker command line
//usr/lib64/libICE.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[4]: *** [gedit] Error 1
make[4]: Leaving directory `/home/thom/gedit/gedit'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/thom/gedit/gedit'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/thom/gedit/gedit'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/thom/gedit'
make: *** [all] Error 2

任何想法?谢谢。

更新:

实际上我没有在同一目录中。我不知道该怎么办。谢谢。

# locate libICE
/usr/lib32/libICE.a
/usr/lib32/libICE.so
/usr/lib32/libICE.so.6
/usr/lib32/libICE.so.6.3.0
/usr/lib/libICE.a
/usr/lib/libICE.so
/usr/lib/libICE.so.6
/usr/lib/libICE.so.6.3.0

1 个答案:

答案 0 :(得分:0)

请查看configure.ac中的以下行:

if test "$os_osx" = "no" &&
   test "$os_win32" = "no"; then
    PKG_CHECK_MODULES(EGG_SMCLIENT, [
        sm >= 1.0.0
    ])
else

应该从第319行开始。你必须改变:

        sm >= 1.0.0

由:

        sm >= 1.0.0 ice

然后,您必须重新运行 autogen.sh 。此外,您可以报告构建错误并向https://bugzilla.gnome.org/browse.cgi?product=gedit上的gedit开发人员发送补丁: - )