从git编译gedit 2.30.4

问题描述

| 我试图从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
    

解决方法

查看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开发人员     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...