Closed
Bug 1510702
Opened 7 years ago
Closed 7 years ago
armv7l build fails with: multiple definition of `arm_cpu_caps'
Categories
(Core :: Audio/Video, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: guillaume.gardet, Unassigned)
Details
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36
Steps to reproduce:
Try to build Firefox 63.0.3 for armv7
Actual results:
Build failed with the following error:
[ 9491s] 150:21.13 libxul.so
[11236s] 179:26.42 /usr/lib/gcc/armv7hl-suse-linux-gnueabi/8/../../../../armv7hl-suse-linux-gnueabi/bin/ld: ../../media/libaom/arm_cpudetect.o: in function `arm_cpu_caps':
[11236s] 179:26.43 /home/abuild/rpmbuild/BUILD/firefox-63.0.3/third_party/aom/aom_ports/arm_cpudetect.c:113: multiple definition of `arm_cpu_caps'; ../../media/libvpx/arm_cpudetect.o:/home/abuild/rpmbuild/BUILD/firefox-63.0.3/media/libvpx/libvpx/vpx_ports/arm_cpudetect.c:117: first defined here
[11236s] 179:26.43 collect2: error: ld returned 1 exit status
Expected results:
Build should succeed.
| Reporter | ||
Updated•7 years ago
|
Summary: multiple definition of `arm_cpu_caps' → armv7l build fails with: multiple definition of `arm_cpu_caps'
| Reporter | ||
Updated•7 years ago
|
OS: Unspecified → Linux
Hardware: Unspecified → ARM
Updated•7 years ago
|
Component: Untriaged → Audio/Video
Product: Firefox → Core
Comment 2•7 years ago
|
||
From the log, it seems like the `arm_cpu_caps` is defined in both libaom(AV1) and libvpx in Firefox 63.
Guillaume, how could I reproduce that ? Did you build Firefox on Raspberry Pi or PandaBoard ?
Alex, is it a known issue when you are integrating the AV1 ?
Flags: needinfo?(guillaume.gardet)
Flags: needinfo?(achronop)
| Reporter | ||
Comment 3•7 years ago
|
||
(In reply to Chun-Min Chang[:chunmin] from comment #2)
> From the log, it seems like the `arm_cpu_caps` is defined in both
> libaom(AV1) and libvpx in Firefox 63.
Yes, that is the problem.
>
> Guillaume, how could I reproduce that ? Did you build Firefox on Raspberry
> Pi or PandaBoard ?
I build it natively on armv7 (actually, inside an armv7 qemu running on an aarch64 system, but result is the same).
All options can be found in the spec file used to build Firefox for openSUSE: https://build.opensuse.org/package/view_file/mozilla:Factory/MozillaFirefox/MozillaFirefox.spec?expand=1&rev=698
Flags: needinfo?(guillaume.gardet)
Comment 4•7 years ago
|
||
libdav1d had also common symbols with libaom. We solved it by patching upstream and making the symbols sharable in [1]. A good question here would be why we do not have this error on other platform?
[1] https://code.videolan.org/videolan/dav1d/commit/c163cbdb8360847b22ab4f0fbd6c7a5723af7bdf
Flags: needinfo?(achronop)
| Reporter | ||
Comment 5•7 years ago
|
||
Additional info, chromium/aomedia solved this by renaming libaom 'arm_cpu_caps' to 'aom_arm_cpu_caps'.
See: https://aomedia.googlesource.com/aom/+/05bb9cc7289a7374cf6ef916b47d5bd27e292cfe%5E%21/
Comment 6•7 years ago
|
||
Thomas, the patch above is yours, would you like to import it in firefox too?
Flags: needinfo?(tdaede)
| Reporter | ||
Comment 7•7 years ago
|
||
It seems that Firefox 64.0 include this patch. I will close this bug if build is successful.
Updated•7 years ago
|
Flags: needinfo?(cchang)
Comment 8•7 years ago
|
||
A friendly reminder to report back if build is successful, thanks!
Flags: needinfo?(guillaume.gardet)
| Reporter | ||
Comment 9•7 years ago
|
||
(In reply to Alex Chronopoulos [:achronop] from comment #8)
> A friendly reminder to report back if build is successful, thanks!
Yes, Firefox 64.0 builds fine.
Please close it, as I cannot close it as 'resolved'.
Flags: needinfo?(guillaume.gardet)
Comment 10•7 years ago
|
||
Thank you very much for your report.
Status: UNCONFIRMED → RESOLVED
Closed: 7 years ago
Flags: needinfo?(tdaede)
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•