Apache OpenOffice (AOO) Bugzilla – Issue 17595
IRIX: icu build core dumps with MipsPro
Last modified: 2005-02-02 17:44:08 UTC
number of named Unicode characters: 13850 number of words in the dictionary from these names: 6351 number of letters used in the names: 69 number of lead bytes: 5 number of single-byte tokens: 182 number of tokens: 1441 number of groups: 489 size of the Unicode Names data: total data length 132536, token strings 10885, compressed strings 115493, algorithmic names 320 ICU_DATA=../data/out/build LD_LIBRARYN32_PATH=../common:../i18n:../tools/toolutil:../layout:../extra/ustdio:../tools/ctestfw:../data/out:../data:../stubdata/:$LD_LIBRARYN32_PATH ../tools/gennorm/gennorm -s ../data/unidata -d ../data/out/build -u 3.2 gmake[1]: *** [../data/out/build/icudt22b_unorm.icu] Bus error (core dumped) gmake[1]: Leaving directory `/build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/icu/unxirxm3.pro/misc/build/icu/source/data' gmake: *** [all-recursive] Error 2 dmake: Error code 2, while making './unxirxm3.pro/misc/build/so_built_so_icu' ---* TG_SLO.MK *--- ERROR: Error 65280 occurred while making /build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/icu
Added dep
For whatever bizarre reason, if I change if(0==memcp(s, "NO", 2) ) to if(s[0] == 'N' && s[1] == 'O') It no longer core dumps on me. However: gmake[2]: Entering directory `/build1/nickb/openoffice/workarea/11rc/oo_1.1rc_src/icu/unxirxm3.pro/misc/build/icu/source/extra/ustdio' CC -I../../common -I../../common -I../../i18n -DHAVE_CONFIG_H -DU_USTDIO_IMPLEMENTATION -O -c -g -KPIC -o ustream.ao ustream.cpp cc-1020 CC: ERROR File = /usr/include/CC/stl_threads.h, Line = 102 The identifier "__test_and_set" is undefined. return __test_and_set(__p, (unsigned long)__q); ^
Hmmm test_and_set is declared in mutex.h, which should be included. However, test_and_set gets defined to *__test_and_set, so I'm not sure why that doesn't work, but mebbe the dereference is confusing things. Adding this: extern unsigned long __test_and_set(unsigned long *, unsigned long); To the top of ustream.cpp continues the compile, icu is now built! yay!
set target milestone to 1.1.1
reassigned.
retargeting to 1.1.2
Created attachment 19335 [details] Patch to fix core dump and icu build failures w/ MIPSpro
oops. I didn't follow the directions. Here are my comments for the previous patch. SRC680_m58, MIPSpro 7.4, IRIX 6.5.23m I have attached a diff against the icu/download/icu-2.6.tar.gz Here is the tail of the build log: <snip> [All tests passed successfully...] make[2]: Leaving directory `/usr/people/scott/src/OOo/SRC680_m58/icu/download/ic u/source/test/cintltst' make[1]: Making `check' in `ieeetest' make[2]: Entering directory `/usr/people/scott/src/OOo/SRC680_m58/icu/download/i cu/source/test/ieeetest' ICU_DATA=../../../data/ LD_LIBRARY_PATH=../../common:../../i18n:../../tools/tool util:../../layout:../../layoutex:../../extra/ustdio:../../tools/ctestfw:../../da ta/out:../../data:../../stubdata/:$LD_LIBRARY_PATH ./ieeetest All tests passed without error. </snip> cheers, scott rankin
Scott, Thanks for the patch. Taking a look at it I saw that you moved #include "unicode/utypes.h" to be the top include at several places. Is this really necessary? So far I don't see any reason for doing so, and it would unnecessarily bloat the patch file. Eike
The build fails to find the varargs (stdargs) types like va_list for example. The alternative I proposed (to icu4c-support@oss.ibm.com) was to add a #include <stdargs.h> to the files that were not compiling. George Rhoten suggested moving the utypes.h include. In fact, it looks like ICU (CVS HEAD) has added several of these header related changes from my patch to them against ICU 3.2. I don't know if OOo has plans to move to a different version of ICU but the patch bloat wouldn't be as much an issue at that point. cheers, scott
Scott, With "bloat the patch" I was referring to the fact that we're trying to get rid of patches against ICU whereever we can, in order to being able at some time to use a stock ICU present on a system. So it is good news that newer versions of ICU already provide some means for the patches you have. Currently, due to resource restrictions, there are no concrete plans to move to a newer version of ICU, and as we're approaching Beta I don't know if we'll make it for OOo2.0. I would like to, though. Eike
Here is a patch against icu-2.6.patch. I did the following: 1. dmake clean 2. dmake patch (in icu directory) 3. Applied my changes. 4. dmake create_patch 5. cvs diff -u icu-2.6.patch cheers, scott rankin
Created attachment 19587 [details] Patch for MIPSpro to build icu on IRIX
Added myself as CC. cheers, scott rankin
Grabbing issue.
On branch cws_src680_localedata2: icu/icu-2.6.patch 1.6.2.1
Verified presence of patch in cws_src680_localedata2 resynced to m68.
Present in HEAD as of m70.