Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 423815 - dev-lang/v8-3.10.8.19 ABI=x32 - ../src/atomicops_internals_x86_gcc.h:175:17: error: redefinition of 'v8::internal::Atomic64 v8::internal::NoBarrier_CompareAndSwap(volatile Atomic64*, v8::internal::Atomic64, v8::internal::Atomic64)'
Summary: dev-lang/v8-3.10.8.19 ABI=x32 - ../src/atomicops_internals_x86_gcc.h:175:17: ...
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Chromium Project
URL: https://groups.google.com/d/topic/v8-...
Whiteboard: ht-wanted
Keywords:
Depends on:
Blocks: x32
  Show dependency tree
 
Reported: 2012-06-27 11:33 UTC by Joe
Modified: 2016-08-10 22:21 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Emerge info (emerge-info.log,4.12 KB, text/plain)
2012-06-27 11:33 UTC, Joe
Details
Build log for v8-3.9.24.28 (build.log,21.55 KB, text/plain)
2012-06-27 11:34 UTC, Joe
Details
build log for v8-3.10.8.19 (build.log,22.81 KB, text/plain)
2012-06-27 11:35 UTC, Joe
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joe 2012-06-27 11:33:27 UTC
Prints many errors like the following:


../src/atomicops_internals_x86_gcc.h:222:13: error: redefinition of 'void v8::internal::Acquire_Store(volatile Atomic64*, v8::internal::Atomic64)'
../src/atomicops_internals_x86_gcc.h:122:13: error: 'void v8::internal::Acquire_Store(volatile Atomic32*, v8::internal::Atomic32)' previously defined here
../src/atomicops_internals_x86_gcc.h: In function 'void v8::internal::Release_Store(volatile Atomic64*, v8::internal::Atomic64)':
../src/atomicops_internals_x86_gcc.h:227:13: error: redefinition of 'void v8::internal::Release_Store(volatile Atomic64*, v8::internal::Atomic64)'

