nacl toolchain in two directories?

15 views
Skip to first unread message

Paweł Hajdan, Jr.

unread,
May 22, 2012, 7:20:43 AM5/22/12
to chromium-dev
It seems there is a recent change that puts nacl toolchain under both native_client/toolchain/linux_x86_newlib and native_client/toolchain/linux_x86. See Gentoo bug https://bugs.gentoo.org/show_bug.cgi?id=417019 .

Is that on purpose? What's the reason?

Victor Khimenko

unread,
May 22, 2012, 7:47:22 AM5/22/12
to phajd...@chromium.org, chromium-dev
On Tue, May 22, 2012 at 3:20 PM, Paweł Hajdan, Jr. <phajd...@chromium.org> wrote:
It seems there is a recent change that puts nacl toolchain under both native_client/toolchain/linux_x86_newlib and native_client/toolchain/linux_x86. See Gentoo bug https://bugs.gentoo.org/show_bug.cgi?id=417019 .

Is that on purpose? What's the reason?

These are two different toolchains. linux_x86_newlib is newlib one and linux_x86 is glibc one (it's easy to guess that from the very same bugreport: linux_x86 is used to build something in .../tc_glibc/... directory while linux_x86_newlib is used to build something in .../tc_newlib/...).

The big question is: what exactly your Chromium is trying to build? Normally Chromium should only use nacl-toolchain to build nacl_irt*.nexe which is incompatible with GLibC and glibc-based toolchain is only used to build glibc-based tests... apparently there are some dependencies problem...

Paweł Hajdan, Jr.

unread,
May 22, 2012, 8:03:11 AM5/22/12
to Victor Khimenko, chromium-dev
On Tue, May 22, 2012 at 1:47 PM, Victor Khimenko <kh...@chromium.org> wrote:
On Tue, May 22, 2012 at 3:20 PM, Paweł Hajdan, Jr. <phajd...@chromium.org> wrote:
It seems there is a recent change that puts nacl toolchain under both native_client/toolchain/linux_x86_newlib and native_client/toolchain/linux_x86. See Gentoo bug https://bugs.gentoo.org/show_bug.cgi?id=417019 .

Is that on purpose? What's the reason?

These are two different toolchains. linux_x86_newlib is newlib one and linux_x86 is glibc one (it's easy to guess that from the very same bugreport: linux_x86 is used to build something in .../tc_glibc/... directory while linux_x86_newlib is used to build something in .../tc_newlib/...).

Makes sense.
 
The big question is: what exactly your Chromium is trying to build? Normally Chromium should only use nacl-toolchain to build nacl_irt*.nexe which is incompatible with GLibC and glibc-based toolchain is only used to build glibc-based tests... apparently there are some dependencies problem...

Here's the make command that is being executed. You should be able to test locally by temporarily removing linux_x86 directory, clobbering build output directory and running it:

make -j3 chrome chromedriver chrome_sandbox base_unittests cacheinvalidation_unittests crypto_unittests googleurl_unittests gpu_unittests media_unittests net_unittests printing_unittests

Paweł 

Victor Khimenko

unread,
May 22, 2012, 9:23:29 AM5/22/12
to Paweł Hajdan, Jr., chromium-dev
Are you sure you want to run all these unittests? I think cacheinvalidation_unittests bring glibc requirement, although I'm not 100% sure...

If you want to run tests then you'll need glibc toolchain, I'm afraid...

Mike Frysinger

unread,
May 22, 2012, 11:10:35 AM5/22/12
to phajd...@chromium.org, chromium-dev
guess we'll have to bite the bullet and add a glibc nacl ebuild :)
-mike

Paweł Hajdan, Jr.

unread,
May 23, 2012, 2:33:40 AM5/23/12
to Victor Khimenko, chromium-dev
"make -j3 chrome chromedriver chrome_sandbox" is enough to reproduce the issue. Could you please double-check what drags in the GNU toolchain? It's not really obvious for me from reading the nacl gyp files.

Egor Pasko

unread,
May 23, 2012, 7:31:51 AM5/23/12
to phajd...@chromium.org, Victor Khimenko, chromium-dev, native-cli...@googlegroups.com
You may try running GYP with glibc disabled:
GYP_DEFINES=disable_glibc=1 ./build/gyp_chromium

Worked for me with clobbered "out" and "linux_x86". 

--
Egor Pasko

Paweł Hajdan, Jr.

unread,
May 28, 2012, 3:20:38 AM5/28/12
to Egor Pasko, Victor Khimenko, chromium-dev, native-cli...@googlegroups.com
That worked for me too, thank you! Are those things documented somewhere? They should be.
Reply all
Reply to author
Forward
0 new messages