-ffreestanding leads to build issues with LLVM 8
Categories
(Core :: Audio/Video: Playback, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox81 | --- | fixed |
People
(Reporter: gaston, Assigned: jhlin)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
OpenBSD is in the process of updating its base & ports compiler to LLVM 10, in this process we've encountered a build issue when building with LLVM 8 from ports, which is also the compiler used to build rustc (llvm from base doesnt have/ship libclang.so).
The build fails (apparently due to include ordering) on media/ffvpx/libavutil/adler32.c with
media/ffvpx/libavutil/avstring.o
In file included from <built-in>:2:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil_visibility.h:26:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil/log.h:25:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil/avutil.h:296:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil/common.h:37:
/usr/local/lib/clang/8.0.1/include/stdint.h:228:25: error: typedef redefinition with different types ('int16_t' (aka 'short') vs '__int_fast16_t' (aka 'int'))
typedef __int_least16_t int_fast16_t;
^
/usr/include/stdint.h:83:25: note: previous definition is here
typedef __int_fast16_t int_fast16_t;
^
In file included from <built-in>:2:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil_visibility.h:26:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil/log.h:25:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil/avutil.h:296:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil/common.h:37:
/usr/local/lib/clang/8.0.1/include/stdint.h:229:26: error: typedef redefinition with different types ('uint16_t' (aka 'unsigned short') vs '__uint_fast16_t' (aka 'unsigned int'))
typedef __uint_least16_t uint_fast16_t;
^
/usr/include/stdint.h:84:26: note: previous definition is here
typedef __uint_fast16_t uint_fast16_t;
^
In file included from <built-in>:2:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil_visibility.h:26:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil/log.h:25:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil/avutil.h:296:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil/common.h:37:
/usr/local/lib/clang/8.0.1/include/stdint.h:245:24: error: typedef redefinition with different types ('int8_t' (aka 'signed char') vs '__int_fast8_t' (aka 'int'))
typedef __int_least8_t int_fast8_t;
^
/usr/include/stdint.h:81:24: note: previous definition is here
typedef __int_fast8_t int_fast8_t;
^
In file included from <built-in>:2:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil_visibility.h:26:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil/log.h:25:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil/avutil.h:296:
In file included from /usr/obj/firefox-79.0/firefox-79.0/media/ffvpx/libavutil/common.h:37:
/usr/local/lib/clang/8.0.1/include/stdint.h:246:25: error: typedef redefinition with different types ('uint8_t' (aka 'unsigned char') vs '__uint_fast8_t' (aka 'unsigned int'))
typedef __uint_least8_t uint_fast8_t;
^
/usr/include/stdint.h:82:25: note: previous definition is here
typedef __uint_fast8_t uint_fast8_t;
this build failure also reproduces with 79.0 and 80.0b2. backing out https://hg.mozilla.org/mozreview/gecko/rev/c27bfe9107654c62c71b236e3389d9fbcf88e0a4 (ie removing -ffreestanding
) fixes this build issue, as found out by me fellow developers.
from my understanding of Bug 1412240 this was added 3 years ago as a workaround for a LLVM bug encountered only on specific distributed build environment on automation, is it still needed ? Some of our developers feel using -ffreestanding is deeply wrong there.
Assignee | ||
Comment 1•4 years ago
|
||
Jean-Yves, do you think it's safe to revert bug 1412240?
Comment 2•4 years ago
|
||
(In reply to John Lin [:jhlin][:jolin] from comment #1)
Jean-Yves, do you think it's safe to revert bug 1412240?
the bug is still opened on llvm ; however I don't know if building over distcc is important today now that we have sccache.
i personally no longer use it.
So removing this hackish workaround seems like the way to go.
Comment 3•4 years ago
|
||
The severity field is not set for this bug.
:bryce, could you have a look please?
For more information, please visit auto_nag documentation.
John, are you able to keep looking at this?
Assignee | ||
Comment 5•4 years ago
|
||
(In reply to Bryce Seager van Dyk (:bryce) from comment #4)
John, are you able to keep looking at this?
Yes. I'll revert bug 1421140 for this as discussed in comment 2.
Assignee | ||
Comment 6•4 years ago
|
||
Revert bug 1412240. It was a workaround for a LLVM bug and only
relevant when icecc is involved. Since sccache-dist is preferred
now, it's no longer needed.
Pushed by jolin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a6af82c5ceea ffvpx: undo build error workarounds. r=jya
Comment 8•4 years ago
|
||
bugherder |
Updated•3 years ago
|
Updated•3 years ago
|
Description
•