Message ID | 20240402054947.10487-1-f_l_k@t-online.de |
---|---|
State | New |
Headers | show |
Series | [meta-oe,PATCHv2] libjxl: add recipe | expand |
I'm seeing build failure in 32bit arm builds (with multilib): lib32-libjxl/0.10.2/recipe-sysroot-native/usr/lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/13.2.0/include/arm_neon.h:7526:1: error: inlining failed in call to 'always_inline' 'float32x4_t vcvt_f32_f16(float16x4_t)': target specific option mismatch 7526 | vcvt_f32_f16 (float16x4_t __a) | ^~~~~~~~~~~~ In file included from TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-libjxl/0.10.2/git/third_party/skcms/skcms.cc:2315: TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-libjxl/0.10.2/git/third_party/skcms/src/Transform_inl.h:155:24: note: called from here 155 | return vcvt_f32_f16((float16x4_t)half); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ should I try to reproduce on some publicly available arm MACHINE (like qemuarm) or is someone else seeing this as well? On Tue, Apr 2, 2024 at 7:50 AM Markus Volk <f_l_k@t-online.de> wrote: > > Import this recipe from meta-wayland, because it is a prerequisite > for the Gnome desktop. The recently updated gnome-backgrounds package > has converted most of the backgrounds to jxl and to keep them usable > the gdk-pixbuf-loader for jpegxl must be provided. This is included > in the libjxl package itself. > > Signed-off-by: Markus Volk <f_l_k@t-online.de> > --- > .../libjxl/libjxl_2.10.0.bb | 42 +++++++++++++++++++ > 1 file changed, 42 insertions(+) > create mode 100644 meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb > > diff --git a/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb > new file mode 100644 > index 000000000..0c4f79fdb > --- /dev/null > +++ b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb > @@ -0,0 +1,42 @@ > +SUMMARY = "Reference implementation of JPEG XL (encoder and decoder)" > +HOMEPAGE = "https://github.com/libjxl/libjxl/" > + > +LICENSE = "BSD-3-Clause" > +LIC_FILES_CHKSUM = "file://LICENSE;md5=6a905a337cc228a1f68f0b5416f52a7f" > + > +inherit cmake pkgconfig mime > + > +DEPENDS = "highway brotli" > + > +SRC_URI = "gitsm://github.com/libjxl/libjxl.git;protocol=https;nobranch=1" > + > +SRCREV = "e1489592a770b989303b0edc5cc1dc447bbe0515" > +S = "${WORKDIR}/git" > + > +EXTRA_OECMAKE = " \ > + -DCMAKE_BUILD_TYPE=Release \ > + -DJPEGXL_ENABLE_PLUGINS=ON \ > + -DBUILD_TESTING=OFF \ > + -DJPEGXL_WARNINGS_AS_ERRORS=OFF \ > + -DJPEGXL_ENABLE_SIZELESS_VECTORS=ON \ > + -DJPEGXL_ENABLE_SJPEG=OFF \ > + -DJPEGXL_ENABLE_BENCHMARK=OFF \ > + -DJPEGXL_ENABLE_EXAMPLES=OFF \ > + -DJPEGXL_ENABLE_MANPAGES=OFF \ > + -DJPEGXL_ENABLE_SKCMS=ON \ > + -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ > + -DJPEGXL_FORCE_SYSTEM_HWY=ON \ > + -DJPEGXL_ENABLE_JNI=OFF \ > + -DJPEGXL_ENABLE_TCMALLOC=OFF \ > + -DJPEGXL_ENABLE_TOOLS=OFF \ > +" > + > +PACKAGECONFIG ?= "mime gdk-pixbuf-loader" > +PACKAGECONFIG[gdk-pixbuf-loader] = "-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=ON,-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=OFF,gdk-pixbuf" > +PACKAGECONFIG[gimp] = "-DJPEGXL_ENABLE_PLUGIN_GIMP210=ON,-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF,gimp" > +PACKAGECONFIG[mime] = "-DJPEGXL_ENABLE_PLUGIN_MIME=ON,-DJPEGXL_ENABLE_PLUGIN_MIME=OFF" > + > +FILES:${PN} += "${libdir}/gdk-pixbuf-2.0 ${datadir}" > + > +CXXFLAGS:append:arm = " -mfp16-format=ieee" > + > -- > 2.44.0 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#109774): https://lists.openembedded.org/g/openembedded-devel/message/109774 > Mute This Topic: https://lists.openembedded.org/mt/105282918/3617156 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [martin.jansa@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Does this also happen if you add '-mfpu=neon' to CXXFLAGS ? On Fri, Apr 5 2024 at 07:54:47 AM +02:00:00, Martin Jansa <martin.jansa@gmail.com> wrote: > I'm seeing build failure in 32bit arm builds (with multilib): > > lib32-libjxl/0.10.2/recipe-sysroot-native/usr/lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/13.2.0/include/arm_neon.h:7526:1: > error: inlining failed in call to 'always_inline' 'float32x4_t > vcvt_f32_f16(float16x4_t)': target specific option mismatch > 7526 | vcvt_f32_f16 (float16x4_t __a) > | ^~~~~~~~~~~~ > In file included from > TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-libjxl/0.10.2/git/third_party/skcms/skcms.cc:2315: > TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-libjxl/0.10.2/git/third_party/skcms/src/Transform_inl.h:155:24: > note: called from here > 155 | return vcvt_f32_f16((float16x4_t)half); > | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ > > should I try to reproduce on some publicly available arm MACHINE (like > qemuarm) or is someone else seeing this as well? > > On Tue, Apr 2, 2024 at 7:50 AM Markus Volk <f_l_k@t-online.de > <mailto:f_l_k@t-online.de>> wrote: >> >> Import this recipe from meta-wayland, because it is a prerequisite >> for the Gnome desktop. The recently updated gnome-backgrounds >> package >> has converted most of the backgrounds to jxl and to keep them usable >> the gdk-pixbuf-loader for jpegxl must be provided. This is included >> in the libjxl package itself. >> >> Signed-off-by: Markus Volk <f_l_k@t-online.de >> <mailto:f_l_k@t-online.de>> >> --- >> .../libjxl/libjxl_2.10.0.bb | 42 >> +++++++++++++++++++ >> 1 file changed, 42 insertions(+) >> create mode 100644 >> meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb >> >> diff --git a/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb >> b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb >> new file mode 100644 >> index 000000000..0c4f79fdb >> --- /dev/null >> +++ b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb >> @@ -0,0 +1,42 @@ >> +SUMMARY = "Reference implementation of JPEG XL (encoder and >> decoder)" >> +HOMEPAGE = "<https://github.com/libjxl/libjxl/>" >> + >> +LICENSE = "BSD-3-Clause" >> +LIC_FILES_CHKSUM = >> "file://LICENSE;md5=6a905a337cc228a1f68f0b5416f52a7f" >> <file://license;md5=6a905a337cc228a1f68f0b5416f52a7f/> >> + >> +inherit cmake pkgconfig mime >> + >> +DEPENDS = "highway brotli" >> + >> +SRC_URI = >> "gitsm://github.com/libjxl/libjxl.git;protocol=https;nobranch=1" >> + >> +SRCREV = "e1489592a770b989303b0edc5cc1dc447bbe0515" >> +S = "${WORKDIR}/git" >> + >> +EXTRA_OECMAKE = " \ >> + -DCMAKE_BUILD_TYPE=Release \ >> + -DJPEGXL_ENABLE_PLUGINS=ON \ >> + -DBUILD_TESTING=OFF \ >> + -DJPEGXL_WARNINGS_AS_ERRORS=OFF \ >> + -DJPEGXL_ENABLE_SIZELESS_VECTORS=ON \ >> + -DJPEGXL_ENABLE_SJPEG=OFF \ >> + -DJPEGXL_ENABLE_BENCHMARK=OFF \ >> + -DJPEGXL_ENABLE_EXAMPLES=OFF \ >> + -DJPEGXL_ENABLE_MANPAGES=OFF \ >> + -DJPEGXL_ENABLE_SKCMS=ON \ >> + -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ >> + -DJPEGXL_FORCE_SYSTEM_HWY=ON \ >> + -DJPEGXL_ENABLE_JNI=OFF \ >> + -DJPEGXL_ENABLE_TCMALLOC=OFF \ >> + -DJPEGXL_ENABLE_TOOLS=OFF \ >> +" >> + >> +PACKAGECONFIG ?= "mime gdk-pixbuf-loader" >> +PACKAGECONFIG[gdk-pixbuf-loader] = >> "-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=ON,-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=OFF,gdk-pixbuf" >> +PACKAGECONFIG[gimp] = >> "-DJPEGXL_ENABLE_PLUGIN_GIMP210=ON,-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF,gimp" >> +PACKAGECONFIG[mime] = >> "-DJPEGXL_ENABLE_PLUGIN_MIME=ON,-DJPEGXL_ENABLE_PLUGIN_MIME=OFF" >> + >> +FILES:${PN} += "${libdir}/gdk-pixbuf-2.0 ${datadir}" >> + >> +CXXFLAGS:append:arm = " -mfp16-format=ieee" >> + >> -- >> 2.44.0 >> >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#109774): >> <https://lists.openembedded.org/g/openembedded-devel/message/109774> >> Mute This Topic: >> <https://lists.openembedded.org/mt/105282918/3617156> >> Group Owner: openembedded-devel+owner@lists.openembedded.org >> <mailto:openembedded-devel+owner@lists.openembedded.org> >> Unsubscribe: >> <https://lists.openembedded.org/g/openembedded-devel/unsub> >> [martin.jansa@gmail.com <mailto:martin.jansa@gmail.com>] >> -=-=-=-=-=-=-=-=-=-=-=- >>
On Thu, Apr 4, 2024 at 10:55 PM Martin Jansa <martin.jansa@gmail.com> wrote: > > I'm seeing build failure in 32bit arm builds (with multilib): > > lib32-libjxl/0.10.2/recipe-sysroot-native/usr/lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/13.2.0/include/arm_neon.h:7526:1: > error: inlining failed in call to 'always_inline' 'float32x4_t > vcvt_f32_f16(float16x4_t)': target specific option mismatch > 7526 | vcvt_f32_f16 (float16x4_t __a) > | ^~~~~~~~~~~~ > In file included from > TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-libjxl/0.10.2/git/third_party/skcms/skcms.cc:2315: > TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-libjxl/0.10.2/git/third_party/skcms/src/Transform_inl.h:155:24: > note: called from here > 155 | return vcvt_f32_f16((float16x4_t)half); > | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ > > should I try to reproduce on some publicly available arm MACHINE (like > qemuarm) or is someone else seeing this as well? This is not seen at least in my CI jobs even for qemuarm but then it was with clang so it will be good to reproduce it with gcc/qemuarm perhaps. btw what is your 32bit multilib defaultltune in this failing case > > On Tue, Apr 2, 2024 at 7:50 AM Markus Volk <f_l_k@t-online.de> wrote: > > > > Import this recipe from meta-wayland, because it is a prerequisite > > for the Gnome desktop. The recently updated gnome-backgrounds package > > has converted most of the backgrounds to jxl and to keep them usable > > the gdk-pixbuf-loader for jpegxl must be provided. This is included > > in the libjxl package itself. > > > > Signed-off-by: Markus Volk <f_l_k@t-online.de> > > --- > > .../libjxl/libjxl_2.10.0.bb | 42 +++++++++++++++++++ > > 1 file changed, 42 insertions(+) > > create mode 100644 meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb > > > > diff --git a/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb > > new file mode 100644 > > index 000000000..0c4f79fdb > > --- /dev/null > > +++ b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb > > @@ -0,0 +1,42 @@ > > +SUMMARY = "Reference implementation of JPEG XL (encoder and decoder)" > > +HOMEPAGE = "https://github.com/libjxl/libjxl/" > > + > > +LICENSE = "BSD-3-Clause" > > +LIC_FILES_CHKSUM = "file://LICENSE;md5=6a905a337cc228a1f68f0b5416f52a7f" > > + > > +inherit cmake pkgconfig mime > > + > > +DEPENDS = "highway brotli" > > + > > +SRC_URI = "gitsm://github.com/libjxl/libjxl.git;protocol=https;nobranch=1" > > + > > +SRCREV = "e1489592a770b989303b0edc5cc1dc447bbe0515" > > +S = "${WORKDIR}/git" > > + > > +EXTRA_OECMAKE = " \ > > + -DCMAKE_BUILD_TYPE=Release \ > > + -DJPEGXL_ENABLE_PLUGINS=ON \ > > + -DBUILD_TESTING=OFF \ > > + -DJPEGXL_WARNINGS_AS_ERRORS=OFF \ > > + -DJPEGXL_ENABLE_SIZELESS_VECTORS=ON \ > > + -DJPEGXL_ENABLE_SJPEG=OFF \ > > + -DJPEGXL_ENABLE_BENCHMARK=OFF \ > > + -DJPEGXL_ENABLE_EXAMPLES=OFF \ > > + -DJPEGXL_ENABLE_MANPAGES=OFF \ > > + -DJPEGXL_ENABLE_SKCMS=ON \ > > + -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ > > + -DJPEGXL_FORCE_SYSTEM_HWY=ON \ > > + -DJPEGXL_ENABLE_JNI=OFF \ > > + -DJPEGXL_ENABLE_TCMALLOC=OFF \ > > + -DJPEGXL_ENABLE_TOOLS=OFF \ > > +" > > + > > +PACKAGECONFIG ?= "mime gdk-pixbuf-loader" > > +PACKAGECONFIG[gdk-pixbuf-loader] = "-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=ON,-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=OFF,gdk-pixbuf" > > +PACKAGECONFIG[gimp] = "-DJPEGXL_ENABLE_PLUGIN_GIMP210=ON,-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF,gimp" > > +PACKAGECONFIG[mime] = "-DJPEGXL_ENABLE_PLUGIN_MIME=ON,-DJPEGXL_ENABLE_PLUGIN_MIME=OFF" > > + > > +FILES:${PN} += "${libdir}/gdk-pixbuf-2.0 ${datadir}" > > + > > +CXXFLAGS:append:arm = " -mfp16-format=ieee" > > + > > -- > > 2.44.0 > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#109812): https://lists.openembedded.org/g/openembedded-devel/message/109812 > Mute This Topic: https://lists.openembedded.org/mt/105282918/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
> btw what is your 32bit multilib defaultltune in this failing case none of the public ones, that's why I wanted to reproduce it with generic qemuarm first, will trigger the build and report back On Fri, Apr 5, 2024 at 8:54 AM Khem Raj <raj.khem@gmail.com> wrote: > > On Thu, Apr 4, 2024 at 10:55 PM Martin Jansa <martin.jansa@gmail.com> wrote: > > > > I'm seeing build failure in 32bit arm builds (with multilib): > > > > lib32-libjxl/0.10.2/recipe-sysroot-native/usr/lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/13.2.0/include/arm_neon.h:7526:1: > > error: inlining failed in call to 'always_inline' 'float32x4_t > > vcvt_f32_f16(float16x4_t)': target specific option mismatch > > 7526 | vcvt_f32_f16 (float16x4_t __a) > > | ^~~~~~~~~~~~ > > In file included from > > TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-libjxl/0.10.2/git/third_party/skcms/skcms.cc:2315: > > TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-libjxl/0.10.2/git/third_party/skcms/src/Transform_inl.h:155:24: > > note: called from here > > 155 | return vcvt_f32_f16((float16x4_t)half); > > | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ > > > > should I try to reproduce on some publicly available arm MACHINE (like > > qemuarm) or is someone else seeing this as well? > > This is not seen at least in my CI jobs even for qemuarm but then it > was with clang > so it will be good to reproduce it with gcc/qemuarm perhaps. btw what is your > 32bit multilib defaultltune in this failing case > > > > > On Tue, Apr 2, 2024 at 7:50 AM Markus Volk <f_l_k@t-online.de> wrote: > > > > > > Import this recipe from meta-wayland, because it is a prerequisite > > > for the Gnome desktop. The recently updated gnome-backgrounds package > > > has converted most of the backgrounds to jxl and to keep them usable > > > the gdk-pixbuf-loader for jpegxl must be provided. This is included > > > in the libjxl package itself. > > > > > > Signed-off-by: Markus Volk <f_l_k@t-online.de> > > > --- > > > .../libjxl/libjxl_2.10.0.bb | 42 +++++++++++++++++++ > > > 1 file changed, 42 insertions(+) > > > create mode 100644 meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb > > > > > > diff --git a/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb > > > new file mode 100644 > > > index 000000000..0c4f79fdb > > > --- /dev/null > > > +++ b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb > > > @@ -0,0 +1,42 @@ > > > +SUMMARY = "Reference implementation of JPEG XL (encoder and decoder)" > > > +HOMEPAGE = "https://github.com/libjxl/libjxl/" > > > + > > > +LICENSE = "BSD-3-Clause" > > > +LIC_FILES_CHKSUM = "file://LICENSE;md5=6a905a337cc228a1f68f0b5416f52a7f" > > > + > > > +inherit cmake pkgconfig mime > > > + > > > +DEPENDS = "highway brotli" > > > + > > > +SRC_URI = "gitsm://github.com/libjxl/libjxl.git;protocol=https;nobranch=1" > > > + > > > +SRCREV = "e1489592a770b989303b0edc5cc1dc447bbe0515" > > > +S = "${WORKDIR}/git" > > > + > > > +EXTRA_OECMAKE = " \ > > > + -DCMAKE_BUILD_TYPE=Release \ > > > + -DJPEGXL_ENABLE_PLUGINS=ON \ > > > + -DBUILD_TESTING=OFF \ > > > + -DJPEGXL_WARNINGS_AS_ERRORS=OFF \ > > > + -DJPEGXL_ENABLE_SIZELESS_VECTORS=ON \ > > > + -DJPEGXL_ENABLE_SJPEG=OFF \ > > > + -DJPEGXL_ENABLE_BENCHMARK=OFF \ > > > + -DJPEGXL_ENABLE_EXAMPLES=OFF \ > > > + -DJPEGXL_ENABLE_MANPAGES=OFF \ > > > + -DJPEGXL_ENABLE_SKCMS=ON \ > > > + -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ > > > + -DJPEGXL_FORCE_SYSTEM_HWY=ON \ > > > + -DJPEGXL_ENABLE_JNI=OFF \ > > > + -DJPEGXL_ENABLE_TCMALLOC=OFF \ > > > + -DJPEGXL_ENABLE_TOOLS=OFF \ > > > +" > > > + > > > +PACKAGECONFIG ?= "mime gdk-pixbuf-loader" > > > +PACKAGECONFIG[gdk-pixbuf-loader] = "-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=ON,-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=OFF,gdk-pixbuf" > > > +PACKAGECONFIG[gimp] = "-DJPEGXL_ENABLE_PLUGIN_GIMP210=ON,-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF,gimp" > > > +PACKAGECONFIG[mime] = "-DJPEGXL_ENABLE_PLUGIN_MIME=ON,-DJPEGXL_ENABLE_PLUGIN_MIME=OFF" > > > + > > > +FILES:${PN} += "${libdir}/gdk-pixbuf-2.0 ${datadir}" > > > + > > > +CXXFLAGS:append:arm = " -mfp16-format=ieee" > > > + > > > -- > > > 2.44.0 > > > > > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#109812): https://lists.openembedded.org/g/openembedded-devel/message/109812 > > Mute This Topic: https://lists.openembedded.org/mt/105282918/1997914 > > Group Owner: openembedded-devel+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > > -=-=-=-=-=-=-=-=-=-=-=- > >
qemuarm build log: http://errors.yoctoproject.org/Errors/Details/761504/ shows -mfpu=neon was already used. FAILED: lib/CMakeFiles/jxl_cms.dir/__/third_party/skcms/skcms.cc.o TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++ --sysroot=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot -DFJXL_ENABLE_AVX512=0 -DHWY_DISABLED_TARGETS="(HWY_SSSE3|HWY_AVX3|HWY_AVX3_SPR|HWY_AVX3_ZEN4)" -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" -D__TIME__=\"redacted\" -Djxl_cms_EXPORTS -ITOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git -ITOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms -isystem TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/build/lib/include -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a15 -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 --sysroot=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git=/usr/src/debug/libjxl/0.10.2 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git=/usr/src/debug/libjxl/0.10.2 -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/build=/usr/src/debug/libjxl/0.10.2 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/build=/usr/src/debug/libjxl/0.10.2 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot= -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot= -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot-native= -fvisibility-inlines-hidden -mfp16-format=ieee -fno-rtti -DNDEBUG -std=c++11 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git=. -funwind-tables -fno-omit-frame-pointer -Wno-builtin-macro-redefined -Wall -fmerge-all-constants -fno-builtin-fwrite -fno-builtin-fread -Wextra -Wc++11-compat -Warray-bounds -Wformat-security -Wimplicit-fallthrough -Wno-register -Wno-unused-function -Wno-unused-parameter -Wnon-virtual-dtor -Woverloaded-virtual -Wvla -fsized-deallocation -fno-exceptions -fmath-errno -DJPEGXL_ENABLE_SKCMS=1 -DHWY_STATIC_DEFINE -Wno-psabi -MD -MT lib/CMakeFiles/jxl_cms.dir/__/third_party/skcms/skcms.cc.o -MF lib/CMakeFiles/jxl_cms.dir/__/third_party/skcms/skcms.cc.o.d -o lib/CMakeFiles/jxl_cms.dir/__/third_party/skcms/skcms.cc.o -c TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms/skcms.cc In file included from TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms/skcms.cc:18: TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot-native/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/14.0.1/include/arm_neon.h: In function 'baseline::F baseline::F_from_Half(U16)': TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot-native/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/14.0.1/include/arm_neon.h:7526:1: error: inlining failed in call to 'always_inline' 'float32x4_t vcvt_f32_f16(float16x4_t)': target specific option mismatch 7526 | vcvt_f32_f16 (float16x4_t __a) | ^~~~~~~~~~~~ In file included from TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms/skcms.cc:2315: TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms/src/Transform_inl.h:155:24: note: called from here 155 | return vcvt_f32_f16((float16x4_t)half); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ On Fri, Apr 5, 2024 at 8:48 AM <f_l_k@t-online.de> wrote: > > Does this also happen if you add '-mfpu=neon' to CXXFLAGS ? > > On Fri, Apr 5 2024 at 07:54:47 AM +02:00:00, Martin Jansa <martin.jansa@gmail.com> wrote: > > I'm seeing build failure in 32bit arm builds (with multilib): lib32-libjxl/0.10.2/recipe-sysroot-native/usr/lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/13.2.0/include/arm_neon.h:7526:1: error: inlining failed in call to 'always_inline' 'float32x4_t vcvt_f32_f16(float16x4_t)': target specific option mismatch 7526 | vcvt_f32_f16 (float16x4_t __a) | ^~~~~~~~~~~~ In file included from TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-libjxl/0.10.2/git/third_party/skcms/skcms.cc:2315: TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-libjxl/0.10.2/git/third_party/skcms/src/Transform_inl.h:155:24: note: called from here 155 | return vcvt_f32_f16((float16x4_t)half); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ should I try to reproduce on some publicly available arm MACHINE (like qemuarm) or is someone else seeing this as well? On Tue, Apr 2, 2024 at 7:50 AM Markus Volk <f_l_k@t-online.de> wrote: > > Import this recipe from meta-wayland, because it is a prerequisite for the Gnome desktop. The recently updated gnome-backgrounds package has converted most of the backgrounds to jxl and to keep them usable the gdk-pixbuf-loader for jpegxl must be provided. This is included in the libjxl package itself. Signed-off-by: Markus Volk <f_l_k@t-online.de> --- .../libjxl/libjxl_2.10.0.bb | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb diff --git a/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb new file mode 100644 index 000000000..0c4f79fdb --- /dev/null +++ b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb @@ -0,0 +1,42 @@ +SUMMARY = "Reference implementation of JPEG XL (encoder and decoder)" +HOMEPAGE = "https://github.com/libjxl/libjxl/" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6a905a337cc228a1f68f0b5416f52a7f" + +inherit cmake pkgconfig mime + +DEPENDS = "highway brotli" + +SRC_URI = "gitsm://github.com/libjxl/libjxl.git;protocol=https;nobranch=1" + +SRCREV = "e1489592a770b989303b0edc5cc1dc447bbe0515" +S = "${WORKDIR}/git" + +EXTRA_OECMAKE = " \ + -DCMAKE_BUILD_TYPE=Release \ + -DJPEGXL_ENABLE_PLUGINS=ON \ + -DBUILD_TESTING=OFF \ + -DJPEGXL_WARNINGS_AS_ERRORS=OFF \ + -DJPEGXL_ENABLE_SIZELESS_VECTORS=ON \ + -DJPEGXL_ENABLE_SJPEG=OFF \ + -DJPEGXL_ENABLE_BENCHMARK=OFF \ + -DJPEGXL_ENABLE_EXAMPLES=OFF \ + -DJPEGXL_ENABLE_MANPAGES=OFF \ + -DJPEGXL_ENABLE_SKCMS=ON \ + -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ + -DJPEGXL_FORCE_SYSTEM_HWY=ON \ + -DJPEGXL_ENABLE_JNI=OFF \ + -DJPEGXL_ENABLE_TCMALLOC=OFF \ + -DJPEGXL_ENABLE_TOOLS=OFF \ +" + +PACKAGECONFIG ?= "mime gdk-pixbuf-loader" +PACKAGECONFIG[gdk-pixbuf-loader] = "-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=ON,-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=OFF,gdk-pixbuf" +PACKAGECONFIG[gimp] = "-DJPEGXL_ENABLE_PLUGIN_GIMP210=ON,-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF,gimp" +PACKAGECONFIG[mime] = "-DJPEGXL_ENABLE_PLUGIN_MIME=ON,-DJPEGXL_ENABLE_PLUGIN_MIME=OFF" + +FILES:${PN} += "${libdir}/gdk-pixbuf-2.0 ${datadir}" + +CXXFLAGS:append:arm = " -mfp16-format=ieee" + -- 2.44.0 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#109774): https://lists.openembedded.org/g/openembedded-devel/message/109774 Mute This Topic: https://lists.openembedded.org/mt/105282918/3617156 Group Owner: openembedded-devel+owner@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [martin.jansa@gmail.com] -=-=-=-=-=-=-=-=-=-=-=-
Can you try to comment out CXXFLAGS:append:arm = " -mfp16-format=ieee" for a test ? On Fri, Apr 5, 2024 at 12:13 AM Martin Jansa <martin.jansa@gmail.com> wrote: > > qemuarm build log: > http://errors.yoctoproject.org/Errors/Details/761504/ > > shows -mfpu=neon was already used. > > FAILED: lib/CMakeFiles/jxl_cms.dir/__/third_party/skcms/skcms.cc.o > TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++ > --sysroot=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot > -DFJXL_ENABLE_AVX512=0 > -DHWY_DISABLED_TARGETS="(HWY_SSSE3|HWY_AVX3|HWY_AVX3_SPR|HWY_AVX3_ZEN4)" > -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" > -D__TIME__=\"redacted\" -Djxl_cms_EXPORTS > -ITOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git > -ITOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms > -isystem TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/build/lib/include > -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a15 -D_TIME_BITS=64 > -D_FILE_OFFSET_BITS=64 > --sysroot=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot > -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map > -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git=/usr/src/debug/libjxl/0.10.2 > -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git=/usr/src/debug/libjxl/0.10.2 > -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/build=/usr/src/debug/libjxl/0.10.2 > -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/build=/usr/src/debug/libjxl/0.10.2 > -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot= > -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot= > -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot-native= > -fvisibility-inlines-hidden -mfp16-format=ieee -fno-rtti -DNDEBUG > -std=c++11 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden > -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git=. > -funwind-tables -fno-omit-frame-pointer -Wno-builtin-macro-redefined > -Wall -fmerge-all-constants -fno-builtin-fwrite -fno-builtin-fread > -Wextra -Wc++11-compat -Warray-bounds -Wformat-security > -Wimplicit-fallthrough -Wno-register -Wno-unused-function > -Wno-unused-parameter -Wnon-virtual-dtor -Woverloaded-virtual -Wvla > -fsized-deallocation -fno-exceptions -fmath-errno > -DJPEGXL_ENABLE_SKCMS=1 -DHWY_STATIC_DEFINE -Wno-psabi -MD -MT > lib/CMakeFiles/jxl_cms.dir/__/third_party/skcms/skcms.cc.o -MF > lib/CMakeFiles/jxl_cms.dir/__/third_party/skcms/skcms.cc.o.d -o > lib/CMakeFiles/jxl_cms.dir/__/third_party/skcms/skcms.cc.o -c > TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms/skcms.cc > In file included from > TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms/skcms.cc:18: > TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot-native/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/14.0.1/include/arm_neon.h: > In function 'baseline::F baseline::F_from_Half(U16)': > TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot-native/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/14.0.1/include/arm_neon.h:7526:1: > error: inlining failed in call to 'always_inline' 'float32x4_t > vcvt_f32_f16(float16x4_t)': target specific option mismatch > 7526 | vcvt_f32_f16 (float16x4_t __a) > | ^~~~~~~~~~~~ > In file included from > TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms/skcms.cc:2315: > TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms/src/Transform_inl.h:155:24: > note: called from here > 155 | return vcvt_f32_f16((float16x4_t)half); > | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ > > On Fri, Apr 5, 2024 at 8:48 AM <f_l_k@t-online.de> wrote: > > > > Does this also happen if you add '-mfpu=neon' to CXXFLAGS ? > > > > On Fri, Apr 5 2024 at 07:54:47 AM +02:00:00, Martin Jansa <martin.jansa@gmail.com> wrote: > > > > I'm seeing build failure in 32bit arm builds (with multilib): lib32-libjxl/0.10.2/recipe-sysroot-native/usr/lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/13.2.0/include/arm_neon.h:7526:1: error: inlining failed in call to 'always_inline' 'float32x4_t vcvt_f32_f16(float16x4_t)': target specific option mismatch 7526 | vcvt_f32_f16 (float16x4_t __a) | ^~~~~~~~~~~~ In file included from TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-libjxl/0.10.2/git/third_party/skcms/skcms.cc:2315: TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-libjxl/0.10.2/git/third_party/skcms/src/Transform_inl.h:155:24: note: called from here 155 | return vcvt_f32_f16((float16x4_t)half); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ should I try to reproduce on some publicly available arm MACHINE (like qemuarm) or is someone else seeing this as well? On Tue, Apr 2, 2024 at 7:50 AM Markus Volk <f_l_k@t-online.de> wrote: > > > > Import this recipe from meta-wayland, because it is a prerequisite for the Gnome desktop. The recently updated gnome-backgrounds package has converted most of the backgrounds to jxl and to keep them usable the gdk-pixbuf-loader for jpegxl must be provided. This is included in the libjxl package itself. Signed-off-by: Markus Volk <f_l_k@t-online.de> --- .../libjxl/libjxl_2.10.0.bb | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb diff --git a/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb new file mode 100644 index 000000000..0c4f79fdb --- /dev/null +++ b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb @@ -0,0 +1,42 @@ +SUMMARY = "Reference implementation of JPEG XL (encoder and decoder)" +HOMEPAGE = "https://github.com/libjxl/libjxl/" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6a905a337cc228a1f68f0b5416f52a7f" + +inherit cmake pkgconfig mime + +DEPENDS = "highway brotli" + +SRC_URI = "gitsm://github.com/libjxl/libjxl.git;protocol=https;nobranch=1" + +SRCREV = "e1489592a770b989303b0edc5cc1dc447bbe0515" +S = "${WORKDIR}/git" + +EXTRA_OECMAKE = " \ + -DCMAKE_BUILD_TYPE=Release \ + -DJPEGXL_ENABLE_PLUGINS=ON \ + -DBUILD_TESTING=OFF \ + -DJPEGXL_WARNINGS_AS_ERRORS=OFF \ + -DJPEGXL_ENABLE_SIZELESS_VECTORS=ON \ + -DJPEGXL_ENABLE_SJPEG=OFF \ + -DJPEGXL_ENABLE_BENCHMARK=OFF \ + -DJPEGXL_ENABLE_EXAMPLES=OFF \ + -DJPEGXL_ENABLE_MANPAGES=OFF \ + -DJPEGXL_ENABLE_SKCMS=ON \ + -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ + -DJPEGXL_FORCE_SYSTEM_HWY=ON \ + -DJPEGXL_ENABLE_JNI=OFF \ + -DJPEGXL_ENABLE_TCMALLOC=OFF \ + -DJPEGXL_ENABLE_TOOLS=OFF \ +" + +PACKAGECONFIG ?= "mime gdk-pixbuf-loader" +PACKAGECONFIG[gdk-pixbuf-loader] = "-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=ON,-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=OFF,gdk-pixbuf" +PACKAGECONFIG[gimp] = "-DJPEGXL_ENABLE_PLUGIN_GIMP210=ON,-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF,gimp" +PACKAGECONFIG[mime] = "-DJPEGXL_ENABLE_PLUGIN_MIME=ON,-DJPEGXL_ENABLE_PLUGIN_MIME=OFF" + +FILES:${PN} += "${libdir}/gdk-pixbuf-2.0 ${datadir}" + +CXXFLAGS:append:arm = " -mfp16-format=ieee" + -- 2.44.0 > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#109816): https://lists.openembedded.org/g/openembedded-devel/message/109816 > Mute This Topic: https://lists.openembedded.org/mt/105282918/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On Fri, Apr 5, 2024 at 5:18 PM Khem Raj <raj.khem@gmail.com> wrote: > > Can you try to comment out > > CXXFLAGS:append:arm = " -mfp16-format=ieee" > > for a test ? Yes, that fixes the build on qemuarm. > On Fri, Apr 5, 2024 at 12:13 AM Martin Jansa <martin.jansa@gmail.com> wrote: > > > > qemuarm build log: > > http://errors.yoctoproject.org/Errors/Details/761504/ > > > > shows -mfpu=neon was already used. > > > > FAILED: lib/CMakeFiles/jxl_cms.dir/__/third_party/skcms/skcms.cc.o > > TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++ > > --sysroot=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot > > -DFJXL_ENABLE_AVX512=0 > > -DHWY_DISABLED_TARGETS="(HWY_SSSE3|HWY_AVX3|HWY_AVX3_SPR|HWY_AVX3_ZEN4)" > > -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" > > -D__TIME__=\"redacted\" -Djxl_cms_EXPORTS > > -ITOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git > > -ITOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms > > -isystem TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/build/lib/include > > -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a15 -D_TIME_BITS=64 > > -D_FILE_OFFSET_BITS=64 > > --sysroot=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot > > -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map > > -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git=/usr/src/debug/libjxl/0.10.2 > > -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git=/usr/src/debug/libjxl/0.10.2 > > -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/build=/usr/src/debug/libjxl/0.10.2 > > -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/build=/usr/src/debug/libjxl/0.10.2 > > -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot= > > -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot= > > -fdebug-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot-native= > > -fvisibility-inlines-hidden -mfp16-format=ieee -fno-rtti -DNDEBUG > > -std=c++11 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden > > -fmacro-prefix-map=TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git=. > > -funwind-tables -fno-omit-frame-pointer -Wno-builtin-macro-redefined > > -Wall -fmerge-all-constants -fno-builtin-fwrite -fno-builtin-fread > > -Wextra -Wc++11-compat -Warray-bounds -Wformat-security > > -Wimplicit-fallthrough -Wno-register -Wno-unused-function > > -Wno-unused-parameter -Wnon-virtual-dtor -Woverloaded-virtual -Wvla > > -fsized-deallocation -fno-exceptions -fmath-errno > > -DJPEGXL_ENABLE_SKCMS=1 -DHWY_STATIC_DEFINE -Wno-psabi -MD -MT > > lib/CMakeFiles/jxl_cms.dir/__/third_party/skcms/skcms.cc.o -MF > > lib/CMakeFiles/jxl_cms.dir/__/third_party/skcms/skcms.cc.o.d -o > > lib/CMakeFiles/jxl_cms.dir/__/third_party/skcms/skcms.cc.o -c > > TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms/skcms.cc > > In file included from > > TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms/skcms.cc:18: > > TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot-native/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/14.0.1/include/arm_neon.h: > > In function 'baseline::F baseline::F_from_Half(U16)': > > TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/recipe-sysroot-native/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/14.0.1/include/arm_neon.h:7526:1: > > error: inlining failed in call to 'always_inline' 'float32x4_t > > vcvt_f32_f16(float16x4_t)': target specific option mismatch > > 7526 | vcvt_f32_f16 (float16x4_t __a) > > | ^~~~~~~~~~~~ > > In file included from > > TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms/skcms.cc:2315: > > TOPDIR/tmp-glibc/work/cortexa15t2hf-neon-oe-linux-gnueabi/libjxl/0.10.2/git/third_party/skcms/src/Transform_inl.h:155:24: > > note: called from here > > 155 | return vcvt_f32_f16((float16x4_t)half); > > | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ > > > > On Fri, Apr 5, 2024 at 8:48 AM <f_l_k@t-online.de> wrote: > > > > > > Does this also happen if you add '-mfpu=neon' to CXXFLAGS ? > > > > > > On Fri, Apr 5 2024 at 07:54:47 AM +02:00:00, Martin Jansa <martin.jansa@gmail.com> wrote: > > > > > > I'm seeing build failure in 32bit arm builds (with multilib): lib32-libjxl/0.10.2/recipe-sysroot-native/usr/lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/13.2.0/include/arm_neon.h:7526:1: error: inlining failed in call to 'always_inline' 'float32x4_t vcvt_f32_f16(float16x4_t)': target specific option mismatch 7526 | vcvt_f32_f16 (float16x4_t __a) | ^~~~~~~~~~~~ In file included from TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-libjxl/0.10.2/git/third_party/skcms/skcms.cc:2315: TOPDIR/BUILD/work/mach-oemllib32-linux-gnueabi/lib32-libjxl/0.10.2/git/third_party/skcms/src/Transform_inl.h:155:24: note: called from here 155 | return vcvt_f32_f16((float16x4_t)half); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ should I try to reproduce on some publicly available arm MACHINE (like qemuarm) or is someone else seeing this as well? On Tue, Apr 2, 2024 at 7:50 AM Markus Volk <f_l_k@t-online.de> wrote: > > > > > > Import this recipe from meta-wayland, because it is a prerequisite for the Gnome desktop. The recently updated gnome-backgrounds package has converted most of the backgrounds to jxl and to keep them usable the gdk-pixbuf-loader for jpegxl must be provided. This is included in the libjxl package itself. Signed-off-by: Markus Volk <f_l_k@t-online.de> --- .../libjxl/libjxl_2.10.0.bb | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb diff --git a/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb new file mode 100644 index 000000000..0c4f79fdb --- /dev/null +++ b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb @@ -0,0 +1,42 @@ +SUMMARY = "Reference implementation of JPEG XL (encoder and decoder)" +HOMEPAGE = "https://github.com/libjxl/libjxl/" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6a905a337cc228a1f68f0b5416f52a7f" + +inherit cmake pkgconfig mime + +DEPENDS = "highway brotli" + +SRC_URI = "gitsm://github.com/libjxl/libjxl.git;protocol=https;nobranch=1" + +SRCREV = "e1489592a770b989303b0edc5cc1dc447bbe0515" +S = "${WORKDIR}/git" + +EXTRA_OECMAKE = " \ + -DCMAKE_BUILD_TYPE=Release \ + -DJPEGXL_ENABLE_PLUGINS=ON \ + -DBUILD_TESTING=OFF \ + -DJPEGXL_WARNINGS_AS_ERRORS=OFF \ + -DJPEGXL_ENABLE_SIZELESS_VECTORS=ON \ + -DJPEGXL_ENABLE_SJPEG=OFF \ + -DJPEGXL_ENABLE_BENCHMARK=OFF \ + -DJPEGXL_ENABLE_EXAMPLES=OFF \ + -DJPEGXL_ENABLE_MANPAGES=OFF \ + -DJPEGXL_ENABLE_SKCMS=ON \ + -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ + -DJPEGXL_FORCE_SYSTEM_HWY=ON \ + -DJPEGXL_ENABLE_JNI=OFF \ + -DJPEGXL_ENABLE_TCMALLOC=OFF \ + -DJPEGXL_ENABLE_TOOLS=OFF \ +" + +PACKAGECONFIG ?= "mime gdk-pixbuf-loader" +PACKAGECONFIG[gdk-pixbuf-loader] = "-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=ON,-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=OFF,gdk-pixbuf" +PACKAGECONFIG[gimp] = "-DJPEGXL_ENABLE_PLUGIN_GIMP210=ON,-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF,gimp" +PACKAGECONFIG[mime] = "-DJPEGXL_ENABLE_PLUGIN_MIME=ON,-DJPEGXL_ENABLE_PLUGIN_MIME=OFF" + +FILES:${PN} += "${libdir}/gdk-pixbuf-2.0 ${datadir}" + +CXXFLAGS:append:arm = " -mfp16-format=ieee" + -- 2.44.0 > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#109816): https://lists.openembedded.org/g/openembedded-devel/message/109816 > > Mute This Topic: https://lists.openembedded.org/mt/105282918/1997914 > > Group Owner: openembedded-devel+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > > -=-=-=-=-=-=-=-=-=-=-=- > >
diff --git a/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb new file mode 100644 index 000000000..0c4f79fdb --- /dev/null +++ b/meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb @@ -0,0 +1,42 @@ +SUMMARY = "Reference implementation of JPEG XL (encoder and decoder)" +HOMEPAGE = "https://github.com/libjxl/libjxl/" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6a905a337cc228a1f68f0b5416f52a7f" + +inherit cmake pkgconfig mime + +DEPENDS = "highway brotli" + +SRC_URI = "gitsm://github.com/libjxl/libjxl.git;protocol=https;nobranch=1" + +SRCREV = "e1489592a770b989303b0edc5cc1dc447bbe0515" +S = "${WORKDIR}/git" + +EXTRA_OECMAKE = " \ + -DCMAKE_BUILD_TYPE=Release \ + -DJPEGXL_ENABLE_PLUGINS=ON \ + -DBUILD_TESTING=OFF \ + -DJPEGXL_WARNINGS_AS_ERRORS=OFF \ + -DJPEGXL_ENABLE_SIZELESS_VECTORS=ON \ + -DJPEGXL_ENABLE_SJPEG=OFF \ + -DJPEGXL_ENABLE_BENCHMARK=OFF \ + -DJPEGXL_ENABLE_EXAMPLES=OFF \ + -DJPEGXL_ENABLE_MANPAGES=OFF \ + -DJPEGXL_ENABLE_SKCMS=ON \ + -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ + -DJPEGXL_FORCE_SYSTEM_HWY=ON \ + -DJPEGXL_ENABLE_JNI=OFF \ + -DJPEGXL_ENABLE_TCMALLOC=OFF \ + -DJPEGXL_ENABLE_TOOLS=OFF \ +" + +PACKAGECONFIG ?= "mime gdk-pixbuf-loader" +PACKAGECONFIG[gdk-pixbuf-loader] = "-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=ON,-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=OFF,gdk-pixbuf" +PACKAGECONFIG[gimp] = "-DJPEGXL_ENABLE_PLUGIN_GIMP210=ON,-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF,gimp" +PACKAGECONFIG[mime] = "-DJPEGXL_ENABLE_PLUGIN_MIME=ON,-DJPEGXL_ENABLE_PLUGIN_MIME=OFF" + +FILES:${PN} += "${libdir}/gdk-pixbuf-2.0 ${datadir}" + +CXXFLAGS:append:arm = " -mfp16-format=ieee" +
Import this recipe from meta-wayland, because it is a prerequisite for the Gnome desktop. The recently updated gnome-backgrounds package has converted most of the backgrounds to jxl and to keep them usable the gdk-pixbuf-loader for jpegxl must be provided. This is included in the libjxl package itself. Signed-off-by: Markus Volk <f_l_k@t-online.de> --- .../libjxl/libjxl_2.10.0.bb | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 meta-oe/recipes-multimedia/libjxl/libjxl_2.10.0.bb