On Fri, May 14, 2021 at 9:25 AM Martin Jansa <[email protected]> wrote:
>
> On Fri, May 14, 2021 at 09:04:31AM -0400, Bruce Ashfield wrote:
> > On Fri, May 14, 2021 at 8:46 AM Bruce Ashfield via
> > lists.yoctoproject.org
> > <[email protected]> wrote:
> > >
> > > Thanks for the fixups.
> > >
> > > I haven't been able to spend time on any gcc11 fixes, so these are
> > > appreciated.
> > >
> > > These built for me ... so they are merged.
> > >
> > > But then I switched to a different machine on a different builder, and
> > > dev86 blew up during compilation.
> > >
> >
> > I can confirm that my second builder is consistently showing this:
> >
> > Log data follows:
> > | DEBUG: Executing shell function do_compile
> > | NOTE: make -j 16 VERSION=0.16.21 PREFIX=/usr
> > DIST=/opt/poky/build/tmp/work/core2-64-poky-linux/dev86/0.16.21+gitAUTOINC+e254e0b196-r0/image
> > LDFLAGS=-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
> > -Wl,-z,relro,-z,now make.fil
> > | make[1]: Entering directory
> > '/opt/poky/build/tmp/work/core2-64-poky-linux/dev86/0.16.21+gitAUTOINC+e254e0b196-r0/git'
> > | x86_64-poky-linux-gcc -m64 -march=core2 -mtune=core2 -msse3
> > -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2
> > -Wformat -Wformat-security -Werror=format-security -Wdate-time
> > --sysroot=/opt/poky/build/tmp/work/core2-64-poky-linux/dev86/0.16.21+gitAUTOINC+e254e0b196-r0/recipe-sysroot
> > -O -DGNUMAKE -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
> > -Wl,-z,relro,-z,now -o ifdefg ifdef.c
> > | ./ifdefg -MU makefile.in >tmp.mak
> > | /bin/sh: 1: ./ifdefg: not found
> > | make[1]: *** [Makefile:46: make.fil] Error 127
> > | make[1]: Leaving directory
> > '/opt/poky/build/tmp/work/core2-64-poky-linux/dev86/0.16.21+gitAUTOINC+e254e0b196-r0/git'
> > | make: *** [GNUmakefile:9: make.fil] Error 2
> > | ERROR: oe_runmake failed
> > | WARNING: exit code 1 from a shell command.
> > | ERROR: Execution of
> > '/opt/poky/build/tmp/work/core2-64-poky-linux/dev86/0.16.21+gitAUTOINC+e254e0b196-r0/temp/run.do_compile.30233'
> > failed with exit code 1:
> > | make[1]: Entering directory
> > '/opt/poky/build/tmp/work/core2-64-poky-linux/dev86/0.16.21+gitAUTOINC+e254e0b196-r0/git'
> > | x86_64-poky-linux-gcc -m64 -march=core2 -mtune=core2 -msse3
> > -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2
> > -Wformat -Wformat-security -Werror=format-security -Wdate-time
> > --sysroot=/opt/poky/build/tmp/work/core2-64-poky-linux/dev86/0.16.21+gitAUTOINC+e254e0b196-r0/recipe-sysroot
> > -O -DGNUMAKE -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
> > -Wl,-z,relro,-z,now -o ifdefg ifdef.c
> > | ./ifdefg -MU makefile.in >tmp.mak
> > | /bin/sh: 1: ./ifdefg: not found
> > | make[1]: *** [Makefile:46: make.fil] Error 127
> > | make[1]: Leaving directory
> > '/opt/poky/build/tmp/work/core2-64-poky-linux/dev86/0.16.21+gitAUTOINC+e254e0b196-r0/git'
> > | make: *** [GNUmakefile:9: make.fil] Error 2
> > | WARNING: exit code 1 from a shell command.
> > |
> > ERROR: Task
> > (/home/bruce/poky/meta-virtualization/recipes-extended/dev86/dev86_git.bb:do_compile)
> > failed with exit code '1'
> >
> > Does that ring a bell ? I'll dig into it now, but it is worth checking
> > to see if you ran into it during your recipe update.
>
> It didn't fail for me like this, is your other builder x86_64?
>
They are both x86-64, but one was building qemux86-64 and the other
genericx86-64 as the target.
> Either it's some race, that it tried to call ifdefg before building it for
> you (was in correct order in my build):
>
Since that helper is running on the build host, the following made it
work on my broken builder:
diff --git a/recipes-extended/dev86/dev86_git.bb
b/recipes-extended/dev86/dev86_git.bb
index 476bf38..bc68cca 100644
--- a/recipes-extended/dev86/dev86_git.bb
+++ b/recipes-extended/dev86/dev86_git.bb
@@ -19,7 +19,7 @@ EXTRA_OEMAKE = "VERSION=${BASE_PV} PREFIX=${prefix}
DIST=${D} LDFLAGS='${LDFLAGS
do_compile() {
# ${S}/Makefile does respect LDFLAGS, but ${S}/cpp/Makefile
doesn't when building bcc-cpp
sed -i 's#$(CC) $(CFLAGS) -o bcc-cpp#$(CC) $(CFLAGS)
$(LDFLAGS) -o bcc-cpp#g' ${S}/cpp/Makefile
- oe_runmake make.fil
+ CC=${BUILD_CC} oe_runmake make.fil
oe_runmake -f make.fil bcc86 as86 ld86
}
But maybe it just changed the timing, and the fix, really isn't a fix.
Bruce
> dev86/0.16.21+gitAUTOINC+e254e0b196-r0/git$ grep ifdefg ../temp/log.do_compile
> i686-webos-linux-gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse
> -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security
> -Werror=format-security -Werror=return-type
> --sysroot=/jenkins/mjansa/build/ros/webos-dashing-honister/tmp-glibc/work/qemux86-webos-linux/
> dev86/0.16.21+gitAUTOINC+e254e0b196-r0/recipe-sysroot -O -DGNUMAKE -Wl,-O1
> -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now -o ifdefg ifdef.c
> ./ifdefg -MU makefile.in >tmp.mak
>
> dev86/0.16.21+gitAUTOINC+e254e0b196-r0$ file git/ifdefg
> git/ifdefg: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV),
> dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 3.2.0,
> BuildID[sha1]=3edc52ae7ee0ef4fcd9d9148c63df9977c772780, with debug_info, not
> stripped
>
> but we should change it to call ifdefg from dev86-native anyway, let me try
> to reproduce this somehow.
>
> And looks like the older version called ifdefg the same:
>
> dev86/0.16.21-r0$ grep ifdefg temp/log.do_compile
> i686-webos-linux-gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse
> -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security
> -Werror=format-security -Werror=return-type
> --sysroot=/jenkins/mjansa/build/ros/webos-dashing-hardknott/tmp-glibc/work/qemux86-webos-linux
> /dev86/0.16.21-r0/recipe-sysroot -O -DGNUMAKE -Wl,-O1 -Wl,--hash-style=gnu
> -Wl,--as-needed -Wl,-z,relro,-z,now -o ifdefg ifdef.c
> ./ifdefg -MU makefile.in >tmp.mak
>
> > > I'm leaving the changes as-is in the tree, and we can fix them as
> > > required as new patches (I'm done mucking with history for one day;)
> > >
> > > Cheers,
> > >
> > > Bruce
> > >
> > >
> > >
> > > On Fri, May 14, 2021 at 5:52 AM Martin Jansa <[email protected]>
> > > wrote:
> > > >
> > > > Signed-off-by: Martin Jansa <[email protected]>
> > > > ---
> > > > .../0001-MyCom.h-fix-build-with-gcc-11.patch | 31 +++++++++++++++++++
> > > > recipes-extended/upx/upx_git.bb | 4 ++-
> > > > 2 files changed, 34 insertions(+), 1 deletion(-)
> > > > create mode 100644
> > > > recipes-extended/upx/upx/0001-MyCom.h-fix-build-with-gcc-11.patch
> > > >
> > > > diff --git
> > > > a/recipes-extended/upx/upx/0001-MyCom.h-fix-build-with-gcc-11.patch
> > > > b/recipes-extended/upx/upx/0001-MyCom.h-fix-build-with-gcc-11.patch
> > > > new file mode 100644
> > > > index 0000000..8b07c77
> > > > --- /dev/null
> > > > +++ b/recipes-extended/upx/upx/0001-MyCom.h-fix-build-with-gcc-11.patch
> > > > @@ -0,0 +1,31 @@
> > > > +From 8fe8cd22163fe11b791aac15b642d122ea98b9b5 Mon Sep 17 00:00:00 2001
> > > > +From: Martin Jansa <[email protected]>
> > > > +Date: Fri, 14 May 2021 02:26:13 -0700
> > > > +Subject: [PATCH] MyCom.h: fix build with gcc-11
> > > > +
> > > > +* fixes:
> > > > + ./../src/lzma-sdk/C/7zip/Compress/LZMA/LZMAEncoder.h: In member
> > > > function 'virtual ULONG NCompress::NLZMA::CEncoder::Release()':
> > > > +
> > > > ./../src/lzma-sdk/C/7zip/Compress/LZMA/../../../Common/MyCom.h:159:32:
> > > > error: this 'if' clause does not guard...
> > > > [-Werror=misleading-indentation]
> > > > + 159 | STDMETHOD_(ULONG, Release)() { if (--__m_RefCount != 0) \
> > > > + | ^~
> > > > +
> > > > +Upstream-Status: Submitted [https://github.com/upx/upx-lzma-sdk/pull/5]
> > > > +Signed-off-by: Martin Jansa <[email protected]>
> > > > +---
> > > > + C/Common/MyCom.h | 3 +--
> > > > + 1 file changed, 1 insertion(+), 2 deletions(-)
> > > > +
> > > > +diff --git a/C/Common/MyCom.h b/C/Common/MyCom.h
> > > > +index b8dbf38..2e3c54a 100644
> > > > +--- a/C/Common/MyCom.h
> > > > ++++ b/C/Common/MyCom.h
> > > > +@@ -156,8 +156,7 @@ public:
> > > > +
> > > > + #define MY_ADDREF_RELEASE \
> > > > + STDMETHOD_(ULONG, AddRef)() { return ++__m_RefCount; } \
> > > > +-STDMETHOD_(ULONG, Release)() { if (--__m_RefCount != 0) \
> > > > +- return __m_RefCount; delete this; return 0; }
> > > > ++STDMETHOD_(ULONG, Release)() { if (--__m_RefCount != 0) return
> > > > __m_RefCount; delete this; return 0; }
> > > > +
> > > > + #define MY_UNKNOWN_IMP_SPEC(i) \
> > > > + MY_QUERYINTERFACE_BEGIN \
> > > > diff --git a/recipes-extended/upx/upx_git.bb
> > > > b/recipes-extended/upx/upx_git.bb
> > > > index b77e658..96d2e99 100644
> > > > --- a/recipes-extended/upx/upx_git.bb
> > > > +++ b/recipes-extended/upx/upx_git.bb
> > > > @@ -2,7 +2,9 @@ HOMEPAGE = "http://upx.sourceforge.net"
> > > > SUMMARY = "Ultimate executable compressor."
> > > >
> > > > SRCREV = "4e1ae22a1a07be5135c68b25ff05058ae8ae48e1"
> > > > -SRC_URI = "gitsm://github.com/upx/upx;branch=devel"
> > > > +SRC_URI = "gitsm://github.com/upx/upx;branch=devel \
> > > > +
> > > > file://0001-MyCom.h-fix-build-with-gcc-11.patch;patchdir=src/lzma-sdk \
> > > > +"
> > > >
> > > > LICENSE = "GPLv2"
> > > > LIC_FILES_CHKSUM =
> > > > "file://LICENSE;md5=353753597aa110e0ded3508408c6374a"
> > > > --
> > > > 2.30.2
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > - Thou shalt not follow the NULL pointer, for chaos and madness await
> > > thee at its end
> > > - "Use the force Harry" - Gandalf, Star Trek II
> > >
> > >
> > >
> >
> >
> > --
> > - Thou shalt not follow the NULL pointer, for chaos and madness await
> > thee at its end
> > - "Use the force Harry" - Gandalf, Star Trek II
--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#6522):
https://lists.yoctoproject.org/g/meta-virtualization/message/6522
Mute This Topic: https://lists.yoctoproject.org/mt/82820498/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-