|
发表于 2004-4-30 22:37:06
|
显示全部楼层
已经编译并安装了cvs 里的 scim 及 scim-chinese,使用智能拼音,使用中基本正常,只是不能保存在面板里修改的设置,有“Failed to load socket module.”的提示。这是我用 strace 的相关输出:
- old_mmap(0x4078a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x9000) = 0x4078a000
- close(3) = 0
- open("/etc/passwd", O_RDONLY) = 3
- fcntl64(3, F_GETFD) = 0
- fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
- getuid32() = 1000
- open("/etc/passwd", O_RDONLY) = 4
- fcntl64(4, F_GETFD) = 0
- fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
- _llseek(4, 0, [0], SEEK_CUR) = 0
- fstat64(4, {st_mode=S_IFREG|0644, st_size=1333, ...}) = 0
- mmap2(NULL, 1333, PROT_READ, MAP_SHARED, 4, 0) = 0x4078c000
- _llseek(4, 1333, [1333], SEEK_SET) = 0
- munmap(0x4078c000, 1333) = 0
- close(4) = 0
- close(3) = 0
- socket(PF_UNIX, SOCK_STREAM, 0) = 3
- connect(3, {sa_family=AF_UNIX, path="/tmp/scim-socket-frontend-save"}, 32) = -1 ENOENT (No such file or directory)
复制代码
还有,x11-frontend-setup.so 依赖于 0.9 的库,而非 0.99 的库:
$ldd /usr/lib/scim-1.0/0.99.0/SetupUI/x11-frontend-setup.so | grep util
libscim-gtkutils-0.9.so.0 => /usr/lib/libscim-gtkutils-0.9.so.0 (0x404d1000)
$ll /usr/lib/libscim-gtkutils-0.9.so.0
lrwxrwxrwx 1 root root 39 2004-04-30 23:15 /usr/lib/libscim-gtkutils-0.9.so.0 -> /usr/lib/libscim-gtkutils-0.99.so.0.0.0
另外编译过程中还有一些波折。
bootstrap 时也会有如下的出错信息:
[php]
+ aclocal -I m4
+ autoheader
+ libtoolize -c --automake
+ intltoolize -c --automake
no need for patching file 'Makefile.in.in'
+ automake --add-missing --copy --include-deps
configure.ac: installing `./install-sh'
configure.ac: installing `./missing'
Use of uninitialized value in concatenation (.) or string at /usr/bin/automake line 8450.
: installing `./config.guess'
Use of uninitialized value in concatenation (.) or string at /usr/bin/automake line 8450.
: installing `./config.sub'
extras/gtk2_immodule/Makefile.am: installing `./depcomp'
modules/FrontEnd/IMdkit/Makefile.am: installing `./compile'
+ autoconf
configure.ac:76: error: possibly undefined macro: AC_LIBTOOL_DLOPEN
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:77: error: possibly undefined macro: AC_PROG_LIBTOOL
configure.ac:78: error: possibly undefined macro: AC_LIB_LTDL
[/php]
只得手动运行这些 auto tools,并 configure, make
结果链接生成执行文件时会出现:
undefined reference to `dlopen'
undefined reference to `dlerror'
undefined reference to `dlsym'
的提示。自行添加了 -ldl 的链接选项后,通过了编译。
小弟对 GNU autotools 十分不了解,请问我应该安装哪些版本的 autotools 才能顺利通过编译呢?
谢谢您。
Debian sid, gcc3.3.3, automake 1.6.3, autoconf 2.59, libtool 1.6-0 |
|