Then the build fails.  Also fails on the latest stable version of dev-lang/v8 (...meaning you can't currently build chromium on x32)

Reproducible: Always

Steps to Reproduce:
Compile v8 on the x32 experimental stage.
Comment 1 Joe 2012-06-27 11:33:51 UTC
Created attachment 316405 [details]
Emerge info
Comment 2 Joe 2012-06-27 11:34:45 UTC
Created attachment 316407 [details]
Build log for v8-3.9.24.28
Comment 3 Joe 2012-06-27 11:35:12 UTC
Created attachment 316409 [details]
build log for v8-3.10.8.19
Comment 4 Mike Gilbert gentoo-dev 2012-07-20 22:44:28 UTC
Someone who actually uses x32 is going to have to work with upstream on this.
Comment 5 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2012-10-02 13:42:17 UTC
(In reply to comment #4)
> Someone who actually uses x32 is going to have to work with upstream on this.

I created a test x32 Gentoo install with v8 bleeding_edge as of today (r12652) and it fails with errors identical to posted before:

In file included from ../src/conversions-inl.h:35:0,
                 from ../src/conversions.cc:32:
../src/globals.h:243:33: warning: overflow in implicit constant conversion [-Woverflow]
../src/globals.h:244:38: warning: large integer implicitly truncated to unsigned type [-Woverflow]
../src/atomicops_internals_x86_gcc.h: In function 'void v8::internal::Acquire_Store(volatile Atomic64*, v8::internal::Atomic64)':
../src/atomicops_internals_x86_gcc.h:222:13: error: redefinition of 'void v8::internal::Acquire_Store(volatile Atomic64*, v8::internal::Atomic64)'
../src/atomicops_internals_x86_gcc.h:122:13: error: 'void v8::internal::Acquire_Store(volatile Atomic32*, v8::internal::Atomic32)' previously defined here
../src/atomicops_internals_x86_gcc.h: In function 'void v8::internal::Release_Store(volatile Atomic64*, v8::internal::Atomic64)':
../src/atomicops_internals_x86_gcc.h:227:13: error: redefinition of 'void v8::internal::Release_Store(volatile Atomic64*, v8::internal::Atomic64)'
../src/atomicops_internals_x86_gcc.h:149:13: error: 'void v8::internal::Release_Store(volatile Atomic32*, v8::internal::Atomic32)' previously defined here
../src/atomicops_internals_x86_gcc.h: In function 'v8::internal::Atomic64 v8::internal::NoBarrier_Load(const volatile Atomic64*)':
../src/atomicops_internals_x86_gcc.h:248:17: error: redefinition of 'v8::internal::Atomic64 v8::internal::NoBarrier_Load(const volatile Atomic64*)'
../src/atomicops_internals_x86_gcc.h:155:17: error: 'v8::internal::Atomic32 v8::internal::NoBarrier_Load(const volatile Atomic32*)' previously defined here
../src/atomicops_internals_x86_gcc.h: In function 'v8::internal::Atomic64 v8::internal::Acquire_Load(const volatile Atomic64*)':
../src/atomicops_internals_x86_gcc.h:252:17: error: redefinition of 'v8::internal::Atomic64 v8::internal::Acquire_Load(const volatile Atomic64*)'
../src/atomicops_internals_x86_gcc.h:159:17: error: 'v8::internal::Atomic32 v8::internal::Acquire_Load(const volatile Atomic32*)' previously defined here
../src/atomicops_internals_x86_gcc.h: In function 'v8::internal::Atomic64 v8::internal::Release_Load(const volatile Atomic64*)':
../src/atomicops_internals_x86_gcc.h:260:17: error: redefinition of 'v8::internal::Atomic64 v8::internal::Release_Load(const volatile Atomic64*)'
../src/atomicops_internals_x86_gcc.h:166:17: error: 'v8::internal::Atomic32 v8::internal::Release_Load(const volatile Atomic32*)' previously defined here
../src/atomicops_internals_x86_gcc.h: In function 'v8::internal::Atomic64 v8::internal::Acquire_CompareAndSwap(volatile Atomic64*, v8::internal::Atomic64, v8::internal::Atomic64)':
../src/atomicops_internals_x86_gcc.h:265:17: error: redefinition of 'v8::internal::Atomic64 v8::internal::Acquire_CompareAndSwap(volatile Atomic64*, v8::internal::Atomic64, v8::internal::Atomic64)'
../src/atomicops_internals_x86_gcc.h:94:17: error: 'v8::internal::Atomic32 v8::internal::Acquire_CompareAndSwap(volatile Atomic32*, v8::internal::Atomic32, v8::internal::Atomic32)' previously defined here
../src/atomicops_internals_x86_gcc.h: In function 'v8::internal::Atomic64 v8::internal::Release_CompareAndSwap(volatile Atomic64*, v8::internal::Atomic64, v8::internal::Atomic64)':
../src/atomicops_internals_x86_gcc.h:275:17: error: redefinition of 'v8::internal::Atomic64 v8::internal::Release_CompareAndSwap(volatile Atomic64*, v8::internal::Atomic64, v8::internal::Atomic64)'
../src/atomicops_internals_x86_gcc.h:104:17: error: 'v8::internal::Atomic32 v8::internal::Release_CompareAndSwap(volatile Atomic32*, v8::internal::Atomic32, v8::internal::Atomic32)' previously defined here

It's interesting that "make ia32.release" succeeds, but I'm not sure if that's what we want.
Comment 6 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2012-10-07 17:59:26 UTC
Upstream said they won't support v8 on x32 (see https://groups.google.com/d/topic/v8-users/c-_URSZqTq8/discussion).

v8 and reverse deps have been masked on x32.
Comment 7 SpanKY gentoo-dev 2012-10-08 19:49:45 UTC
you misread it.  they said they have no current plans to do the work themselves.
Comment 8 Dainius Masiliūnas 2016-07-29 11:20:59 UTC
Looks like there's x32 support in v8 now: https://codereview.chromium.org/18014003

So the mask might need to be reevaluated.
Comment 9 Mike Gilbert gentoo-dev 2016-07-29 12:28:28 UTC
V8 has been gone from the Gentoo repo for years.
Comment 10 Dainius Masiliūnas 2016-07-29 18:57:03 UTC
The package, yes, but it's still part of chromium and such. And because of this bug, they were hardmasked in the x32 profile; given that v8 now supports x32, this should be revisited now.

Mind you, chromium still doesn't build correctly due to bug 589978, but that's a different issue altogether. I can try testing nodejs sometime as well.