From: George R. <gr...@us...> - 2003-04-30 20:05:03
|
I'm going to make a wild guess here. Since int32_t and uint32_t aren't defined on MP-RAS, like it is on several other platforms, maybe it's getting the wrong type for int32_t. What happens when you add this line to your mh-mpras and completely rebuild ICU? DEFS += -D_LP64 George Rhoten IBM Globalization Center of Competency/ICU San Jose, CA, USA "Gordon, Jason M" <jg1...@ex...> 04/29/2003 05:27 PM To: Vladimir Weinstein <we...@jt...>, George Rhoten/San Jose/IBM@IBMUS cc: icu...@ww... Subject: RE: Problems building ICU on MP-RAS It seems like the data is present and I'm not using any optimization flags. The only compilation flag out of the ordinary that I'm using is -K PIC. This flag has a similar meaning as -KPIC on Solaris (causes position-independent code to be generated). Do you think that could be a problem? After debugging the tool genrb with the file ar.txt, I've found exactly where the infinite loop occurs. It occurs in the following function: static uint32_t incWeight(uint32_t weight, int32_t length, uint32_t maxByte) { uint32_t byte; for(;;) { byte=getWeightByte(weight, length); if(byte<maxByte) { return setWeightByte(weight, length, byte+1); } else { /* roll over, set this byte to UCOL_BYTE_FIRST_TAILORED and increment the previous one */ weight=setWeightByte(weight, length, UCOL_BYTE_FIRST_TAILORED); --length; } } } This function is in the file ucol_wgt.c, which is in the source/i18n directory. Basically, what's happening is that weight = 4294967295, length = 1, and maxByte = 255 are being passed into this function from ucol_nextWeight() and the continuous calls to getWeightByte always yield byte = 255. Also, the continuous calls to setWeightByte always leave weight unchanged at 4294967295. Nothing changes even though length is decremented by 1 each time through the loop. The infinite loop doesn't occur the first time this function is entered (rather around the 35th time it is entered after processing has begun on "string Sequence on line 16"). Please let me know if this new information gives you any idea as to how I can fix this. Thanks again, Jason -----Original Message----- From: Vladimir Weinstein [mailto:we...@jt...] Sent: Tuesday, April 29, 2003 8:25 AM To: George Rhoten Cc: Gordon, Jason M; icu...@ww... Subject: Re: Problems building ICU on MP-RAS Hi, you are getting stuck at generating collator for locale ar. Now, there are several reasons why this might be happening: - normalization data is not present - inverse UCA data or UCA data are not present - optimization is wrong. It looks strange, because if some or all of data is absent, collator constructor will simply quit with an error message. Since you're experiencing an infinite loop, it is more likely that something is wrong with the way code is compiled. It would be really helpful if you tried debugging this. It seems an interesting problem. Regards, v. George Rhoten wrote: > Did you enable any optimization options for the compiler? For example, -O > > Sometimes problems like these appear because the compiler is creating the > wrong CPU instructions. It's not the only possible problem, but it's > something to look think about. > > Could you send to this mailing list the screen output of configure? That > output will answer some questions as to what is happening on your > platform. > > George Rhoten > IBM Globalization Center of Competency/ICU San Jose, CA, USA > > > > > "Gordon, Jason M" <jg1...@ex...> > Sent by: icu...@ww... > 04/24/2003 05:47 PM > > > To: sr...@jt... > cc: icu...@ww... > Subject: RE: Problems building ICU on MP-RAS > > > > > > I was able to run genrb at the command line and here are the results: > > > > bash$ ../tools/genrb/genrb -k -q -p icudt24l -s > /vob/icu/src/source/data/locales -d ../data/out/build -v ar.txt > > Processing file "/vob/icu/src/source/data/locales/ar.txt" > > parsing table (null) at line 8 > > resource Version at line 9 > > string Version at line 9 > > resource AmPmMarkers at line 10 > > array AmPmMarkers at line 10 > > resource CollationElements at line 14 > > collation elements CollationElements at line 14 > > resource Version at line 15 > > string Version at line 15 > > resource Sequence at line 16 > > string Sequence at line 16 > > > > I believe it's stuck in an infinite loop while processing the Sequence > string at line 16 of ar.txt. Any ideas? > > > > Thanks, > > Jason > > > > -----Original Message----- > From: sr...@jt... [mailto:sr...@jt...] > Sent: Thursday, April 24, 2003 3:46 PM > To: Gordon, Jason M > Cc: icu...@ww... > Subject: Re: Problems building ICU on MP-RAS > > > > > > On Thursday, April 24, 2003, at 02:28 PM, Gordon, Jason M wrote: > > I ran configure and it didn't seem to make a difference. > > > > Still, use configure, because runConfigureICU will replace the CFLAGS, etc > (below) in ways you don't want. runConfigureICU is ONLY to be used for the > specific platforms it supports. > > > > dynamic linker : ./genrb : error opening libicui18n.so.24 > > Killed > > > > This message is odd to me because genrb succeeds up until the file > ar.txt. Also, I didn't see any problems when libicu18n.so.24 was built. > Do you think this means there's a problem with libicu18n.so.24 that only > comes up for ar.txt? > > > > You need to set the following env variables before running genrb (as per > the Make output) > > ICU_DATA=../data/out/build > LD_LIBRARY_PATH=../common:../i18n:../tools/toolutil:../layout:../extra/ustdi o:../tools/ctestfw:../data/out:../data:../stubdata/:$LD_LIBRARY_PATH > > > > > > * can you break into a debugger,or run the command under the debugger? > > > > I tried but it did not work. No debugging information was present because > the configure script detected that the compiler I'm using does not accept > -g. However, the compiler really does support -g. > > > > set the environment variable CFLAGS, CXXFLAGS, and LDFLAGS to '-g' before > running configure. Check 'config.log' (i think that's the name) to see > what happened when it tried to pass -g. Again, use configure and not > runConfigureICU. > > > > Which mh- file is it trying to use (where it specifies 'mh fragment > chosen')? > > > > hope this helps, and Regards, > > Steven > > > _______________________________________________ > icu...@os... - icu4c-support mailing list > To Un/Subscribe: > http://oss.software.ibm.com/developerworks/oss/mailman/listinfo/icu4c-suppor t > -- Vladimir Weinstein, IBM GCoC-Unicode/ICU San Jose, CA we...@jt... |