Message ID | 20240616153135.3058410-2-kai.kang@windriver.com |
---|---|
State | Accepted, archived |
Commit | 44fc7aa1468ff042739cc5a91c84ef5c2a09e0a3 |
Headers | show |
Series | Update for gfortran | expand |
Something seems wrong with this change which was merged today, now with: MACHINE=qemuarm64 FORTRAN:forcevariable = ",fortran" I'm seeing: build/oe-core $ bitbake -g nativesdk-libgfortran NOTE: Resolving any missing task queue dependencies ERROR: Nothing PROVIDES 'gcc-cross-x86_64' (but virtual:nativesdk:/OE/build/oe-core/openembedded-core/meta/recipes-devtools/gcc/libgfortran_14.1.bb DEPENDS on or otherwise requires it). Close matches: gcc-cross-aarch64 ... This might have been broken even before this change, but now it got included in dependency tree of nativesdk-gcc (as shown in bitbake -g nativesdk-gcc now failing when host and target arch don't match): "nativesdk-gcc.do_package_qa" -> "nativesdk-libgfortran.do_packagedata" nativesdk-gcc.do_package_write_ipk" -> "nativesdk-libgfortran.do_packagedata" Missing or unbuildable dependency chain was: ['image', 'nativesdk-packagegroup-sdk-host', 'nativesdk-lcov', 'nativesdk-gcov-symlinks', 'nativesdk-libgfortran-dev', 'gcc-cross-x86_64'] I guess the easiest fix would be in: meta/recipes-devtools/gcc/libgfortran.inc:DEPENDS = "gcc-runtime gcc-cross-${TARGET_ARCH}" but I'm not very familiar with fortran (we've enabled it long time ago to build lapack(blas) for snowboy, but wasn't actively used for couple years). Regards, On Sun, Jun 16, 2024 at 5:32 PM Kai Kang via lists.openembedded.org <kai.kang=windriver.com@lists.openembedded.org> wrote: > > From: Kai Kang <kai.kang@windriver.com> > > It fails to run both `gcc` and `gfortran` with errors: > > | root@qemux86-64:~# x86_64-poky-linux-gcc a.c > | x86_64-poky-linux-gcc: fatal error: cannot execute 'as': posix_spawnp: No such file or directory > > then add binutils which provides `as` to RDEPENDS of gcc. > > libgfortran-dev provides libgfortran.spec which required by gfortran: > > | root@qemux86-64:~# gfortran hello.f95 > | gfortran: fatal error: cannot read spec file 'libgfortran.spec': No such file or directory > > And gcc provides liblto_plugin.so: > > | root@qemux86-64:~# gfortran hello.f95 > | gfortran: fatal error: '-fuse-linker-plugin', but liblto_plugin.so not found > > Signed-off-by: Kai Kang <kai.kang@windriver.com> > --- > meta/recipes-devtools/gcc/gcc-target.inc | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc > index 8e9693b4cb..e9187fc444 100644 > --- a/meta/recipes-devtools/gcc/gcc-target.inc > +++ b/meta/recipes-devtools/gcc/gcc-target.inc > @@ -33,7 +33,7 @@ PACKAGES = "\ > ${PN} ${PN}-plugins ${PN}-symlinks \ > g++ g++-symlinks \ > cpp cpp-symlinks \ > - gfortran gfortran-symlinks \ > + ${@bb.utils.contains('FORTRAN', ',fortran', 'gfortran gfortran-symlinks', '', d)} \ > gcov gcov-symlinks \ > ${PN}-doc \ > ${PN}-dev \ > @@ -60,7 +60,7 @@ RRECOMMENDS:${PN} += "\ > libssp \ > libssp-dev \ > " > -RDEPENDS:${PN} += "cpp" > +RDEPENDS:${PN} += "binutils cpp" > > FILES:${PN}-dev = "\ > ${gcclibdir}/${TARGET_SYS}/${BINV}/lib*${SOLIBSDEV} \ > @@ -80,10 +80,15 @@ FILES:${PN}-plugins = "\ > " > ALLOW_EMPTY:${PN}-plugins = "1" > > +INSANE_SKIP:${MLPREFIX}gfortran += "dev-deps" > FILES:gfortran = "\ > ${bindir}/${TARGET_PREFIX}gfortran \ > ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f951 \ > " > +RDEPENDS:gfortran = "\ > + gcc \ > + libgfortran-dev \ > +" > RRECOMMENDS:gfortran = "\ > libquadmath \ > libquadmath-dev \ > -- > 2.34.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#200780): https://lists.openembedded.org/g/openembedded-core/message/200780 > Mute This Topic: https://lists.openembedded.org/mt/106704990/3617156 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [martin.jansa@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
See https://lists.openembedded.org/g/openembedded-core/message/200915 which allows to me to build nativesdk-gcc again. I've built nativesdk-libgfortran and libgfortran with the patch, but haven't used fortran in runtime at all, that's why it's an RFC, there were also 2 warnings: WARNING: nativesdk-libgfortran-14.1.0-r0 do_package_qa: QA Issue: File /opt/.../usr/lib/.debug/libgfortran.so.5.0.0 in package nativesdk-libgfortran-dbg contains reference to TMPDIR [buildpaths] WARNING: libgfortran-14.1.0-r0 do_package_qa: QA Issue: File /usr/lib/.debug/libgfortran.so.5.0.0 in package libgfortran-dbg contains reference to TMPDIR [buildpaths] which I guess were already there. On Wed, Jun 19, 2024 at 3:24 PM Martin Jansa via lists.openembedded.org <martin.jansa=gmail.com@lists.openembedded.org> wrote: > > Something seems wrong with this change which was merged today, now with: > MACHINE=qemuarm64 > FORTRAN:forcevariable = ",fortran" > > I'm seeing: > build/oe-core $ bitbake -g nativesdk-libgfortran > NOTE: Resolving any missing task queue dependencies > ERROR: Nothing PROVIDES 'gcc-cross-x86_64' (but > virtual:nativesdk:/OE/build/oe-core/openembedded-core/meta/recipes-devtools/gcc/libgfortran_14.1.bb > DEPENDS on or otherwise requires it). Close matches: > gcc-cross-aarch64 > ... > > This might have been broken even before this change, but now it got > included in dependency tree of nativesdk-gcc (as shown in bitbake -g > nativesdk-gcc now failing when host and target arch don't match): > > "nativesdk-gcc.do_package_qa" -> "nativesdk-libgfortran.do_packagedata" > nativesdk-gcc.do_package_write_ipk" -> "nativesdk-libgfortran.do_packagedata" > > Missing or unbuildable dependency chain was: ['image', > 'nativesdk-packagegroup-sdk-host', 'nativesdk-lcov', > 'nativesdk-gcov-symlinks', 'nativesdk-libgfortran-dev', > 'gcc-cross-x86_64'] > > I guess the easiest fix would be in: > meta/recipes-devtools/gcc/libgfortran.inc:DEPENDS = "gcc-runtime > gcc-cross-${TARGET_ARCH}" > but I'm not very familiar with fortran (we've enabled it long time ago > to build lapack(blas) for snowboy, but wasn't actively used for couple > years). > > Regards, > > > > On Sun, Jun 16, 2024 at 5:32 PM Kai Kang via lists.openembedded.org > <kai.kang=windriver.com@lists.openembedded.org> wrote: > > > > From: Kai Kang <kai.kang@windriver.com> > > > > It fails to run both `gcc` and `gfortran` with errors: > > > > | root@qemux86-64:~# x86_64-poky-linux-gcc a.c > > | x86_64-poky-linux-gcc: fatal error: cannot execute 'as': posix_spawnp: No such file or directory > > > > then add binutils which provides `as` to RDEPENDS of gcc. > > > > libgfortran-dev provides libgfortran.spec which required by gfortran: > > > > | root@qemux86-64:~# gfortran hello.f95 > > | gfortran: fatal error: cannot read spec file 'libgfortran.spec': No such file or directory > > > > And gcc provides liblto_plugin.so: > > > > | root@qemux86-64:~# gfortran hello.f95 > > | gfortran: fatal error: '-fuse-linker-plugin', but liblto_plugin.so not found > > > > Signed-off-by: Kai Kang <kai.kang@windriver.com> > > --- > > meta/recipes-devtools/gcc/gcc-target.inc | 9 +++++++-- > > 1 file changed, 7 insertions(+), 2 deletions(-) > > > > diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc > > index 8e9693b4cb..e9187fc444 100644 > > --- a/meta/recipes-devtools/gcc/gcc-target.inc > > +++ b/meta/recipes-devtools/gcc/gcc-target.inc > > @@ -33,7 +33,7 @@ PACKAGES = "\ > > ${PN} ${PN}-plugins ${PN}-symlinks \ > > g++ g++-symlinks \ > > cpp cpp-symlinks \ > > - gfortran gfortran-symlinks \ > > + ${@bb.utils.contains('FORTRAN', ',fortran', 'gfortran gfortran-symlinks', '', d)} \ > > gcov gcov-symlinks \ > > ${PN}-doc \ > > ${PN}-dev \ > > @@ -60,7 +60,7 @@ RRECOMMENDS:${PN} += "\ > > libssp \ > > libssp-dev \ > > " > > -RDEPENDS:${PN} += "cpp" > > +RDEPENDS:${PN} += "binutils cpp" > > > > FILES:${PN}-dev = "\ > > ${gcclibdir}/${TARGET_SYS}/${BINV}/lib*${SOLIBSDEV} \ > > @@ -80,10 +80,15 @@ FILES:${PN}-plugins = "\ > > " > > ALLOW_EMPTY:${PN}-plugins = "1" > > > > +INSANE_SKIP:${MLPREFIX}gfortran += "dev-deps" > > FILES:gfortran = "\ > > ${bindir}/${TARGET_PREFIX}gfortran \ > > ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f951 \ > > " > > +RDEPENDS:gfortran = "\ > > + gcc \ > > + libgfortran-dev \ > > +" > > RRECOMMENDS:gfortran = "\ > > libquadmath \ > > libquadmath-dev \ > > -- > > 2.34.1 > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#200913): https://lists.openembedded.org/g/openembedded-core/message/200913 > Mute This Topic: https://lists.openembedded.org/mt/106704990/3617156 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [martin.jansa@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On 6/19/24 23:00, Martin Jansa wrote: > See https://lists.openembedded.org/g/openembedded-core/message/200915 > which allows to me to build nativesdk-gcc again. Thanks for your fix. Regards, Kai > > I've built nativesdk-libgfortran and libgfortran with the patch, but > haven't used fortran in runtime at all, that's why it's an RFC, there > were also 2 warnings: > WARNING: nativesdk-libgfortran-14.1.0-r0 do_package_qa: QA Issue: File > /opt/.../usr/lib/.debug/libgfortran.so.5.0.0 in package > nativesdk-libgfortran-dbg contains reference to TMPDIR [buildpaths] > WARNING: libgfortran-14.1.0-r0 do_package_qa: QA Issue: File > /usr/lib/.debug/libgfortran.so.5.0.0 in package libgfortran-dbg > contains reference to TMPDIR [buildpaths] > which I guess were already there. > > On Wed, Jun 19, 2024 at 3:24 PM Martin Jansa via > lists.openembedded.org <martin.jansa=gmail.com@lists.openembedded.org> > wrote: >> Something seems wrong with this change which was merged today, now with: >> MACHINE=qemuarm64 >> FORTRAN:forcevariable = ",fortran" >> >> I'm seeing: >> build/oe-core $ bitbake -g nativesdk-libgfortran >> NOTE: Resolving any missing task queue dependencies >> ERROR: Nothing PROVIDES 'gcc-cross-x86_64' (but >> virtual:nativesdk:/OE/build/oe-core/openembedded-core/meta/recipes-devtools/gcc/libgfortran_14.1.bb >> DEPENDS on or otherwise requires it). Close matches: >> gcc-cross-aarch64 >> ... >> >> This might have been broken even before this change, but now it got >> included in dependency tree of nativesdk-gcc (as shown in bitbake -g >> nativesdk-gcc now failing when host and target arch don't match): >> >> "nativesdk-gcc.do_package_qa" -> "nativesdk-libgfortran.do_packagedata" >> nativesdk-gcc.do_package_write_ipk" -> "nativesdk-libgfortran.do_packagedata" >> >> Missing or unbuildable dependency chain was: ['image', >> 'nativesdk-packagegroup-sdk-host', 'nativesdk-lcov', >> 'nativesdk-gcov-symlinks', 'nativesdk-libgfortran-dev', >> 'gcc-cross-x86_64'] >> >> I guess the easiest fix would be in: >> meta/recipes-devtools/gcc/libgfortran.inc:DEPENDS = "gcc-runtime >> gcc-cross-${TARGET_ARCH}" >> but I'm not very familiar with fortran (we've enabled it long time ago >> to build lapack(blas) for snowboy, but wasn't actively used for couple >> years). >> >> Regards, >> >> >> >> On Sun, Jun 16, 2024 at 5:32 PM Kai Kang via lists.openembedded.org >> <kai.kang=windriver.com@lists.openembedded.org> wrote: >>> From: Kai Kang <kai.kang@windriver.com> >>> >>> It fails to run both `gcc` and `gfortran` with errors: >>> >>> | root@qemux86-64:~# x86_64-poky-linux-gcc a.c >>> | x86_64-poky-linux-gcc: fatal error: cannot execute 'as': posix_spawnp: No such file or directory >>> >>> then add binutils which provides `as` to RDEPENDS of gcc. >>> >>> libgfortran-dev provides libgfortran.spec which required by gfortran: >>> >>> | root@qemux86-64:~# gfortran hello.f95 >>> | gfortran: fatal error: cannot read spec file 'libgfortran.spec': No such file or directory >>> >>> And gcc provides liblto_plugin.so: >>> >>> | root@qemux86-64:~# gfortran hello.f95 >>> | gfortran: fatal error: '-fuse-linker-plugin', but liblto_plugin.so not found >>> >>> Signed-off-by: Kai Kang <kai.kang@windriver.com> >>> --- >>> meta/recipes-devtools/gcc/gcc-target.inc | 9 +++++++-- >>> 1 file changed, 7 insertions(+), 2 deletions(-) >>> >>> diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc >>> index 8e9693b4cb..e9187fc444 100644 >>> --- a/meta/recipes-devtools/gcc/gcc-target.inc >>> +++ b/meta/recipes-devtools/gcc/gcc-target.inc >>> @@ -33,7 +33,7 @@ PACKAGES = "\ >>> ${PN} ${PN}-plugins ${PN}-symlinks \ >>> g++ g++-symlinks \ >>> cpp cpp-symlinks \ >>> - gfortran gfortran-symlinks \ >>> + ${@bb.utils.contains('FORTRAN', ',fortran', 'gfortran gfortran-symlinks', '', d)} \ >>> gcov gcov-symlinks \ >>> ${PN}-doc \ >>> ${PN}-dev \ >>> @@ -60,7 +60,7 @@ RRECOMMENDS:${PN} += "\ >>> libssp \ >>> libssp-dev \ >>> " >>> -RDEPENDS:${PN} += "cpp" >>> +RDEPENDS:${PN} += "binutils cpp" >>> >>> FILES:${PN}-dev = "\ >>> ${gcclibdir}/${TARGET_SYS}/${BINV}/lib*${SOLIBSDEV} \ >>> @@ -80,10 +80,15 @@ FILES:${PN}-plugins = "\ >>> " >>> ALLOW_EMPTY:${PN}-plugins = "1" >>> >>> +INSANE_SKIP:${MLPREFIX}gfortran += "dev-deps" >>> FILES:gfortran = "\ >>> ${bindir}/${TARGET_PREFIX}gfortran \ >>> ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f951 \ >>> " >>> +RDEPENDS:gfortran = "\ >>> + gcc \ >>> + libgfortran-dev \ >>> +" >>> RRECOMMENDS:gfortran = "\ >>> libquadmath \ >>> libquadmath-dev \ >>> -- >>> 2.34.1 >>> >>> >>> >>> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#200913): https://lists.openembedded.org/g/openembedded-core/message/200913 >> Mute This Topic: https://lists.openembedded.org/mt/106704990/3617156 >> Group Owner: openembedded-core+owner@lists.openembedded.org >> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [martin.jansa@gmail.com] >> -=-=-=-=-=-=-=-=-=-=-=- >>
Hi Kai, are you also seeing these buildpaths warnings from libgfortran? These will be fatal since ERROR_QA update from yesterday: https://git.openembedded.org/openembedded-core/commit/?id=b79b191cc43a45dde2adb61ea349b426cb2461d1 and it probably wasn't detected in AB builds which might not enable fortran. Regards, On Mon, Jun 24, 2024 at 12:12 PM Kai <kai.kang@windriver.com> wrote: > > On 6/19/24 23:00, Martin Jansa wrote: > > See https://lists.openembedded.org/g/openembedded-core/message/200915 > > which allows to me to build nativesdk-gcc again. > > Thanks for your fix. > > Regards, > Kai > > > > > I've built nativesdk-libgfortran and libgfortran with the patch, but > > haven't used fortran in runtime at all, that's why it's an RFC, there > > were also 2 warnings: > > WARNING: nativesdk-libgfortran-14.1.0-r0 do_package_qa: QA Issue: File > > /opt/.../usr/lib/.debug/libgfortran.so.5.0.0 in package > > nativesdk-libgfortran-dbg contains reference to TMPDIR [buildpaths] > > WARNING: libgfortran-14.1.0-r0 do_package_qa: QA Issue: File > > /usr/lib/.debug/libgfortran.so.5.0.0 in package libgfortran-dbg > > contains reference to TMPDIR [buildpaths] > > which I guess were already there. > > > > On Wed, Jun 19, 2024 at 3:24 PM Martin Jansa via > > lists.openembedded.org <martin.jansa=gmail.com@lists.openembedded.org> > > wrote: > >> Something seems wrong with this change which was merged today, now with: > >> MACHINE=qemuarm64 > >> FORTRAN:forcevariable = ",fortran" > >> > >> I'm seeing: > >> build/oe-core $ bitbake -g nativesdk-libgfortran > >> NOTE: Resolving any missing task queue dependencies > >> ERROR: Nothing PROVIDES 'gcc-cross-x86_64' (but > >> virtual:nativesdk:/OE/build/oe-core/openembedded-core/meta/recipes-devtools/gcc/libgfortran_14.1.bb > >> DEPENDS on or otherwise requires it). Close matches: > >> gcc-cross-aarch64 > >> ... > >> > >> This might have been broken even before this change, but now it got > >> included in dependency tree of nativesdk-gcc (as shown in bitbake -g > >> nativesdk-gcc now failing when host and target arch don't match): > >> > >> "nativesdk-gcc.do_package_qa" -> "nativesdk-libgfortran.do_packagedata" > >> nativesdk-gcc.do_package_write_ipk" -> "nativesdk-libgfortran.do_packagedata" > >> > >> Missing or unbuildable dependency chain was: ['image', > >> 'nativesdk-packagegroup-sdk-host', 'nativesdk-lcov', > >> 'nativesdk-gcov-symlinks', 'nativesdk-libgfortran-dev', > >> 'gcc-cross-x86_64'] > >> > >> I guess the easiest fix would be in: > >> meta/recipes-devtools/gcc/libgfortran.inc:DEPENDS = "gcc-runtime > >> gcc-cross-${TARGET_ARCH}" > >> but I'm not very familiar with fortran (we've enabled it long time ago > >> to build lapack(blas) for snowboy, but wasn't actively used for couple > >> years). > >> > >> Regards, > >> > >> > >> > >> On Sun, Jun 16, 2024 at 5:32 PM Kai Kang via lists.openembedded.org > >> <kai.kang=windriver.com@lists.openembedded.org> wrote: > >>> From: Kai Kang <kai.kang@windriver.com> > >>> > >>> It fails to run both `gcc` and `gfortran` with errors: > >>> > >>> | root@qemux86-64:~# x86_64-poky-linux-gcc a.c > >>> | x86_64-poky-linux-gcc: fatal error: cannot execute 'as': posix_spawnp: No such file or directory > >>> > >>> then add binutils which provides `as` to RDEPENDS of gcc. > >>> > >>> libgfortran-dev provides libgfortran.spec which required by gfortran: > >>> > >>> | root@qemux86-64:~# gfortran hello.f95 > >>> | gfortran: fatal error: cannot read spec file 'libgfortran.spec': No such file or directory > >>> > >>> And gcc provides liblto_plugin.so: > >>> > >>> | root@qemux86-64:~# gfortran hello.f95 > >>> | gfortran: fatal error: '-fuse-linker-plugin', but liblto_plugin.so not found > >>> > >>> Signed-off-by: Kai Kang <kai.kang@windriver.com> > >>> --- > >>> meta/recipes-devtools/gcc/gcc-target.inc | 9 +++++++-- > >>> 1 file changed, 7 insertions(+), 2 deletions(-) > >>> > >>> diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc > >>> index 8e9693b4cb..e9187fc444 100644 > >>> --- a/meta/recipes-devtools/gcc/gcc-target.inc > >>> +++ b/meta/recipes-devtools/gcc/gcc-target.inc > >>> @@ -33,7 +33,7 @@ PACKAGES = "\ > >>> ${PN} ${PN}-plugins ${PN}-symlinks \ > >>> g++ g++-symlinks \ > >>> cpp cpp-symlinks \ > >>> - gfortran gfortran-symlinks \ > >>> + ${@bb.utils.contains('FORTRAN', ',fortran', 'gfortran gfortran-symlinks', '', d)} \ > >>> gcov gcov-symlinks \ > >>> ${PN}-doc \ > >>> ${PN}-dev \ > >>> @@ -60,7 +60,7 @@ RRECOMMENDS:${PN} += "\ > >>> libssp \ > >>> libssp-dev \ > >>> " > >>> -RDEPENDS:${PN} += "cpp" > >>> +RDEPENDS:${PN} += "binutils cpp" > >>> > >>> FILES:${PN}-dev = "\ > >>> ${gcclibdir}/${TARGET_SYS}/${BINV}/lib*${SOLIBSDEV} \ > >>> @@ -80,10 +80,15 @@ FILES:${PN}-plugins = "\ > >>> " > >>> ALLOW_EMPTY:${PN}-plugins = "1" > >>> > >>> +INSANE_SKIP:${MLPREFIX}gfortran += "dev-deps" > >>> FILES:gfortran = "\ > >>> ${bindir}/${TARGET_PREFIX}gfortran \ > >>> ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f951 \ > >>> " > >>> +RDEPENDS:gfortran = "\ > >>> + gcc \ > >>> + libgfortran-dev \ > >>> +" > >>> RRECOMMENDS:gfortran = "\ > >>> libquadmath \ > >>> libquadmath-dev \ > >>> -- > >>> 2.34.1 > >>> > >>> > >>> > >>> > >> -=-=-=-=-=-=-=-=-=-=-=- > >> Links: You receive all messages sent to this group. > >> View/Reply Online (#200913): https://lists.openembedded.org/g/openembedded-core/message/200913 > >> Mute This Topic: https://lists.openembedded.org/mt/106704990/3617156 > >> Group Owner: openembedded-core+owner@lists.openembedded.org > >> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [martin.jansa@gmail.com] > >> -=-=-=-=-=-=-=-=-=-=-=- > >> > > -- > Kai Kang > Wind River Linux >
On 7/15/24 17:59, Martin Jansa wrote: > Hi Kai, > > are you also seeing these buildpaths warnings from libgfortran? These > will be fatal since ERROR_QA update from yesterday: > https://git.openembedded.org/openembedded-core/commit/?id=b79b191cc43a45dde2adb61ea349b426cb2461d1 > and it probably wasn't detected in AB builds which might not enable fortran. Yes, it seems exists for long time. My colleague worked on it for several days. But it seems hard to resolve that host path are somehow set to the intrinsic path. I'll discuss with him tomorrow and check if we can fix it. Regards, Kai > > Regards, > > On Mon, Jun 24, 2024 at 12:12 PM Kai <kai.kang@windriver.com> wrote: >> On 6/19/24 23:00, Martin Jansa wrote: >>> See https://lists.openembedded.org/g/openembedded-core/message/200915 >>> which allows to me to build nativesdk-gcc again. >> Thanks for your fix. >> >> Regards, >> Kai >> >>> I've built nativesdk-libgfortran and libgfortran with the patch, but >>> haven't used fortran in runtime at all, that's why it's an RFC, there >>> were also 2 warnings: >>> WARNING: nativesdk-libgfortran-14.1.0-r0 do_package_qa: QA Issue: File >>> /opt/.../usr/lib/.debug/libgfortran.so.5.0.0 in package >>> nativesdk-libgfortran-dbg contains reference to TMPDIR [buildpaths] >>> WARNING: libgfortran-14.1.0-r0 do_package_qa: QA Issue: File >>> /usr/lib/.debug/libgfortran.so.5.0.0 in package libgfortran-dbg >>> contains reference to TMPDIR [buildpaths] >>> which I guess were already there. >>> >>> On Wed, Jun 19, 2024 at 3:24 PM Martin Jansa via >>> lists.openembedded.org <martin.jansa=gmail.com@lists.openembedded.org> >>> wrote: >>>> Something seems wrong with this change which was merged today, now with: >>>> MACHINE=qemuarm64 >>>> FORTRAN:forcevariable = ",fortran" >>>> >>>> I'm seeing: >>>> build/oe-core $ bitbake -g nativesdk-libgfortran >>>> NOTE: Resolving any missing task queue dependencies >>>> ERROR: Nothing PROVIDES 'gcc-cross-x86_64' (but >>>> virtual:nativesdk:/OE/build/oe-core/openembedded-core/meta/recipes-devtools/gcc/libgfortran_14.1.bb >>>> DEPENDS on or otherwise requires it). Close matches: >>>> gcc-cross-aarch64 >>>> ... >>>> >>>> This might have been broken even before this change, but now it got >>>> included in dependency tree of nativesdk-gcc (as shown in bitbake -g >>>> nativesdk-gcc now failing when host and target arch don't match): >>>> >>>> "nativesdk-gcc.do_package_qa" -> "nativesdk-libgfortran.do_packagedata" >>>> nativesdk-gcc.do_package_write_ipk" -> "nativesdk-libgfortran.do_packagedata" >>>> >>>> Missing or unbuildable dependency chain was: ['image', >>>> 'nativesdk-packagegroup-sdk-host', 'nativesdk-lcov', >>>> 'nativesdk-gcov-symlinks', 'nativesdk-libgfortran-dev', >>>> 'gcc-cross-x86_64'] >>>> >>>> I guess the easiest fix would be in: >>>> meta/recipes-devtools/gcc/libgfortran.inc:DEPENDS = "gcc-runtime >>>> gcc-cross-${TARGET_ARCH}" >>>> but I'm not very familiar with fortran (we've enabled it long time ago >>>> to build lapack(blas) for snowboy, but wasn't actively used for couple >>>> years). >>>> >>>> Regards, >>>> >>>> >>>> >>>> On Sun, Jun 16, 2024 at 5:32 PM Kai Kang via lists.openembedded.org >>>> <kai.kang=windriver.com@lists.openembedded.org> wrote: >>>>> From: Kai Kang <kai.kang@windriver.com> >>>>> >>>>> It fails to run both `gcc` and `gfortran` with errors: >>>>> >>>>> | root@qemux86-64:~# x86_64-poky-linux-gcc a.c >>>>> | x86_64-poky-linux-gcc: fatal error: cannot execute 'as': posix_spawnp: No such file or directory >>>>> >>>>> then add binutils which provides `as` to RDEPENDS of gcc. >>>>> >>>>> libgfortran-dev provides libgfortran.spec which required by gfortran: >>>>> >>>>> | root@qemux86-64:~# gfortran hello.f95 >>>>> | gfortran: fatal error: cannot read spec file 'libgfortran.spec': No such file or directory >>>>> >>>>> And gcc provides liblto_plugin.so: >>>>> >>>>> | root@qemux86-64:~# gfortran hello.f95 >>>>> | gfortran: fatal error: '-fuse-linker-plugin', but liblto_plugin.so not found >>>>> >>>>> Signed-off-by: Kai Kang <kai.kang@windriver.com> >>>>> --- >>>>> meta/recipes-devtools/gcc/gcc-target.inc | 9 +++++++-- >>>>> 1 file changed, 7 insertions(+), 2 deletions(-) >>>>> >>>>> diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc >>>>> index 8e9693b4cb..e9187fc444 100644 >>>>> --- a/meta/recipes-devtools/gcc/gcc-target.inc >>>>> +++ b/meta/recipes-devtools/gcc/gcc-target.inc >>>>> @@ -33,7 +33,7 @@ PACKAGES = "\ >>>>> ${PN} ${PN}-plugins ${PN}-symlinks \ >>>>> g++ g++-symlinks \ >>>>> cpp cpp-symlinks \ >>>>> - gfortran gfortran-symlinks \ >>>>> + ${@bb.utils.contains('FORTRAN', ',fortran', 'gfortran gfortran-symlinks', '', d)} \ >>>>> gcov gcov-symlinks \ >>>>> ${PN}-doc \ >>>>> ${PN}-dev \ >>>>> @@ -60,7 +60,7 @@ RRECOMMENDS:${PN} += "\ >>>>> libssp \ >>>>> libssp-dev \ >>>>> " >>>>> -RDEPENDS:${PN} += "cpp" >>>>> +RDEPENDS:${PN} += "binutils cpp" >>>>> >>>>> FILES:${PN}-dev = "\ >>>>> ${gcclibdir}/${TARGET_SYS}/${BINV}/lib*${SOLIBSDEV} \ >>>>> @@ -80,10 +80,15 @@ FILES:${PN}-plugins = "\ >>>>> " >>>>> ALLOW_EMPTY:${PN}-plugins = "1" >>>>> >>>>> +INSANE_SKIP:${MLPREFIX}gfortran += "dev-deps" >>>>> FILES:gfortran = "\ >>>>> ${bindir}/${TARGET_PREFIX}gfortran \ >>>>> ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f951 \ >>>>> " >>>>> +RDEPENDS:gfortran = "\ >>>>> + gcc \ >>>>> + libgfortran-dev \ >>>>> +" >>>>> RRECOMMENDS:gfortran = "\ >>>>> libquadmath \ >>>>> libquadmath-dev \ >>>>> -- >>>>> 2.34.1 >>>>> >>>>> >>>>> >>>>> >>>> -=-=-=-=-=-=-=-=-=-=-=- >>>> Links: You receive all messages sent to this group. >>>> View/Reply Online (#200913): https://lists.openembedded.org/g/openembedded-core/message/200913 >>>> Mute This Topic: https://lists.openembedded.org/mt/106704990/3617156 >>>> Group Owner: openembedded-core+owner@lists.openembedded.org >>>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [martin.jansa@gmail.com] >>>> -=-=-=-=-=-=-=-=-=-=-=- >>>> >> -- >> Kai Kang >> Wind River Linux >>
On Mon, 2024-07-15 at 18:20 +0800, Kai wrote: > On 7/15/24 17:59, Martin Jansa wrote: > > Hi Kai, > > > > are you also seeing these buildpaths warnings from libgfortran? > > These > > will be fatal since ERROR_QA update from yesterday: > > https://git.openembedded.org/openembedded-core/commit/?id=b79b191cc43a45dde2adb61ea349b426cb2461d1 > > and it probably wasn't detected in AB builds which might not enable > > fortran. > Yes, it seems exists for long time. My colleague worked on it for > several days. But it seems hard to resolve that > > host path are somehow set to the intrinsic path. > > I'll discuss with him tomorrow and check if we can fix it. We're seeing these in automated testing now too. I'm wondering if adding -ffile-prefix-map might avoid them. Sadly there are tools which don't support that option so it isn't an easy thing to add/test. Cheers, Richard
On Mon, 2024-07-15 at 11:37 +0100, Richard Purdie via lists.openembedded.org wrote: > On Mon, 2024-07-15 at 18:20 +0800, Kai wrote: > > On 7/15/24 17:59, Martin Jansa wrote: > > > Hi Kai, > > > > > > are you also seeing these buildpaths warnings from libgfortran? > > > These > > > will be fatal since ERROR_QA update from yesterday: > > > https://git.openembedded.org/openembedded-core/commit/?id=b79b191cc43a45dde2adb61ea349b426cb2461d1 > > > and it probably wasn't detected in AB builds which might not enable > > > fortran. > > Yes, it seems exists for long time. My colleague worked on it for > > several days. But it seems hard to resolve that > > > > host path are somehow set to the intrinsic path. > > > > I'll discuss with him tomorrow and check if we can fix it. > > We're seeing these in automated testing now too. > > I'm wondering if adding -ffile-prefix-map might avoid them. Sadly there > are tools which don't support that option so it isn't an easy thing to > add/test. To be clear, we saw failures in the fortran selftest however I tracked those down to the way we were calling the compiler and fixed it that way. I did try adding file-prefix-map to the compiler commandline but it didn't help. I'm not sure of the status of prefix remapping in the fortran compiler but it doesn't seem to be quite working properly. Cheers, Richard
diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc index 8e9693b4cb..e9187fc444 100644 --- a/meta/recipes-devtools/gcc/gcc-target.inc +++ b/meta/recipes-devtools/gcc/gcc-target.inc @@ -33,7 +33,7 @@ PACKAGES = "\ ${PN} ${PN}-plugins ${PN}-symlinks \ g++ g++-symlinks \ cpp cpp-symlinks \ - gfortran gfortran-symlinks \ + ${@bb.utils.contains('FORTRAN', ',fortran', 'gfortran gfortran-symlinks', '', d)} \ gcov gcov-symlinks \ ${PN}-doc \ ${PN}-dev \ @@ -60,7 +60,7 @@ RRECOMMENDS:${PN} += "\ libssp \ libssp-dev \ " -RDEPENDS:${PN} += "cpp" +RDEPENDS:${PN} += "binutils cpp" FILES:${PN}-dev = "\ ${gcclibdir}/${TARGET_SYS}/${BINV}/lib*${SOLIBSDEV} \ @@ -80,10 +80,15 @@ FILES:${PN}-plugins = "\ " ALLOW_EMPTY:${PN}-plugins = "1" +INSANE_SKIP:${MLPREFIX}gfortran += "dev-deps" FILES:gfortran = "\ ${bindir}/${TARGET_PREFIX}gfortran \ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f951 \ " +RDEPENDS:gfortran = "\ + gcc \ + libgfortran-dev \ +" RRECOMMENDS:gfortran = "\ libquadmath \ libquadmath-dev \