On 11/02/2014 07:41 AM, Gary Thomas wrote:
On 2014-10-31 21:36, Peter A. Bigot wrote:
On 10/31/2014 05:54 PM, Gary Thomas wrote:
I just tried to build chromium on the Raspberry-Pi.  All repos
are up to date as of 2014-10-31.  Here's the error I got:

| lib/libcontent.so: undefined reference to `WebRtc_GetCPUFeaturesARM'
| collect2: error: ld returned 1 exit status
| ninja: build stopped: subcommand failed.
| WARNING: /home/local/rpi-latest_2014-10-30/tmp/work/armv6-vfp-amltd-linux-gnueabi/chromium/38.0.2125.101-r0/temp/run.do_compile.10091:1 exit 1 from | ninja -C /home/local/rpi-latest_2014-10-30/tmp/work/armv6-vfp-amltd-linux-gnueabi/chromium/38.0.2125.101-r0/chromium-38.0.2125.101/out/Release chrome chrome_sandbox
| ERROR: Function failed: do_compile (log file is located at
/home/local/rpi-latest_2014-10-30/tmp/work/armv6-vfp-amltd-linux-gnueabi/chromium/38.0.2125.101-r0/temp/log.do_compile.10091) ERROR: Task 592 (/home/local/poky-latest/meta-browser/recipes-browser/chromium/chromium_38.0.2125.101.bb, do_compile) failed with exit code '1'

Note: I was able to build this same recipe just fine for my
i.MX6 platforms, so it must be something to do with armv6 vs
armv7a/cortex.  I've not found it yet but thought someone might
have ideas.

Thanks


As noted at http://lists.openembedded.org/pipermail/openembedded-core/2014-August/096568.html and related messages, raspi configures (or at that time configured) gcc to build for armv6 but it's actually armv6zk. It's entirely possible chromium doesn't support armv6 without armv6k features being enabled. My best guess is meta-raspberrypi needs to be fixed,
which might require some enhancements in oe-core's gcc.

While what you say may be true or even relevant, chromium
used to build and run fine for the RaspberryPi.  That said,
I don't see how an instruction set choice/mixup explains
a missing symbol.

My thought was something titled WebRtc_GetCPUFeaturesARM might be related to the ARM features selected by the compiler.

But a little googling suggests there are plenty of alternative causes that don't warrant my instinctual "it's not gcc's fault!" response.

https://github.com/RobertCNelson/pkg-chromium/blob/master/patches/arm-webrtc-fix.patch looks relevant.

Possibly related to that is the following at the bottom of meta-browser's README:

TODO
----
[...]
- fix Chromium support other platforms than armv7

thought that TODO has been there since 2012, so perhaps that's not relevant either.

At any rate, it's not gcc's fault. You might try reverting meta-browser back to get a chromium version that used to work.

Peter


Following up, I stubbed out this missing symbol.  Now I can
get it to link, but it gets an illegal instruction immediately :-(
I tried debugging using GDB, but for some reason the library that
it fails in has no symbols:

(gdb) tar rem 192.168.1.150:9000
Remote debugging using 192.168.1.150:9000
Reading symbols from tmp/work/raspberrypi-amltd-linux-gnueabi/amltd-x11-image/1.0-r0/rootfs/lib/ld-linux.so.3...Reading symbols from tmp/work/raspberrypi-amltd-linux-gnueabi/amltd-x11-image/1.0-r0/rootfs/lib/.debug/ld-2.20.so...done.
done.
Loaded symbols for tmp/work/raspberrypi-amltd-linux-gnueabi/amltd-x11-image/1.0-r0/rootfs/lib/ld-linux.so.3 0xb6fd8d10 in _start () from tmp/work/raspberrypi-amltd-linux-gnueabi/amltd-x11-image/1.0-r0/rootfs/lib/ld-linux.so.3
(gdb) c
Continuing.

Program received signal SIGILL, Illegal instruction.
0xb61f60ba in ?? ()
from tmp/work/raspberrypi-amltd-linux-gnueabi/amltd-x11-image/1.0-r0/rootfs/usr/lib/chrome/libbase.so
(gdb) x/10i 0xb61f60a8
   0xb61f60a8:  bkpt    0x006c
   0xb61f60aa:  movs    r6, r0
   0xb61f60ac:  ldr     r3, [pc, #12]   ; (0xb61f60bc)
   0xb61f60ae:  ldr     r2, [pc, #16]   ; (0xb61f60c0)
   0xb61f60b0:  add     r3, pc
   0xb61f60b2:  movs    r1, #0
   0xb61f60b4:  ldr     r0, [r3, r2]
   0xb61f60b6:  b.w     0xb61f24d4
=> 0xb61f60ba:  nop
   0xb61f60bc:  b.n     0xb61f61d8
(gdb) x/x 0xb61f60ba
0xb61f60ba:     0xe08cbf00

Anyone have any ideas what might be illegal here (and how to
figure out where this code is in the source tree)?

This platform seems a bit shaky when using Poky/Yocto :-(
I tried other web browsers without much joy - firefox seems
to work OK but midori also dies quickly in its javascript
engine...


--
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to