|
|
发表于 2008-8-4 15:32:45
|
显示全部楼层
Post by shawn.p.huang;1882394
我发现问题的原因了,你们查看以下scim的版本,如果是1.4.7-r1,里面添加了一个patch,此patch会使用libtool里的dlopen函数,导致这个问题。
解决办法:
1.使用scim-1.4.7 代替scim-1.4.7-r1
2.或者,降低libtool的版本。
应为我没有gentoo的环境,所以没有对解决办法进行测试。你们测试有结果了,请通知我。 谢谢。
我刚才mask了scim-1.4.7-r1,降级安装scim-1.4.7,结果编译失败……
错误信息如下:
- ltdl.cpp: In function ‘void* scim::rpl_memcpy(void*, const void*, size_t)’:
- ltdl.cpp:384: 错误:‘void *’型指针用在了算术表达式中
- ltdl.cpp:384: 错误:‘void*’不是一个指向对象的类型
- ltdl.cpp:384: 错误:‘void *’型指针用在了算术表达式中
- ltdl.cpp:384: 错误:‘const void*’不是一个指向对象的类型
- ltdl.cpp: At global scope:
- ltdl.cpp:825: 错误:‘LTDL_OBJDIR’在此作用域中尚未声明
- ltdl.cpp:2070: 错误:expected initializer before ‘*’ token
- ltdl.cpp: In function ‘int scim::tryall_dlopen_module(scim::lt_dlhandle_struct**, const char*, const char*, const char*)’:
- ltdl.cpp:2401: 错误:‘sprintf’在此作用域中尚未声明
- ltdl.cpp: In function ‘int scim::find_file_callback(char*, void*, void*)’:
- ltdl.cpp:2646: 错误:‘FILE’在此作用域中尚未声明
- ltdl.cpp:2646: 错误:‘pfile’在此作用域中尚未声明
- ltdl.cpp:2646: 错误:expected primary-expression before ‘)’ token
- ltdl.cpp:2646: 错误:expected `;' before ‘data2’
- ltdl.cpp:2653: 错误:‘fopen’在此作用域中尚未声明
- ltdl.cpp:2655: 错误:从类型‘const char*’到类型‘char*’的转换无效
- ltdl.cpp: At global scope:
- ltdl.cpp:2668: 错误:expected initializer before ‘*’ token
- ltdl.cpp: In function ‘int scim::try_dlopen(scim::lt_dlhandle_struct**, const char*)’:
- ltdl.cpp:3002: 错误:从类型‘const char*’到类型‘char*’的转换无效
- ltdl.cpp:3029: 错误:‘FILE’在此作用域中尚未声明
- ltdl.cpp:3029: 错误:‘file’在此作用域中尚未声明
- ltdl.cpp:3055: 错误:‘isalnum’在此作用域中尚未声明
- ltdl.cpp:3078: 错误:‘find_file’在此作用域中尚未声明
- ltdl.cpp:3085: 错误:‘find_file’在此作用域中尚未声明
- ltdl.cpp:3105: 错误:‘fopen’在此作用域中尚未声明
- ltdl.cpp:3121: 错误:‘fclose’在此作用域中尚未声明
- ltdl.cpp:3127: 错误:‘feof’在此作用域中尚未声明
- ltdl.cpp:3129: 错误:‘fgets’在此作用域中尚未声明
- ltdl.cpp:3139: 错误:‘fgets’在此作用域中尚未声明
- ltdl.cpp:3197: 错误:从类型‘const char*’到类型‘char*’的转换无效
- ltdl.cpp:3213: 错误:‘fclose’在此作用域中尚未声明
- ltdl.cpp: In function ‘scim::lt_dlhandle_struct* scim::lt_dlopenext(const char*)’:
- ltdl.cpp:3375: 错误:从类型‘const char*’到类型‘char*’的转换无效
- make[2]: *** [ltdl.lo] 错误 1
- make[2]: *** 正在等待未完成的任务....
- * Messages for package app-i18n/scim-1.4.7:
- * ERROR: app-i18n/scim-1.4.7 failed.
- * Call stack:
- * ebuild.sh, line 49: Called src_compile
- * environment, line 2911: Called die
- * The specific snippet of code:
- * emake || die
- * The die message:
- * (no error message)
- * If you need support, post the topmost build error, and the call stack if relevant.
- * A complete build log is located at '/var/tmp/portage/app-i18n/scim-1.4.7/temp/build.log'.
- * The ebuild environment file is located at '/var/tmp/portage/app-i18n/scim-1.4.7/temp/environment'.
复制代码 |
|