Message ID | 20210918090636.488716-1-costamagnagianfranco@yahoo.it |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] Update configure file to fix a build failure with gcc-11 on Ubuntu 21.10 | expand |
Context | Check | Description |
---|---|---|
andriy/commit_msg_x86 | warning | The first line of the commit message must start with a context terminated by a colon and a space, for example "lavu/opt: " or "doc: ". |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
andriy/commit_msg_ppc | warning | The first line of the commit message must start with a context terminated by a colon and a space, for example "lavu/opt: " or "doc: ". |
andriy/make_ppc | success | Make finished |
andriy/make_fate_ppc | success | Make fate finished |
On 18.09.2021 11:06, Gianfranco Costamagna wrote: > New gcc changed the way it exposes armhf build flags. > "the architecture now has to include the cpu features, see the man page, arM options" > > example of build failure: > https://launchpad.net/ubuntu/+source/ffmpeg/7:4.4-6ubuntu1/+build/22070856 > > Note: this syntax was introduced in GCC 8 https://gcc.gnu.org/gcc-8/changes.html > --- > configure | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/configure b/configure > index 7ac23123c7..571b70208c 100755 > --- a/configure > +++ b/configure > @@ -5000,7 +5000,7 @@ elif enabled arm; then > elif check_arm_arch 6ZK; then echo armv6zk > elif check_arm_arch 6T2; then echo armv6t2 > elif check_arm_arch 7; then echo armv7 > - elif check_arm_arch 7A 7_A; then echo armv7-a > + elif check_arm_arch 7A 7_A; then echo armv7-a+fp > elif check_arm_arch 7S; then echo armv7-a > elif check_arm_arch 7R 7_R; then echo armv7-r > elif check_arm_arch 7M 7_M; then echo armv7-m > Does this still work with older gccs, or will those be broken after this?
Hello Timo Il giorno sab 18 set 2021 alle ore 13:15 Timo Rothenpieler < timo@rothenpieler.org> ha scritto: > On 18.09.2021 11:06, Gianfranco Costamagna wrote: > > New gcc changed the way it exposes armhf build flags. > > "the architecture now has to include the cpu features, see the man page, > arM options" > > > > example of build failure: > > > https://launchpad.net/ubuntu/+source/ffmpeg/7:4.4-6ubuntu1/+build/22070856 > > > > Note: this syntax was introduced in GCC 8 > https://gcc.gnu.org/gcc-8/changes.html > > --- > > configure | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/configure b/configure > > index 7ac23123c7..571b70208c 100755 > > --- a/configure > > +++ b/configure > > @@ -5000,7 +5000,7 @@ elif enabled arm; then > > elif check_arm_arch 6ZK; then echo armv6zk > > elif check_arm_arch 6T2; then echo armv6t2 > > elif check_arm_arch 7; then echo armv7 > > - elif check_arm_arch 7A 7_A; then echo armv7-a > > + elif check_arm_arch 7A 7_A; then echo armv7-a+fp > > elif check_arm_arch 7S; then echo armv7-a > > elif check_arm_arch 7R 7_R; then echo armv7-r > > elif check_arm_arch 7M 7_M; then echo armv7-m > > > > Does this still work with older gccs, or will those be broken after this? > I checked gcc-10 and it works too. The new naming has been introduced in gcc-8, so there should be no issues even for backporting the package to old systems. What is the oldest supported compiler for ffmpeg? BTW this is just an idea of a patch, other people might want to patch all the arms for the new gcc-11, but I don't know how to change them because I don't have the hardware so I just patched the Debian/Ubuntu used one. Feel free to change it if you like, or just take it as reference for people experiencing build failures with gcc-11. Hopefully somebody with the required hw will patch it in a better way once the gcc-11 becomes default on more systems. I sent a new patch version with different commit message. Gianfranco > ________________ >
On 18.09.2021 15:48, Gianfranco Costamagna wrote: > Hello Timo > > Il giorno sab 18 set 2021 alle ore 13:15 Timo Rothenpieler < > timo@rothenpieler.org> ha scritto: > >> On 18.09.2021 11:06, Gianfranco Costamagna wrote: >>> New gcc changed the way it exposes armhf build flags. >>> "the architecture now has to include the cpu features, see the man page, >> arM options" >>> >>> example of build failure: >>> >> https://launchpad.net/ubuntu/+source/ffmpeg/7:4.4-6ubuntu1/+build/22070856 >>> >>> Note: this syntax was introduced in GCC 8 >> https://gcc.gnu.org/gcc-8/changes.html >>> --- >>> configure | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/configure b/configure >>> index 7ac23123c7..571b70208c 100755 >>> --- a/configure >>> +++ b/configure >>> @@ -5000,7 +5000,7 @@ elif enabled arm; then >>> elif check_arm_arch 6ZK; then echo armv6zk >>> elif check_arm_arch 6T2; then echo armv6t2 >>> elif check_arm_arch 7; then echo armv7 >>> - elif check_arm_arch 7A 7_A; then echo armv7-a >>> + elif check_arm_arch 7A 7_A; then echo armv7-a+fp >>> elif check_arm_arch 7S; then echo armv7-a >>> elif check_arm_arch 7R 7_R; then echo armv7-r >>> elif check_arm_arch 7M 7_M; then echo armv7-m >>> >> >> Does this still work with older gccs, or will those be broken after this? >> > > I checked gcc-10 and it works too. > The new naming has been introduced in gcc-8, so there should be no issues > even for backporting the package to old systems. > > What is the oldest supported compiler for ffmpeg? At least all the way back to gcc-4, and some other exotic non-gcc compilers. Though I'm not sure what the minimum with armv7 support is, or when gcc introduced it. If it break some older compiler that's used on some stable branch of some distro, that'd be an issue. > BTW this is just an idea of a patch, other people might want to patch all > the arms for the new gcc-11, but I don't know how to change them because I > don't have the hardware > so I just patched the Debian/Ubuntu used one. > > Feel free to change it if you like, or just take it as reference for people > experiencing build failures with gcc-11. Hopefully somebody with the > required hw will patch it in a better way once the gcc-11 becomes default > on more systems. > > I sent a new patch version with different commit message. > Gianfranco
On Sat, 18 Sep 2021, Timo Rothenpieler wrote: > On 18.09.2021 15:48, Gianfranco Costamagna wrote: >> Hello Timo >> >> Il giorno sab 18 set 2021 alle ore 13:15 Timo Rothenpieler < >> timo@rothenpieler.org> ha scritto: >> >>> On 18.09.2021 11:06, Gianfranco Costamagna wrote: >>>> New gcc changed the way it exposes armhf build flags. >>>> "the architecture now has to include the cpu features, see the man page, >>> arM options" >>>> >>>> example of build failure: >>>> >>> https://launchpad.net/ubuntu/+source/ffmpeg/7:4.4-6ubuntu1/+build/22070856 >>>> >>>> Note: this syntax was introduced in GCC 8 >>> https://gcc.gnu.org/gcc-8/changes.html >>>> --- >>>> configure | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/configure b/configure >>>> index 7ac23123c7..571b70208c 100755 >>>> --- a/configure >>>> +++ b/configure >>>> @@ -5000,7 +5000,7 @@ elif enabled arm; then >>>> elif check_arm_arch 6ZK; then echo armv6zk >>>> elif check_arm_arch 6T2; then echo armv6t2 >>>> elif check_arm_arch 7; then echo armv7 >>>> - elif check_arm_arch 7A 7_A; then echo armv7-a >>>> + elif check_arm_arch 7A 7_A; then echo armv7-a+fp >>>> elif check_arm_arch 7S; then echo armv7-a >>>> elif check_arm_arch 7R 7_R; then echo armv7-r >>>> elif check_arm_arch 7M 7_M; then echo armv7-m >>>> >>> >>> Does this still work with older gccs, or will those be broken after this? >>> >> >> I checked gcc-10 and it works too. >> The new naming has been introduced in gcc-8, so there should be no issues >> even for backporting the package to old systems. >> >> What is the oldest supported compiler for ffmpeg? > > At least all the way back to gcc-4, and some other exotic non-gcc compilers. > Though I'm not sure what the minimum with armv7 support is, or when gcc > introduced it. > > If it break some older compiler that's used on some stable branch of some > distro, that'd be an issue. +1, if this new syntax was introduced with GCC 8, I guess this would break building with GCC 7, and that's a rather new version to break IMO. I'll try to reproduce this and look into it. // Martin
diff --git a/configure b/configure index 7ac23123c7..571b70208c 100755 --- a/configure +++ b/configure @@ -5000,7 +5000,7 @@ elif enabled arm; then elif check_arm_arch 6ZK; then echo armv6zk elif check_arm_arch 6T2; then echo armv6t2 elif check_arm_arch 7; then echo armv7 - elif check_arm_arch 7A 7_A; then echo armv7-a + elif check_arm_arch 7A 7_A; then echo armv7-a+fp elif check_arm_arch 7S; then echo armv7-a elif check_arm_arch 7R 7_R; then echo armv7-r elif check_arm_arch 7M 7_M; then echo armv7-m