[poky] web2 on PPC
Gary Thomas
gary at mlbassoc.com
Tue Oct 4 06:14:37 PDT 2011
On 2011-10-03 14:14, Khem Raj wrote:
> On 10/3/2011 7:59 AM, Gary Thomas wrote:
>> On 2011-09-30 14:15, Gary Thomas wrote:
>>> I'm trying to run the web-webkit browser on my PowerPC system (built
>>> using Poky).
>>> I've built this on ARM and it runs great, but on PowerPC it fails
>>> almost immediately.
>>> Following into the failure with GDB, it looks like it's trying to
>>> build up a string
>>> using a [possibly] wide character iterator. It fails on line 76 of the
>>> code below,
>>> going through it by hand shows that 'iterator' is NULL.
>>>
>>> (gdb) dir
>>> /local/logopak8347tbga_new/tmp/work/ppc603e-amltd-linux/webkit-gtk-1.5.1+svnr90727-r0
>>>
>>> (gdb) l
>>> 71 TextBreakIterator* acquireLineBreakIterator(const UChar* string,
>>> int length, const AtomicString& locale)
>>> 72 {
>>> 73 UBreakIterator* iterator =
>>> LineBreakIteratorPool::sharedPool().take(locale);
>>> 74
>>> 75 UErrorCode setTextStatus = U_ZERO_ERROR;
>>> 76 ubrk_setText(iterator, string, length, &setTextStatus);
>>> 77 if (U_FAILURE(setTextStatus)) {
>>> 78 LOG_ERROR("ubrk_setText failed with status %d", setTextStatus);
>>> 79 return 0;
>>> 80 }
>>> (gdb) b 75
>>> Breakpoint 1 at 0xf8a7440: file
>>> Source/WebCore/platform/text/TextBreakIteratorICU.cpp, line 75.
>>>
>>> Any ideas what might be wrong here? Maybe some confusion about wide vs
>>> not-wide
>>> character representation (I've seen this one a lot, especially on
>>> PowerPC systems)?
>>> Any clues where to look next?
>>> I did note that 'locale' into this function is also NULL.
>>>
>>> Should I file a bug?
>>>
>>> Note: I tried this with the stock Poky master
>>> 9d1db6cc928199f8ac4960e8d4648563ef141427
>>> building for qemuppc and running web2 via ssh -X (since qemu doesn't
>>> support graphics?)
>>> The failure is the same, so this is not something special in my setup.
>>>
>>> Note 2: it's difficult to get this to fail when running in qemu since
>>> it only fails
>>> when it's loading and rendering the www.google.co.uk default page. I
>>> couldn't figure
>>> out how to get my qemu system to be able to access that page over the
>>> net, but I ran
>>> the same Yocto filesystem on my hardware (this is not a hardware bug)
>>> with the same
>>> failure. Maybe someone smarter than me can show me how to get qemu to
>>> actually access
>>> the internet (when the machine that's running qemu is inside a NAT'd
>>> zone)?
>>>
>>> Thanks for any help/ideas
>>>
>>
>> Filed as http://bugzilla.pokylinux.org/show_bug.cgi?id=1570
>>
>> Still looking for ideas on where to look, how to debug this.
>
> such problems can happen when autoconf variables are not cached with right values. So look into site files. What variables to look for can be
> taken from config.log of the package.
>
It turns out the problem is that the ICU library does not work
properly (at all!) when the host and target systems have different
endianness. If I install ICU libraries which were built on a
native PowerPC system, the 'web2' program works.
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
More information about the poky
mailing list