Closed Bug 1257888 Opened 8 years ago Closed 8 years ago

Bug 1230768 broke building on powerpc

Categories

(Core :: WebRTC, defect, P4)

defect

Tracking

()

RESOLVED FIXED
mozilla48
Tracking Status
firefox45 --- affected
firefox46 --- affected
firefox47 --- affected
firefox48 --- fixed
firefox-esr45 --- affected

People

(Reporter: glandium, Assigned: glandium)

References

Details

Attachments

(1 file)

../../../trunk/webrtc/system_wrappers/system_wrappers_system_wrappers/Unified_cpp_system_wrappers1.o:(.got2+0x1c): undefined reference to `base::subtle::gAtomicsMutex'
../../../trunk/webrtc/system_wrappers/system_wrappers_system_wrappers/Unified_cpp_system_wrappers1.o: In function `Lock::Acquire()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:16: undefined reference to `LockImpl::Lock()'
../../../trunk/webrtc/system_wrappers/system_wrappers_system_wrappers/Unified_cpp_system_wrappers1.o: In function `Lock::Release()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:17: undefined reference to `LockImpl::Unlock()'
../../../trunk/webrtc/system_wrappers/system_wrappers_system_wrappers/Unified_cpp_system_wrappers1.o: In function `Lock::Acquire()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:16: undefined reference to `LockImpl::Lock()'
../../../trunk/webrtc/system_wrappers/system_wrappers_system_wrappers/Unified_cpp_system_wrappers1.o: In function `Lock::Release()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:17: undefined reference to `LockImpl::Unlock()'
../../../trunk/webrtc/system_wrappers/system_wrappers_system_wrappers/Unified_cpp_system_wrappers1.o: In function `Lock::Acquire()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:16: undefined reference to `LockImpl::Lock()'
../../../trunk/webrtc/system_wrappers/system_wrappers_system_wrappers/Unified_cpp_system_wrappers1.o: In function `Lock::Release()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:17: undefined reference to `LockImpl::Unlock()'
../../../trunk/webrtc/system_wrappers/system_wrappers_system_wrappers/Unified_cpp_system_wrappers1.o: In function `Lock::Acquire()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:16: undefined reference to `LockImpl::Lock()'
../../../trunk/webrtc/system_wrappers/system_wrappers_system_wrappers/Unified_cpp_system_wrappers1.o: In function `Lock::Release()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:17: undefined reference to `LockImpl::Unlock()'
../../../trunk/webrtc/system_wrappers/system_wrappers_system_wrappers/Unified_cpp_system_wrappers1.o: In function `Lock::Acquire()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:16: undefined reference to `LockImpl::Lock()'
../../../trunk/webrtc/system_wrappers/system_wrappers_system_wrappers/Unified_cpp_system_wrappers1.o: In function `Lock::Release()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:17: undefined reference to `LockImpl::Unlock()'
../../../trunk/webrtc/modules/modules_rtp_rtcp/Unified_cpp_webrtc_modules1.o:(.got2+0x6c): undefined reference to `base::subtle::gAtomicsMutex'
../../../trunk/webrtc/modules/modules_rtp_rtcp/Unified_cpp_webrtc_modules1.o: In function `Lock::Acquire()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:16: undefined reference to `LockImpl::Lock()'
../../../trunk/webrtc/modules/modules_rtp_rtcp/Unified_cpp_webrtc_modules1.o: In function `Lock::Release()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:17: undefined reference to `LockImpl::Unlock()'
../../../trunk/webrtc/modules/modules_rtp_rtcp/Unified_cpp_webrtc_modules1.o: In function `Lock::Acquire()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:16: undefined reference to `LockImpl::Lock()'
../../../trunk/webrtc/modules/modules_rtp_rtcp/Unified_cpp_webrtc_modules1.o: In function `Lock::Release()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:17: undefined reference to `LockImpl::Unlock()'
../../../trunk/webrtc/modules/modules_rtp_rtcp/Unified_cpp_webrtc_modules1.o: In function `Lock::Acquire()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:16: undefined reference to `LockImpl::Lock()'
../../../trunk/webrtc/modules/modules_rtp_rtcp/Unified_cpp_webrtc_modules1.o: In function `Lock::Release()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:17: undefined reference to `LockImpl::Unlock()'
../../../trunk/webrtc/modules/modules_rtp_rtcp/Unified_cpp_webrtc_modules1.o: In function `Lock::Acquire()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:16: undefined reference to `LockImpl::Lock()'
../../../trunk/webrtc/modules/modules_rtp_rtcp/Unified_cpp_webrtc_modules1.o: In function `Lock::Release()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:17: undefined reference to `LockImpl::Unlock()'
../../../trunk/webrtc/modules/modules_rtp_rtcp/Unified_cpp_webrtc_modules1.o: In function `Lock::Acquire()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:16: undefined reference to `LockImpl::Lock()'
../../../trunk/webrtc/modules/modules_rtp_rtcp/Unified_cpp_webrtc_modules1.o: In function `Lock::Release()':
/«PKGBUILDDIR»/ipc/chromium/src/base/lock.h:17: undefined reference to `LockImpl::Unlock()'
/usr/bin/ld: mediapipeline_unittest_standalone: hidden symbol `_ZN8LockImpl6UnlockEv' isn't defined
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
/«PKGBUILDDIR»/config/rules.mk:737: recipe for target 'mediapipeline_unittest_standalone' failed
make[5]: *** [mediapipeline_unittest_standalone] Error 1

Initially, I thought this was limited to the standalone tests, so I went with applying bug 1239866, but it turns out this also happens with the non-standalone tests.

I have a patch that I'll throw at Debian buildds to see if it works properly.
Rank: 45
Priority: -- → P4
Comment on attachment 8735372 [details]
MozReview Request: Bug 1257888 - Link chromium mutex-based atomics implementation to webrtc signaling tests. r?froydnj

https://reviewboard.mozilla.org/r/42757/#review39211

::: ipc/chromium/atomics/moz.build:13
(Diff revision 1)
> +
> +Library('chromium_atomics')
> +
> +# This test is copied from ../moz.build for atomicops_internals_mutex.cc
> +ost = CONFIG['OS_TEST']
> +if '86' not in ost and 'arm' not in ost and 'aarch64' != ost and 'mips' not in ost:

This is a really weird check: three membership tests and an equality test?  Oh, the `in` is doing a substring search, OK.

::: media/webrtc/signaling/test/common.build:82
(Diff revision 1)
>          '/media/mtransport/third_party/nrappkit/src/port/darwin/include',
>      ]
>  
>  USE_LIBS += [
>      '/media/webrtc/trunk/testing/gtest_gtest/gtest',
> +    'chromium_atomics',

I guess doing it this way is a matter of taste versus having /ipc/chromium define its own `Library` and using said `Library` here?  Perhaps it's better to have a minimalistic library just for the standalone test needs, as this patch does?
Attachment #8735372 - Flags: review?(nfroyd) → review+
(In reply to Nathan Froyd [:froydnj] from comment #2)
> Comment on attachment 8735372 [details]
> MozReview Request: Bug 1257888 - Link chromium mutex-based atomics
> implementation to webrtc signaling tests. r?froydnj
> 
> https://reviewboard.mozilla.org/r/42757/#review39211
> 
> ::: ipc/chromium/atomics/moz.build:13
> (Diff revision 1)
> > +
> > +Library('chromium_atomics')
> > +
> > +# This test is copied from ../moz.build for atomicops_internals_mutex.cc
> > +ost = CONFIG['OS_TEST']
> > +if '86' not in ost and 'arm' not in ost and 'aarch64' != ost and 'mips' not in ost:
> 
> This is a really weird check: three membership tests and an equality test? 
> Oh, the `in` is doing a substring search, OK.
> 
> ::: media/webrtc/signaling/test/common.build:82
> (Diff revision 1)
> >          '/media/mtransport/third_party/nrappkit/src/port/darwin/include',
> >      ]
> >  
> >  USE_LIBS += [
> >      '/media/webrtc/trunk/testing/gtest_gtest/gtest',
> > +    'chromium_atomics',
> 
> I guess doing it this way is a matter of taste versus having /ipc/chromium
> define its own `Library` and using said `Library` here?  Perhaps it's better
> to have a minimalistic library just for the standalone test needs, as this
> patch does?

Linking the whole ipc/chromium requires linking plenty other things.
https://hg.mozilla.org/mozilla-central/rev/e534484bb762
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Blocks: 1462873
You need to log in before you can comment on or make changes to this bug.