diff mbox series

cdrtools-native: fix build with gcc-14

Message ID 20240520143428.4168152-1-martin.jansa@gmail.com
State Accepted, archived
Commit 094273bd7d1768e14fbdcd2f239bee14c630a625
Headers show
Series cdrtools-native: fix build with gcc-14 | expand

Commit Message

Martin Jansa May 20, 2024, 2:34 p.m. UTC
Fixes:
http://errors.yoctoproject.org/Errors/Details/770525/
| checking whether the C compiler (gcc  -isystem/OE/build/oe-core/tmp-glibc/work/x86_64-linux/cdrtools-native/3.01/recipe-sysroot-native/usr/include -O2 -pipe ) works... no
| configure: error: installation or configuration problem: C compiler cannot create executables.
| RULES/rules.cnf:70: incs/amd-ryzen-threadripper-3970x-32-core-processor-linux-cc/rules.cnf: No such file or directory
| make: *** [RULES/rules.cnf:59: incs/amd-ryzen-threadripper-3970x-32-core-processor-linux-cc/rules.cnf] Error 1
| make: *** Waiting for unfinished jobs....

where config.log show it's caused by gcc-14:

configure:1189: checking whether the C compiler (gcc  -isystem/OE/build/oe-core/tmp-glibc/work/x86_64-linux/cdrtools-native/3.01/recipe-sysroot-native/usr/include -O2 -pipe ) works
configure:1211: gcc  -o conftest -isystem/OE/build/oe-core/tmp-glibc/work/x86_64-linux/cdrtools-native/3.01/recipe-sysroot-native/usr/include -O2 -pipe  -D_GNU_SOURCE  conftest.c   1>&5
configure:1208:1: error: return type defaults to 'int' [-Wimplicit-int]
configure: failed program was:

main(){return(0);}

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
---
 meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Khem Raj May 20, 2024, 6:45 p.m. UTC | #1
perhaps we should try to upgrade to
https://sourceforge.net/projects/cdrtools/files/alpha/cdrtools-3.02a09.tar.bz2
this is last release of cdrtools and other distros are packaging it
too, I am not sure if it will fix this issue but we might be
able to share fixes. We should also explore options to replace this
dependency for live/iso image generation.

