Message ID | 20240704123452.3535612-2-heiko.thiery@gmail.com |
---|---|
State | Changes Requested |
Headers | show |
Series | package/ccache: bump version | expand |
Hi Heiko, On 04/07/2024 14:34, Heiko Thiery wrote: > This package is used and required for ccache update. > > Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> > --- > > v2: > - on change > > v3: > - fix BLAKE3_LICENSE_FILES and corresponding hash values > > > DEVELOPERS | 1 + > package/blake3/blake3.hash | 3 +++ > package/blake3/blake3.mk | 20 ++++++++++++++++++++ > 3 files changed, 24 insertions(+) > create mode 100644 package/blake3/blake3.hash > create mode 100644 package/blake3/blake3.mk > > diff --git a/DEVELOPERS b/DEVELOPERS > index 90d1a111ab..46fe3cd2e1 100644 > --- a/DEVELOPERS > +++ b/DEVELOPERS > @@ -1359,6 +1359,7 @@ F: configs/kontron_bl_imx8mm_defconfig > F: configs/kontron_smarc_sal28_defconfig > F: configs/kontron_pitx_imx8m_defconfig > F: package/altera-stapl/ > +F: package/blake3/ > F: package/ipmitool/ > F: package/libnetconf2/ > F: package/libyang/ > diff --git a/package/blake3/blake3.hash b/package/blake3/blake3.hash > new file mode 100644 > index 0000000000..2a00d19b02 > --- /dev/null > +++ b/package/blake3/blake3.hash > @@ -0,0 +1,3 @@ > +# sha256 computed locally > +sha256 822cd37f70152e5985433d2c50c8f6b2ec83aaf11aa31be9fe71486a91744f37 blake3-1.5.1.tar.gz > +sha256 6a94bedb8b707ed97f6e310d0d015ab14e0683ffa0a612b02958581b9cc9fc0e LICENSE > diff --git a/package/blake3/blake3.mk b/package/blake3/blake3.mk > new file mode 100644 > index 0000000000..76e4e32e7a > --- /dev/null > +++ b/package/blake3/blake3.mk > @@ -0,0 +1,20 @@ > +################################################################################ > +# > +# blake3 > +# > +################################################################################ > + > +BLAKE3_VERSION = 1.5.1 > +BLAKE3_SITE = $(call github,BLAKE3-team,BLAKE3,refs/tags/$(BLAKE3_VERSION)) Why do you put the refs/tags here? It was necessary in one or two packages because of a conflict with a branch name, but I don't think that's the case here. I admit that there's a certain elegance to making it explicit that we want a tag, but then we really should be doing that everywhere... > +BLAKE3_SUBDIR = c > +BLAKE3_LICENSE = Apache-2.0, CC0-1.0 > +BLAKE3_LICENSE_FILES = LICENSE > + > +# We may be a ccache dependency, so we can't use ccache; reset the > +# options set by the cmake infra. > +HOST_BLAKE3_CONF_OPTS += \ > + -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)" \ Why is this needed? And is it even a good idea? In pkg-cmake, this is defined as -DCMAKE_ASM_COMPILER="$$(HOSTAS)", and HOSTAS is simply "as" without any ccache. In fact, this changes it from "as" to "gcc" which I expect is not correct at all... Since you said you could respin this weekend, I will mark as Changes Requested, but it's possible that your respin only has some commit message changes of course. Regards, Arnout > + -UCMAKE_C_COMPILER_LAUNCHER \ > + -UCMAKE_CXX_COMPILER_LAUNCHER > + > +$(eval $(host-cmake-package))
Hi, Am Fr., 12. Juli 2024 um 10:38 Uhr schrieb Arnout Vandecappelle <arnout@mind.be>: > > Hi Heiko, > > On 04/07/2024 14:34, Heiko Thiery wrote: > > This package is used and required for ccache update. > > > > Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> > > --- > > > > v2: > > - on change > > > > v3: > > - fix BLAKE3_LICENSE_FILES and corresponding hash values > > > > > > DEVELOPERS | 1 + > > package/blake3/blake3.hash | 3 +++ > > package/blake3/blake3.mk | 20 ++++++++++++++++++++ > > 3 files changed, 24 insertions(+) > > create mode 100644 package/blake3/blake3.hash > > create mode 100644 package/blake3/blake3.mk > > > > diff --git a/DEVELOPERS b/DEVELOPERS > > index 90d1a111ab..46fe3cd2e1 100644 > > --- a/DEVELOPERS > > +++ b/DEVELOPERS > > @@ -1359,6 +1359,7 @@ F: configs/kontron_bl_imx8mm_defconfig > > F: configs/kontron_smarc_sal28_defconfig > > F: configs/kontron_pitx_imx8m_defconfig > > F: package/altera-stapl/ > > +F: package/blake3/ > > F: package/ipmitool/ > > F: package/libnetconf2/ > > F: package/libyang/ > > diff --git a/package/blake3/blake3.hash b/package/blake3/blake3.hash > > new file mode 100644 > > index 0000000000..2a00d19b02 > > --- /dev/null > > +++ b/package/blake3/blake3.hash > > @@ -0,0 +1,3 @@ > > +# sha256 computed locally > > +sha256 822cd37f70152e5985433d2c50c8f6b2ec83aaf11aa31be9fe71486a91744f37 blake3-1.5.1.tar.gz > > +sha256 6a94bedb8b707ed97f6e310d0d015ab14e0683ffa0a612b02958581b9cc9fc0e LICENSE > > diff --git a/package/blake3/blake3.mk b/package/blake3/blake3.mk > > new file mode 100644 > > index 0000000000..76e4e32e7a > > --- /dev/null > > +++ b/package/blake3/blake3.mk > > @@ -0,0 +1,20 @@ > > +################################################################################ > > +# > > +# blake3 > > +# > > +################################################################################ > > + > > +BLAKE3_VERSION = 1.5.1 > > +BLAKE3_SITE = $(call github,BLAKE3-team,BLAKE3,refs/tags/$(BLAKE3_VERSION)) > > Why do you put the refs/tags here? It was necessary in one or two packages > because of a conflict with a branch name, but I don't think that's the case > here. I admit that there's a certain elegance to making it explicit that we want > a tag, but then we really should be doing that everywhere... > > > > +BLAKE3_SUBDIR = c > > +BLAKE3_LICENSE = Apache-2.0, CC0-1.0 > > +BLAKE3_LICENSE_FILES = LICENSE > > + > > +# We may be a ccache dependency, so we can't use ccache; reset the > > +# options set by the cmake infra. > > +HOST_BLAKE3_CONF_OPTS += \ > > + -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)" \ > > Why is this needed? And is it even a good idea? In pkg-cmake, this is defined > as -DCMAKE_ASM_COMPILER="$$(HOSTAS)", and HOSTAS is simply "as" without any > ccache. In fact, this changes it from "as" to "gcc" which I expect is not > correct at all... > > Since you said you could respin this weekend, I will mark as Changes > Requested, but it's possible that your respin only has some commit message > changes of course. ok, I will recheck the things you mentioned and come back with info/respin at the weekend. Thanks -- Heiko > > Regards, > Arnout > > > + -UCMAKE_C_COMPILER_LAUNCHER \ > > + -UCMAKE_CXX_COMPILER_LAUNCHER > > + > > +$(eval $(host-cmake-package))
Hi Arnout, Am Fr., 12. Juli 2024 um 10:38 Uhr schrieb Arnout Vandecappelle <arnout@mind.be>: > > Hi Heiko, > > On 04/07/2024 14:34, Heiko Thiery wrote: > > This package is used and required for ccache update. > > > > Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> > > --- > > > > v2: > > - on change > > > > v3: > > - fix BLAKE3_LICENSE_FILES and corresponding hash values > > > > > > DEVELOPERS | 1 + > > package/blake3/blake3.hash | 3 +++ > > package/blake3/blake3.mk | 20 ++++++++++++++++++++ > > 3 files changed, 24 insertions(+) > > create mode 100644 package/blake3/blake3.hash > > create mode 100644 package/blake3/blake3.mk > > > > diff --git a/DEVELOPERS b/DEVELOPERS > > index 90d1a111ab..46fe3cd2e1 100644 > > --- a/DEVELOPERS > > +++ b/DEVELOPERS > > @@ -1359,6 +1359,7 @@ F: configs/kontron_bl_imx8mm_defconfig > > F: configs/kontron_smarc_sal28_defconfig > > F: configs/kontron_pitx_imx8m_defconfig > > F: package/altera-stapl/ > > +F: package/blake3/ > > F: package/ipmitool/ > > F: package/libnetconf2/ > > F: package/libyang/ > > diff --git a/package/blake3/blake3.hash b/package/blake3/blake3.hash > > new file mode 100644 > > index 0000000000..2a00d19b02 > > --- /dev/null > > +++ b/package/blake3/blake3.hash > > @@ -0,0 +1,3 @@ > > +# sha256 computed locally > > +sha256 822cd37f70152e5985433d2c50c8f6b2ec83aaf11aa31be9fe71486a91744f37 blake3-1.5.1.tar.gz > > +sha256 6a94bedb8b707ed97f6e310d0d015ab14e0683ffa0a612b02958581b9cc9fc0e LICENSE > > diff --git a/package/blake3/blake3.mk b/package/blake3/blake3.mk > > new file mode 100644 > > index 0000000000..76e4e32e7a > > --- /dev/null > > +++ b/package/blake3/blake3.mk > > @@ -0,0 +1,20 @@ > > +################################################################################ > > +# > > +# blake3 > > +# > > +################################################################################ > > + > > +BLAKE3_VERSION = 1.5.1 > > +BLAKE3_SITE = $(call github,BLAKE3-team,BLAKE3,refs/tags/$(BLAKE3_VERSION)) > > Why do you put the refs/tags here? It was necessary in one or two packages > because of a conflict with a branch name, but I don't think that's the case > here. I admit that there's a certain elegance to making it explicit that we want > a tag, but then we really should be doing that everywhere... You are right. I changed it to: BLAKE3_SITE = $(call github,BLAKE3-team,BLAKE3,$(BLAKE3_VERSION)) I think this is what you expect. > > > +BLAKE3_SUBDIR = c > > +BLAKE3_LICENSE = Apache-2.0, CC0-1.0 > > +BLAKE3_LICENSE_FILES = LICENSE > > + > > +# We may be a ccache dependency, so we can't use ccache; reset the > > +# options set by the cmake infra. > > +HOST_BLAKE3_CONF_OPTS += \ > > + -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)" \ > > Why is this needed? And is it even a good idea? In pkg-cmake, this is defined > as -DCMAKE_ASM_COMPILER="$$(HOSTAS)", and HOSTAS is simply "as" without any > ccache. In fact, this changes it from "as" to "gcc" which I expect is not > correct at all... When not defining that I got the errror: [ 25%] Building C object CMakeFiles/blake3.dir/blake3_portable.c.o [ 37%] Building ASM object CMakeFiles/blake3.dir/blake3_avx2_x86-64_unix.S.o [ 50%] Building C object CMakeFiles/blake3.dir/blake3_dispatch.c.o Assembler messages: Fatal error: bad defsym; format is --defsym name=value make[3]: *** [CMakeFiles/blake3.dir/build.make:117: CMakeFiles/blake3.dir/blake3_avx2_x86-64_unix.S.o] Error 1 make[3]: *** Waiting for unfinished jobs.... [ 62%] Building ASM object CMakeFiles/blake3.dir/blake3_avx512_x86-64_unix.S.o Assembler messages: Fatal error: bad defsym; format is --defsym name=value make[3]: *** [CMakeFiles/blake3.dir/build.make:130: CMakeFiles/blake3.dir/blake3_avx512_x86-64_unix.S.o] Error 1 make[3]: Leaving directory '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' make[2]: *** [CMakeFiles/Makefile2:83: CMakeFiles/blake3.dir/all] Error 2 make[2]: Leaving directory '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' make[1]: *** [Makefile:136: all] Error 2 make[1]: Leaving directory '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' make: *** [package/pkg-generic.mk:283: /home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/.stamp_built] Error 2 So when changing to use gcc instead of as it works. I tried to build on my host and see that cmake sets the var "CMAKE_ASM_COMPILER=/usr/bin/cc". When overwriting it with as it also does not build.
On 12/07/2024 21:08, Heiko Thiery wrote: > Hi Arnout, > > Am Fr., 12. Juli 2024 um 10:38 Uhr schrieb Arnout Vandecappelle > <arnout@mind.be>: >> >> Hi Heiko, >> >> On 04/07/2024 14:34, Heiko Thiery wrote: [snip] >>> +HOST_BLAKE3_CONF_OPTS += \ >>> + -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)" \ >> >> Why is this needed? And is it even a good idea? In pkg-cmake, this is defined >> as -DCMAKE_ASM_COMPILER="$$(HOSTAS)", and HOSTAS is simply "as" without any >> ccache. In fact, this changes it from "as" to "gcc" which I expect is not >> correct at all... > > When not defining that I got the errror: > > [ 25%] Building C object CMakeFiles/blake3.dir/blake3_portable.c.o > [ 37%] Building ASM object CMakeFiles/blake3.dir/blake3_avx2_x86-64_unix.S.o > [ 50%] Building C object CMakeFiles/blake3.dir/blake3_dispatch.c.o > Assembler messages: > Fatal error: bad defsym; format is --defsym name=value > make[3]: *** [CMakeFiles/blake3.dir/build.make:117: > CMakeFiles/blake3.dir/blake3_avx2_x86-64_unix.S.o] Error 1 > make[3]: *** Waiting for unfinished jobs.... > [ 62%] Building ASM object CMakeFiles/blake3.dir/blake3_avx512_x86-64_unix.S.o > Assembler messages: > Fatal error: bad defsym; format is --defsym name=value > make[3]: *** [CMakeFiles/blake3.dir/build.make:130: > CMakeFiles/blake3.dir/blake3_avx512_x86-64_unix.S.o] Error 1 > make[3]: Leaving directory > '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' > make[2]: *** [CMakeFiles/Makefile2:83: CMakeFiles/blake3.dir/all] Error 2 > make[2]: Leaving directory > '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' > make[1]: *** [Makefile:136: all] Error 2 > make[1]: Leaving directory > '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' > make: *** [package/pkg-generic.mk:283: > /home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/.stamp_built] > Error 2 > > So when changing to use gcc instead of as it works. > > I tried to build on my host and see that cmake sets the var > "CMAKE_ASM_COMPILER=/usr/bin/cc". When overwriting it with as it also > does not build. Hah, indeed, our setting of CMAKE_ASM_COMPILER is incorrect in pkg-cmake.mk. That's why it also had to be overridden in llvm.mk. Also, we don't have such a definition for the target, which makes me think that by default it just uses CMAKE_C_COMPILER (which is exactly what we want here). Could you try to remove the definition from pkg-cmake.mk and see if that works? And then also remove it in llvm.mk. In separate patches, of course. Regards, Arnout
Hi Arnout, Am Fr., 12. Juli 2024 um 21:08 Uhr schrieb Heiko Thiery <heiko.thiery@gmail.com>: > > Hi Arnout, > > Am Fr., 12. Juli 2024 um 10:38 Uhr schrieb Arnout Vandecappelle > <arnout@mind.be>: > > > > Hi Heiko, > > > > On 04/07/2024 14:34, Heiko Thiery wrote: > > > This package is used and required for ccache update. > > > > > > Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> > > > --- > > > > > > v2: > > > - on change > > > > > > v3: > > > - fix BLAKE3_LICENSE_FILES and corresponding hash values > > > > > > > > > DEVELOPERS | 1 + > > > package/blake3/blake3.hash | 3 +++ > > > package/blake3/blake3.mk | 20 ++++++++++++++++++++ > > > 3 files changed, 24 insertions(+) > > > create mode 100644 package/blake3/blake3.hash > > > create mode 100644 package/blake3/blake3.mk > > > > > > diff --git a/DEVELOPERS b/DEVELOPERS > > > index 90d1a111ab..46fe3cd2e1 100644 > > > --- a/DEVELOPERS > > > +++ b/DEVELOPERS > > > @@ -1359,6 +1359,7 @@ F: configs/kontron_bl_imx8mm_defconfig > > > F: configs/kontron_smarc_sal28_defconfig > > > F: configs/kontron_pitx_imx8m_defconfig > > > F: package/altera-stapl/ > > > +F: package/blake3/ > > > F: package/ipmitool/ > > > F: package/libnetconf2/ > > > F: package/libyang/ > > > diff --git a/package/blake3/blake3.hash b/package/blake3/blake3.hash > > > new file mode 100644 > > > index 0000000000..2a00d19b02 > > > --- /dev/null > > > +++ b/package/blake3/blake3.hash > > > @@ -0,0 +1,3 @@ > > > +# sha256 computed locally > > > +sha256 822cd37f70152e5985433d2c50c8f6b2ec83aaf11aa31be9fe71486a91744f37 blake3-1.5.1.tar.gz > > > +sha256 6a94bedb8b707ed97f6e310d0d015ab14e0683ffa0a612b02958581b9cc9fc0e LICENSE > > > diff --git a/package/blake3/blake3.mk b/package/blake3/blake3.mk > > > new file mode 100644 > > > index 0000000000..76e4e32e7a > > > --- /dev/null > > > +++ b/package/blake3/blake3.mk > > > @@ -0,0 +1,20 @@ > > > +################################################################################ > > > +# > > > +# blake3 > > > +# > > > +################################################################################ > > > + > > > +BLAKE3_VERSION = 1.5.1 > > > +BLAKE3_SITE = $(call github,BLAKE3-team,BLAKE3,refs/tags/$(BLAKE3_VERSION)) > > > > Why do you put the refs/tags here? It was necessary in one or two packages > > because of a conflict with a branch name, but I don't think that's the case > > here. I admit that there's a certain elegance to making it explicit that we want > > a tag, but then we really should be doing that everywhere... > > You are right. I changed it to: > BLAKE3_SITE = $(call github,BLAKE3-team,BLAKE3,$(BLAKE3_VERSION)) > > I think this is what you expect. > > > > > > +BLAKE3_SUBDIR = c > > > +BLAKE3_LICENSE = Apache-2.0, CC0-1.0 > > > +BLAKE3_LICENSE_FILES = LICENSE > > > + > > > +# We may be a ccache dependency, so we can't use ccache; reset the > > > +# options set by the cmake infra. > > > +HOST_BLAKE3_CONF_OPTS += \ > > > + -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)" \ > > > > Why is this needed? And is it even a good idea? In pkg-cmake, this is defined > > as -DCMAKE_ASM_COMPILER="$$(HOSTAS)", and HOSTAS is simply "as" without any > > ccache. In fact, this changes it from "as" to "gcc" which I expect is not > > correct at all... > > When not defining that I got the errror: > > [ 25%] Building C object CMakeFiles/blake3.dir/blake3_portable.c.o > [ 37%] Building ASM object CMakeFiles/blake3.dir/blake3_avx2_x86-64_unix.S.o > [ 50%] Building C object CMakeFiles/blake3.dir/blake3_dispatch.c.o > Assembler messages: > Fatal error: bad defsym; format is --defsym name=value > make[3]: *** [CMakeFiles/blake3.dir/build.make:117: > CMakeFiles/blake3.dir/blake3_avx2_x86-64_unix.S.o] Error 1 > make[3]: *** Waiting for unfinished jobs.... > [ 62%] Building ASM object CMakeFiles/blake3.dir/blake3_avx512_x86-64_unix.S.o > Assembler messages: > Fatal error: bad defsym; format is --defsym name=value > make[3]: *** [CMakeFiles/blake3.dir/build.make:130: > CMakeFiles/blake3.dir/blake3_avx512_x86-64_unix.S.o] Error 1 > make[3]: Leaving directory > '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' > make[2]: *** [CMakeFiles/Makefile2:83: CMakeFiles/blake3.dir/all] Error 2 > make[2]: Leaving directory > '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' > make[1]: *** [Makefile:136: all] Error 2 > make[1]: Leaving directory > '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' > make: *** [package/pkg-generic.mk:283: > /home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/.stamp_built] > Error 2 > > So when changing to use gcc instead of as it works. > > I tried to build on my host and see that cmake sets the var > "CMAKE_ASM_COMPILER=/usr/bin/cc". When overwriting it with as it also > does not build. But unsetting -UCMAKE_C_COMPILER_LAUNCHER and -UCMAKE_CXX_COMPILER_LAUNCHE is not required. So would remove these two lines. > > -- > Heiko > > > > > Since you said you could respin this weekend, I will mark as Changes > > Requested, but it's possible that your respin only has some commit message > > changes of course. > > > > Regards, > > Arnout > > > > > + -UCMAKE_C_COMPILER_LAUNCHER \ > > > + -UCMAKE_CXX_COMPILER_LAUNCHER > > > + > > > +$(eval $(host-cmake-package))
On 12/07/2024 21:23, Heiko Thiery wrote: > Hi Arnout, > > Am Fr., 12. Juli 2024 um 21:08 Uhr schrieb Heiko Thiery > <heiko.thiery@gmail.com>: >> >> Hi Arnout, >> >> Am Fr., 12. Juli 2024 um 10:38 Uhr schrieb Arnout Vandecappelle >> <arnout@mind.be>: >>> >>> Hi Heiko, >>> >>> On 04/07/2024 14:34, Heiko Thiery wrote: >>>> This package is used and required for ccache update. >>>> >>>> Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> >>>> --- >>>> >>>> v2: >>>> - on change >>>> >>>> v3: >>>> - fix BLAKE3_LICENSE_FILES and corresponding hash values >>>> >>>> >>>> DEVELOPERS | 1 + >>>> package/blake3/blake3.hash | 3 +++ >>>> package/blake3/blake3.mk | 20 ++++++++++++++++++++ >>>> 3 files changed, 24 insertions(+) >>>> create mode 100644 package/blake3/blake3.hash >>>> create mode 100644 package/blake3/blake3.mk >>>> >>>> diff --git a/DEVELOPERS b/DEVELOPERS >>>> index 90d1a111ab..46fe3cd2e1 100644 >>>> --- a/DEVELOPERS >>>> +++ b/DEVELOPERS >>>> @@ -1359,6 +1359,7 @@ F: configs/kontron_bl_imx8mm_defconfig >>>> F: configs/kontron_smarc_sal28_defconfig >>>> F: configs/kontron_pitx_imx8m_defconfig >>>> F: package/altera-stapl/ >>>> +F: package/blake3/ >>>> F: package/ipmitool/ >>>> F: package/libnetconf2/ >>>> F: package/libyang/ >>>> diff --git a/package/blake3/blake3.hash b/package/blake3/blake3.hash >>>> new file mode 100644 >>>> index 0000000000..2a00d19b02 >>>> --- /dev/null >>>> +++ b/package/blake3/blake3.hash >>>> @@ -0,0 +1,3 @@ >>>> +# sha256 computed locally >>>> +sha256 822cd37f70152e5985433d2c50c8f6b2ec83aaf11aa31be9fe71486a91744f37 blake3-1.5.1.tar.gz >>>> +sha256 6a94bedb8b707ed97f6e310d0d015ab14e0683ffa0a612b02958581b9cc9fc0e LICENSE >>>> diff --git a/package/blake3/blake3.mk b/package/blake3/blake3.mk >>>> new file mode 100644 >>>> index 0000000000..76e4e32e7a >>>> --- /dev/null >>>> +++ b/package/blake3/blake3.mk >>>> @@ -0,0 +1,20 @@ >>>> +################################################################################ >>>> +# >>>> +# blake3 >>>> +# >>>> +################################################################################ >>>> + >>>> +BLAKE3_VERSION = 1.5.1 >>>> +BLAKE3_SITE = $(call github,BLAKE3-team,BLAKE3,refs/tags/$(BLAKE3_VERSION)) >>> >>> Why do you put the refs/tags here? It was necessary in one or two packages >>> because of a conflict with a branch name, but I don't think that's the case >>> here. I admit that there's a certain elegance to making it explicit that we want >>> a tag, but then we really should be doing that everywhere... >> >> You are right. I changed it to: >> BLAKE3_SITE = $(call github,BLAKE3-team,BLAKE3,$(BLAKE3_VERSION)) >> >> I think this is what you expect. >> >>> >>>> +BLAKE3_SUBDIR = c >>>> +BLAKE3_LICENSE = Apache-2.0, CC0-1.0 >>>> +BLAKE3_LICENSE_FILES = LICENSE >>>> + >>>> +# We may be a ccache dependency, so we can't use ccache; reset the >>>> +# options set by the cmake infra. >>>> +HOST_BLAKE3_CONF_OPTS += \ >>>> + -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)" \ >>> >>> Why is this needed? And is it even a good idea? In pkg-cmake, this is defined >>> as -DCMAKE_ASM_COMPILER="$$(HOSTAS)", and HOSTAS is simply "as" without any >>> ccache. In fact, this changes it from "as" to "gcc" which I expect is not >>> correct at all... >> >> When not defining that I got the errror: >> >> [ 25%] Building C object CMakeFiles/blake3.dir/blake3_portable.c.o >> [ 37%] Building ASM object CMakeFiles/blake3.dir/blake3_avx2_x86-64_unix.S.o >> [ 50%] Building C object CMakeFiles/blake3.dir/blake3_dispatch.c.o >> Assembler messages: >> Fatal error: bad defsym; format is --defsym name=value >> make[3]: *** [CMakeFiles/blake3.dir/build.make:117: >> CMakeFiles/blake3.dir/blake3_avx2_x86-64_unix.S.o] Error 1 >> make[3]: *** Waiting for unfinished jobs.... >> [ 62%] Building ASM object CMakeFiles/blake3.dir/blake3_avx512_x86-64_unix.S.o >> Assembler messages: >> Fatal error: bad defsym; format is --defsym name=value >> make[3]: *** [CMakeFiles/blake3.dir/build.make:130: >> CMakeFiles/blake3.dir/blake3_avx512_x86-64_unix.S.o] Error 1 >> make[3]: Leaving directory >> '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' >> make[2]: *** [CMakeFiles/Makefile2:83: CMakeFiles/blake3.dir/all] Error 2 >> make[2]: Leaving directory >> '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' >> make[1]: *** [Makefile:136: all] Error 2 >> make[1]: Leaving directory >> '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' >> make: *** [package/pkg-generic.mk:283: >> /home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/.stamp_built] >> Error 2 >> >> So when changing to use gcc instead of as it works. >> >> I tried to build on my host and see that cmake sets the var >> "CMAKE_ASM_COMPILER=/usr/bin/cc". When overwriting it with as it also >> does not build. > > But unsetting -UCMAKE_C_COMPILER_LAUNCHER and > -UCMAKE_CXX_COMPILER_LAUNCHE is not required. So would remove these > two lines. Huh? Those two are still needed because blake3 is a dependency of ccache so you can't build it with ccache as the launcher... Regards, Arnout > >> >> -- >> Heiko >> >>> >>> Since you said you could respin this weekend, I will mark as Changes >>> Requested, but it's possible that your respin only has some commit message >>> changes of course. >>> >>> Regards, >>> Arnout >>> >>>> + -UCMAKE_C_COMPILER_LAUNCHER \ >>>> + -UCMAKE_CXX_COMPILER_LAUNCHER >>>> + >>>> +$(eval $(host-cmake-package))
Am Fr., 12. Juli 2024 um 21:56 Uhr schrieb Arnout Vandecappelle <arnout@mind.be>: > > > > On 12/07/2024 21:23, Heiko Thiery wrote: > > Hi Arnout, > > > > Am Fr., 12. Juli 2024 um 21:08 Uhr schrieb Heiko Thiery > > <heiko.thiery@gmail.com>: > >> > >> Hi Arnout, > >> > >> Am Fr., 12. Juli 2024 um 10:38 Uhr schrieb Arnout Vandecappelle > >> <arnout@mind.be>: > >>> > >>> Hi Heiko, > >>> > >>> On 04/07/2024 14:34, Heiko Thiery wrote: > >>>> This package is used and required for ccache update. > >>>> > >>>> Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> > >>>> --- > >>>> > >>>> v2: > >>>> - on change > >>>> > >>>> v3: > >>>> - fix BLAKE3_LICENSE_FILES and corresponding hash values > >>>> > >>>> > >>>> DEVELOPERS | 1 + > >>>> package/blake3/blake3.hash | 3 +++ > >>>> package/blake3/blake3.mk | 20 ++++++++++++++++++++ > >>>> 3 files changed, 24 insertions(+) > >>>> create mode 100644 package/blake3/blake3.hash > >>>> create mode 100644 package/blake3/blake3.mk > >>>> > >>>> diff --git a/DEVELOPERS b/DEVELOPERS > >>>> index 90d1a111ab..46fe3cd2e1 100644 > >>>> --- a/DEVELOPERS > >>>> +++ b/DEVELOPERS > >>>> @@ -1359,6 +1359,7 @@ F: configs/kontron_bl_imx8mm_defconfig > >>>> F: configs/kontron_smarc_sal28_defconfig > >>>> F: configs/kontron_pitx_imx8m_defconfig > >>>> F: package/altera-stapl/ > >>>> +F: package/blake3/ > >>>> F: package/ipmitool/ > >>>> F: package/libnetconf2/ > >>>> F: package/libyang/ > >>>> diff --git a/package/blake3/blake3.hash b/package/blake3/blake3.hash > >>>> new file mode 100644 > >>>> index 0000000000..2a00d19b02 > >>>> --- /dev/null > >>>> +++ b/package/blake3/blake3.hash > >>>> @@ -0,0 +1,3 @@ > >>>> +# sha256 computed locally > >>>> +sha256 822cd37f70152e5985433d2c50c8f6b2ec83aaf11aa31be9fe71486a91744f37 blake3-1.5.1.tar.gz > >>>> +sha256 6a94bedb8b707ed97f6e310d0d015ab14e0683ffa0a612b02958581b9cc9fc0e LICENSE > >>>> diff --git a/package/blake3/blake3.mk b/package/blake3/blake3.mk > >>>> new file mode 100644 > >>>> index 0000000000..76e4e32e7a > >>>> --- /dev/null > >>>> +++ b/package/blake3/blake3.mk > >>>> @@ -0,0 +1,20 @@ > >>>> +################################################################################ > >>>> +# > >>>> +# blake3 > >>>> +# > >>>> +################################################################################ > >>>> + > >>>> +BLAKE3_VERSION = 1.5.1 > >>>> +BLAKE3_SITE = $(call github,BLAKE3-team,BLAKE3,refs/tags/$(BLAKE3_VERSION)) > >>> > >>> Why do you put the refs/tags here? It was necessary in one or two packages > >>> because of a conflict with a branch name, but I don't think that's the case > >>> here. I admit that there's a certain elegance to making it explicit that we want > >>> a tag, but then we really should be doing that everywhere... > >> > >> You are right. I changed it to: > >> BLAKE3_SITE = $(call github,BLAKE3-team,BLAKE3,$(BLAKE3_VERSION)) > >> > >> I think this is what you expect. > >> > >>> > >>>> +BLAKE3_SUBDIR = c > >>>> +BLAKE3_LICENSE = Apache-2.0, CC0-1.0 > >>>> +BLAKE3_LICENSE_FILES = LICENSE > >>>> + > >>>> +# We may be a ccache dependency, so we can't use ccache; reset the > >>>> +# options set by the cmake infra. > >>>> +HOST_BLAKE3_CONF_OPTS += \ > >>>> + -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)" \ > >>> > >>> Why is this needed? And is it even a good idea? In pkg-cmake, this is defined > >>> as -DCMAKE_ASM_COMPILER="$$(HOSTAS)", and HOSTAS is simply "as" without any > >>> ccache. In fact, this changes it from "as" to "gcc" which I expect is not > >>> correct at all... > >> > >> When not defining that I got the errror: > >> > >> [ 25%] Building C object CMakeFiles/blake3.dir/blake3_portable.c.o > >> [ 37%] Building ASM object CMakeFiles/blake3.dir/blake3_avx2_x86-64_unix.S.o > >> [ 50%] Building C object CMakeFiles/blake3.dir/blake3_dispatch.c.o > >> Assembler messages: > >> Fatal error: bad defsym; format is --defsym name=value > >> make[3]: *** [CMakeFiles/blake3.dir/build.make:117: > >> CMakeFiles/blake3.dir/blake3_avx2_x86-64_unix.S.o] Error 1 > >> make[3]: *** Waiting for unfinished jobs.... > >> [ 62%] Building ASM object CMakeFiles/blake3.dir/blake3_avx512_x86-64_unix.S.o > >> Assembler messages: > >> Fatal error: bad defsym; format is --defsym name=value > >> make[3]: *** [CMakeFiles/blake3.dir/build.make:130: > >> CMakeFiles/blake3.dir/blake3_avx512_x86-64_unix.S.o] Error 1 > >> make[3]: Leaving directory > >> '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' > >> make[2]: *** [CMakeFiles/Makefile2:83: CMakeFiles/blake3.dir/all] Error 2 > >> make[2]: Leaving directory > >> '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' > >> make[1]: *** [Makefile:136: all] Error 2 > >> make[1]: Leaving directory > >> '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' > >> make: *** [package/pkg-generic.mk:283: > >> /home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/.stamp_built] > >> Error 2 > >> > >> So when changing to use gcc instead of as it works. > >> > >> I tried to build on my host and see that cmake sets the var > >> "CMAKE_ASM_COMPILER=/usr/bin/cc". When overwriting it with as it also > >> does not build. > > > > But unsetting -UCMAKE_C_COMPILER_LAUNCHER and > > -UCMAKE_CXX_COMPILER_LAUNCHE is not required. So would remove these > > two lines. > > Huh? Those two are still needed because blake3 is a dependency of ccache so > you can't build it with ccache as the launcher... Ah yes .. I just build host-blake3 without ccache enabled for testing my changes. So I will retest that ;-/ Thanks > > Regards, > Arnout > > > > >> > >> -- > >> Heiko > >> > >>> > >>> Since you said you could respin this weekend, I will mark as Changes > >>> Requested, but it's possible that your respin only has some commit message > >>> changes of course. > >>> > >>> Regards, > >>> Arnout > >>> > >>>> + -UCMAKE_C_COMPILER_LAUNCHER \ > >>>> + -UCMAKE_CXX_COMPILER_LAUNCHER > >>>> + > >>>> +$(eval $(host-cmake-package))
Hi, Am Fr., 12. Juli 2024 um 21:21 Uhr schrieb Arnout Vandecappelle <arnout@mind.be>: > > > > On 12/07/2024 21:08, Heiko Thiery wrote: > > Hi Arnout, > > > > Am Fr., 12. Juli 2024 um 10:38 Uhr schrieb Arnout Vandecappelle > > <arnout@mind.be>: > >> > >> Hi Heiko, > >> > >> On 04/07/2024 14:34, Heiko Thiery wrote: > [snip] > > >>> +HOST_BLAKE3_CONF_OPTS += \ > >>> + -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)" \ > >> > >> Why is this needed? And is it even a good idea? In pkg-cmake, this is defined > >> as -DCMAKE_ASM_COMPILER="$$(HOSTAS)", and HOSTAS is simply "as" without any > >> ccache. In fact, this changes it from "as" to "gcc" which I expect is not > >> correct at all... > > > > When not defining that I got the errror: > > > > [ 25%] Building C object CMakeFiles/blake3.dir/blake3_portable.c.o > > [ 37%] Building ASM object CMakeFiles/blake3.dir/blake3_avx2_x86-64_unix.S.o > > [ 50%] Building C object CMakeFiles/blake3.dir/blake3_dispatch.c.o > > Assembler messages: > > Fatal error: bad defsym; format is --defsym name=value > > make[3]: *** [CMakeFiles/blake3.dir/build.make:117: > > CMakeFiles/blake3.dir/blake3_avx2_x86-64_unix.S.o] Error 1 > > make[3]: *** Waiting for unfinished jobs.... > > [ 62%] Building ASM object CMakeFiles/blake3.dir/blake3_avx512_x86-64_unix.S.o > > Assembler messages: > > Fatal error: bad defsym; format is --defsym name=value > > make[3]: *** [CMakeFiles/blake3.dir/build.make:130: > > CMakeFiles/blake3.dir/blake3_avx512_x86-64_unix.S.o] Error 1 > > make[3]: Leaving directory > > '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' > > make[2]: *** [CMakeFiles/Makefile2:83: CMakeFiles/blake3.dir/all] Error 2 > > make[2]: Leaving directory > > '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' > > make[1]: *** [Makefile:136: all] Error 2 > > make[1]: Leaving directory > > '/home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/c' > > make: *** [package/pkg-generic.mk:283: > > /home/hthiery/sources/mainline/buildroot/output/build/host-blake3-1.5.1/.stamp_built] > > Error 2 > > > > So when changing to use gcc instead of as it works. > > > > I tried to build on my host and see that cmake sets the var > > "CMAKE_ASM_COMPILER=/usr/bin/cc". When overwriting it with as it also > > does not build. > > Hah, indeed, our setting of CMAKE_ASM_COMPILER is incorrect in pkg-cmake.mk. > That's why it also had to be overridden in llvm.mk. Also, we don't have such a > definition for the target, which makes me think that by default it just uses > CMAKE_C_COMPILER (which is exactly what we want here). > > Could you try to remove the definition from pkg-cmake.mk and see if that > works? And then also remove it in llvm.mk. In separate patches, of course. Indeed, when removing the CMAKE_ASM_COMPILER from pkg-cmake.pkg the blake3 and llvm package build without the need of setting ASM to gcc. I will create a patch for that (pkg-cmake and llvm). But only i can't explain exactly why the setting in pkg-cmake is wrong. it would be good if you could improve the commit message accordingly.
diff --git a/DEVELOPERS b/DEVELOPERS index 90d1a111ab..46fe3cd2e1 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1359,6 +1359,7 @@ F: configs/kontron_bl_imx8mm_defconfig F: configs/kontron_smarc_sal28_defconfig F: configs/kontron_pitx_imx8m_defconfig F: package/altera-stapl/ +F: package/blake3/ F: package/ipmitool/ F: package/libnetconf2/ F: package/libyang/ diff --git a/package/blake3/blake3.hash b/package/blake3/blake3.hash new file mode 100644 index 0000000000..2a00d19b02 --- /dev/null +++ b/package/blake3/blake3.hash @@ -0,0 +1,3 @@ +# sha256 computed locally +sha256 822cd37f70152e5985433d2c50c8f6b2ec83aaf11aa31be9fe71486a91744f37 blake3-1.5.1.tar.gz +sha256 6a94bedb8b707ed97f6e310d0d015ab14e0683ffa0a612b02958581b9cc9fc0e LICENSE diff --git a/package/blake3/blake3.mk b/package/blake3/blake3.mk new file mode 100644 index 0000000000..76e4e32e7a --- /dev/null +++ b/package/blake3/blake3.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# blake3 +# +################################################################################ + +BLAKE3_VERSION = 1.5.1 +BLAKE3_SITE = $(call github,BLAKE3-team,BLAKE3,refs/tags/$(BLAKE3_VERSION)) +BLAKE3_SUBDIR = c +BLAKE3_LICENSE = Apache-2.0, CC0-1.0 +BLAKE3_LICENSE_FILES = LICENSE + +# We may be a ccache dependency, so we can't use ccache; reset the +# options set by the cmake infra. +HOST_BLAKE3_CONF_OPTS += \ + -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)" \ + -UCMAKE_C_COMPILER_LAUNCHER \ + -UCMAKE_CXX_COMPILER_LAUNCHER + +$(eval $(host-cmake-package))
This package is used and required for ccache update. Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> --- v2: - on change v3: - fix BLAKE3_LICENSE_FILES and corresponding hash values DEVELOPERS | 1 + package/blake3/blake3.hash | 3 +++ package/blake3/blake3.mk | 20 ++++++++++++++++++++ 3 files changed, 24 insertions(+) create mode 100644 package/blake3/blake3.hash create mode 100644 package/blake3/blake3.mk