发信人: huanghwh(五云人)
整理人: hackerbay(2002-09-06 16:48:52), 站内信件
|
几天的努力,终于搞出中文版OpenOffice了. 下面是我的几点体会:
1. cvsup from "targe=." not RELENG_4
2. 系统要补丁, rebuild wold 后 再 make OO.o 1.0, 否则OO.o起动会coredump.
--- libexec/rtld-elf/i386/reloc.c.old Thu May 10 21:57:25 2001
+++ libexec/rtld-elf/i386/reloc.c Thu Jan 31 19:01:10 2002
@@ -116,10 +116,10 @@
const Elf_Rel *rel;
SymCache *cache;
- cache = (SymCache *)alloca(obj->nchains * sizeof(SymCache));
+/* cache = (SymCache *)alloca(obj->nchains * sizeof(SymCache));
if (cache != NULL)
memset(cache, 0, obj->nchains * sizeof(SymCache));
-
+*/
rellim = (const Elf_Rel *) ((caddr_t) obj->rel + obj->relsize);
for (rel = obj->rel; rel < rellim; rel++) {
Elf_Addr *where = (Elf_Addr *) (obj->relocbase + rel->r_offset);
--- libexec/rtld-elf/rtld.c.old Thu May 10 21:57:20 2001
+++ libexec/rtld-elf/rtld.c Thu Jan 31 19:03:07 2002
@@ -835,10 +835,10 @@
*/
if (symnum >= refobj->nchains)
return NULL; /* Bad object */
- if (cache != NULL && cache[symnum].sym != NULL) {
+/* if (cache != NULL && cache[symnum].sym != NULL) {
*defobj_out = cache[symnum].obj;
return cache[symnum].sym;
- }
+ } */
ref = refobj->symtab + symnum;
name = refobj->strtab + ref->st_name;
@@ -859,10 +859,10 @@
if (def != NULL) {
*defobj_out = defobj;
/* Record the information in the cache to avoid subsequent lookups. */
- if (cache != NULL) {
+/* if (cache != NULL) {
cache[symnum].sym = def;
cache[symnum].obj = defobj;
- }
+ } */
} else
_rtld_error("%s: Undefined symbol \"%s\"", refobj->path, name);
return def;
3. 中文版 make 步骤:
cd /usr/ports/editors/openoffice
make patch
openoffice/work/oo_1.0_src/config_office/configure.in 中的一行
with_lang=,ENUS, 改为with_lang=,ENUS,CHINSIM,
make;
make install;
/usr/local/OpenOffice1.0/setup
4. X11中必需有名字为"kai"的中文字库,OO.o的界面才能显示中文.
#xlsfonts |grep kai
-ms-kai-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
5. OO.o的XIM支持好像有问题, 我的Chinput 在OO.o中总是乱码 :(, 在其他app中正常.
--hwh
|
|