On Mon, May 20, 2024 at 7:34 AM Martin Jansa via
lists.openembedded.org <martin.jansa=gmail.com@lists.openembedded.org>
wrote:
>
> Fixes:
> http://errors.yoctoproject.org/Errors/Details/770525/
> | checking whether the C compiler (gcc  -isystem/OE/build/oe-core/tmp-glibc/work/x86_64-linux/cdrtools-native/3.01/recipe-sysroot-native/usr/include -O2 -pipe ) works... no
> | configure: error: installation or configuration problem: C compiler cannot create executables.
> | RULES/rules.cnf:70: incs/amd-ryzen-threadripper-3970x-32-core-processor-linux-cc/rules.cnf: No such file or directory
> | make: *** [RULES/rules.cnf:59: incs/amd-ryzen-threadripper-3970x-32-core-processor-linux-cc/rules.cnf] Error 1
> | make: *** Waiting for unfinished jobs....
>
> where config.log show it's caused by gcc-14:
>
> configure:1189: checking whether the C compiler (gcc  -isystem/OE/build/oe-core/tmp-glibc/work/x86_64-linux/cdrtools-native/3.01/recipe-sysroot-native/usr/include -O2 -pipe ) works
> configure:1211: gcc  -o conftest -isystem/OE/build/oe-core/tmp-glibc/work/x86_64-linux/cdrtools-native/3.01/recipe-sysroot-native/usr/include -O2 -pipe  -D_GNU_SOURCE  conftest.c   1>&5
> configure:1208:1: error: return type defaults to 'int' [-Wimplicit-int]
> configure: failed program was:
>
> main(){return(0);}
>
> Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
> ---
>  meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb b/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb
> index bf8be1ad0c..239b351933 100644
> --- a/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb
> +++ b/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb
> @@ -19,13 +19,17 @@ SRC_URI = " \
>  SRC_URI[md5sum] = "7d45c5b7e1f78d85d1583b361aee6e8b"
>  SRC_URI[sha256sum] = "ed282eb6276c4154ce6a0b5dee0bdb81940d0cbbfc7d03f769c4735ef5f5860f"
>
> -EXTRA_OEMAKE = "-e MAKEFLAGS="
> +EXTRA_OEMAKE = "-e MAKEFLAGS= CPPOPTX='${CPPFLAGS}' COPTX='${CFLAGS}' C++OPTX='${CXXFLAGS}' LDOPTX='${LDFLAGS}' GMAKE_NOWARN='true'"
>
>  # Stop failures when 'cc' can't be found
>  export ac_cv_prog_CC = "${CC}"
>
>  inherit native
>
> +# Use -std=gnu89 to build with gcc-14 (https://bugs.gentoo.org/903876)
> +# this needs to be after native inherit (which sets CFLAGS to BUILD_CFLAGS)
> +CFLAGS += "-std=gnu89"
> +
>  do_configure() {
>          install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/autoconf
>          install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/autoconf
> @@ -33,5 +37,5 @@ do_configure() {
>  }
>
>  do_install() {
> -       make install GMAKE_NOWARN=true INS_BASE=${prefix} DESTDIR=${D}
> +       oe_runmake install INS_BASE=${prefix} DESTDIR=${D}
>  }
> --
> 2.45.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#199594): https://lists.openembedded.org/g/openembedded-core/message/199594
> Mute This Topic: https://lists.openembedded.org/mt/106204338/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Martin Jansa May 20, 2024, 6:50 p.m. UTC | #2
That doesn't fix that, I did the upgrade first and Ross was already
looking for cdrtools alternatives, so I went with minimal fix for
gcc-14 on host.

On Mon, May 20, 2024 at 8:45 PM Khem Raj <raj.khem@gmail.com> wrote:
>
> perhaps we should try to upgrade to
> https://sourceforge.net/projects/cdrtools/files/alpha/cdrtools-3.02a09.tar.bz2
> this is last release of cdrtools and other distros are packaging it
> too, I am not sure if it will fix this issue but we might be
> able to share fixes. We should also explore options to replace this
> dependency for live/iso image generation.
>
> On Mon, May 20, 2024 at 7:34 AM Martin Jansa via
> lists.openembedded.org <martin.jansa=gmail.com@lists.openembedded.org>
> wrote:
> >
> > Fixes:
> > http://errors.yoctoproject.org/Errors/Details/770525/
> > | checking whether the C compiler (gcc  -isystem/OE/build/oe-core/tmp-glibc/work/x86_64-linux/cdrtools-native/3.01/recipe-sysroot-native/usr/include -O2 -pipe ) works... no
> > | configure: error: installation or configuration problem: C compiler cannot create executables.
> > | RULES/rules.cnf:70: incs/amd-ryzen-threadripper-3970x-32-core-processor-linux-cc/rules.cnf: No such file or directory
> > | make: *** [RULES/rules.cnf:59: incs/amd-ryzen-threadripper-3970x-32-core-processor-linux-cc/rules.cnf] Error 1
> > | make: *** Waiting for unfinished jobs....
> >
> > where config.log show it's caused by gcc-14:
> >
> > configure:1189: checking whether the C compiler (gcc  -isystem/OE/build/oe-core/tmp-glibc/work/x86_64-linux/cdrtools-native/3.01/recipe-sysroot-native/usr/include -O2 -pipe ) works
> > configure:1211: gcc  -o conftest -isystem/OE/build/oe-core/tmp-glibc/work/x86_64-linux/cdrtools-native/3.01/recipe-sysroot-native/usr/include -O2 -pipe  -D_GNU_SOURCE  conftest.c   1>&5
> > configure:1208:1: error: return type defaults to 'int' [-Wimplicit-int]
> > configure: failed program was:
> >
> > main(){return(0);}
> >
> > Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
> > ---
> >  meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb | 8 ++++++--
> >  1 file changed, 6 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb b/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb
> > index bf8be1ad0c..239b351933 100644
> > --- a/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb
> > +++ b/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb
> > @@ -19,13 +19,17 @@ SRC_URI = " \
> >  SRC_URI[md5sum] = "7d45c5b7e1f78d85d1583b361aee6e8b"
> >  SRC_URI[sha256sum] = "ed282eb6276c4154ce6a0b5dee0bdb81940d0cbbfc7d03f769c4735ef5f5860f"
> >
> > -EXTRA_OEMAKE = "-e MAKEFLAGS="
> > +EXTRA_OEMAKE = "-e MAKEFLAGS= CPPOPTX='${CPPFLAGS}' COPTX='${CFLAGS}' C++OPTX='${CXXFLAGS}' LDOPTX='${LDFLAGS}' GMAKE_NOWARN='true'"
> >
> >  # Stop failures when 'cc' can't be found
> >  export ac_cv_prog_CC = "${CC}"
> >
> >  inherit native
> >
> > +# Use -std=gnu89 to build with gcc-14 (https://bugs.gentoo.org/903876)
> > +# this needs to be after native inherit (which sets CFLAGS to BUILD_CFLAGS)
> > +CFLAGS += "-std=gnu89"
> > +
> >  do_configure() {
> >          install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/autoconf
> >          install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/autoconf
> > @@ -33,5 +37,5 @@ do_configure() {
> >  }
> >
> >  do_install() {
> > -       make install GMAKE_NOWARN=true INS_BASE=${prefix} DESTDIR=${D}
> > +       oe_runmake install INS_BASE=${prefix} DESTDIR=${D}
> >  }
> > --
> > 2.45.1
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#199594): https://lists.openembedded.org/g/openembedded-core/message/199594
> > Mute This Topic: https://lists.openembedded.org/mt/106204338/1997914
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
diff mbox series

Patch

diff --git a/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb b/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb
index bf8be1ad0c..239b351933 100644
--- a/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb
+++ b/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb
@@ -19,13 +19,17 @@  SRC_URI = " \
 SRC_URI[md5sum] = "7d45c5b7e1f78d85d1583b361aee6e8b"
 SRC_URI[sha256sum] = "ed282eb6276c4154ce6a0b5dee0bdb81940d0cbbfc7d03f769c4735ef5f5860f"
 
-EXTRA_OEMAKE = "-e MAKEFLAGS="
+EXTRA_OEMAKE = "-e MAKEFLAGS= CPPOPTX='${CPPFLAGS}' COPTX='${CFLAGS}' C++OPTX='${CXXFLAGS}' LDOPTX='${LDFLAGS}' GMAKE_NOWARN='true'"
 
 # Stop failures when 'cc' can't be found
 export ac_cv_prog_CC = "${CC}"
 
 inherit native
 
+# Use -std=gnu89 to build with gcc-14 (https://bugs.gentoo.org/903876)
+# this needs to be after native inherit (which sets CFLAGS to BUILD_CFLAGS)
+CFLAGS += "-std=gnu89"
+
 do_configure() {
         install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/autoconf
         install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/autoconf
@@ -33,5 +37,5 @@  do_configure() {
 }
 
 do_install() {
-	make install GMAKE_NOWARN=true INS_BASE=${prefix} DESTDIR=${D}
+	oe_runmake install INS_BASE=${prefix} DESTDIR=${D}
 }