X-Debbugs-CC: ma...@debian.org
Control: tags -1 +patch

On Tue, 19 Sep 2023 15:06:33 -0400 Boyuan Yang <by...@debian.org> wrote:
> X-Debbugs-CC: ma...@debian.org
> 
> On Sat, 09 Sep 2023 16:04:38 -0400 Boyuan Yang <by...@debian.org> wrote:
> > Source: jpeg-xl
> > X-Debbugs-Cc: by...@debian.org
> > Version: 0.7.0-10
> > Severity: serious
> > Tags: ftbfs sid trixie
> > 
> > Dear Maintainer,
> > 
> > For jpeg-xl/0.7.0-10, it currently fails to build from source in Debian Sid.
> > One of the post-build tests will fail:
> > 
> > ========================================================
> >           Start 2874: conformance_tooling_test
> > 2874/2874 Test #2874: conformance_tooling_test
> > ......................................................................................................................................................***Failed
> >     0.15 sec
> > + CLEANUP_FILES=()
> > + trap 'retcode=$?; { set +x; } 2>/dev/null; cleanup' INT TERM EXIT
> > + main /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu /usr/share/libjxl-testdata
> > ++ mktemp -d
> > + local tmpdir=/tmp/tmp.qnjN0F3yQR
> > + CLEANUP_FILES+=("${tmpdir}")
> > + python3 -c 'import numpy'
> > + local build_dir=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu
> > + [[ -z /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu ]]
> > + local decoder=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tools/djxl
> > + /<<PKGBUILDDIR>>/tools/conformance/generator.py 
> > --decoder=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tools/djxl 
> > --output=/tmp/tmp.qnjN0F3yQR --peak_error=0.001 --rmse=0.001
> > /usr/share/libjxl-testdata/jxl/blending/cropped_traffic_light.jxl
> > /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tools/djxl: error while loading 
> > shared libraries: libjxl_threads.so.0.7: cannot open shared object file: No 
> > such file or directory
> > Generating cropped_traffic_light
> > Traceback (most recent call last):
> >   File "/<<PKGBUILDDIR>>/tools/conformance/generator.py", line 128, in 
> ><module>
> >     main()
> >   File "/<<PKGBUILDDIR>>/tools/conformance/generator.py", line 124, in main
> >     GenerateConformanceCorpus(args)
> >   File "/<<PKGBUILDDIR>>/tools/conformance/generator.py", line 70, in 
> >GenerateConformanceCorpus
> >     subprocess.check_call(cmd)
> >   File "/usr/lib/python3.11/subprocess.py", line 413, in check_call
> >     raise CalledProcessError(retcode, cmd)
> > subprocess.CalledProcessError: Command 
> > '['/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tools/djxl', 
> > '/tmp/tmp.qnjN0F3yQR/cropped_traffic_light/input.jxl',
> > '/tmp/tmp.qnjN0F3yQR/cropped_traffic_light/reference_image.npy', 
> > '--metadata_out', '/tmp/tmp.qnjN0F3yQR/cropped_traffic_light/test.json', 
> > '--icc_out',
> > '/tmp/tmp.qnjN0F3yQR/cropped_traffic_light/reference.icc']' returned 
> > non-zero exit status 127.
> > + retcode=1
> > 
> > 
> > 99% tests passed, 1 tests failed out of 2872
> > ========================================================
> 
> Just made a little bit investigation.
> 
> * Previously the test conformance_tooling_test was skipped since 
> python3-numpy was not installed
> during build.
> 
> * With recent builds, python3-numpy was introduced as build-dependency 
> (implicitly) due to
> build toolchain changes, thus unskipping the test.
> 
> * It looks like upstream has some special handling around such test; please 
> check
> .github/workflows/conformance.yml .

I am providing a hacky patch by manipulating LD_LIBRARY_PATH. Please find the 
patch
in the attachment.

In the long run, it would be better to systematically solve this issue by 
working
with upstream.

In the short term, I am really looking into fixing the FTBFS of src:jpeg-xl so 
that
the transition at https://release.debian.org/transitions/html/auto-libavif.html 
can
proceed. Of course, it really depends on when will FTP Masters get rid of 
jpeg-xl/0.9
packages in Experimental. If the RM request is stuck, I might as well start the
transition of libavif before the upload of jpeg-xl 8.x; otherwise I will wait 
till
jpeg-xl 8.x to migrate to Testing.

If you don't mind, I may make a NMU of jpeg-xl to DELAYED/14 to at least solve 
FTBFS.
Please let me know if you have any suggestions.

Thanks,
Boyuan Yang
From: Boyuan Yang <by...@debian.org>
Date: Fri, 22 Sep 2023 17:34:23 -0400
Subject: Fix conformance test

---
 tools/conformance/generator.py    | 2 +-
 tools/conformance/tooling_test.sh | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/conformance/generator.py b/tools/conformance/generator.py
index e2a9b2e..d59c3f4 100755
--- a/tools/conformance/generator.py
+++ b/tools/conformance/generator.py
@@ -67,7 +67,7 @@ def GenerateConformanceCorpus(args):
         cmd.extend(['--icc_out', pixel_prefix + '.icc'])
 
         # Decode and generate the reference files.
-        subprocess.check_call(cmd)
+        subprocess.check_call(' '.join(cmd), shell=True)
 
         with open(metadata_filename, 'r') as f:
             metadata = json.load(f)
diff --git a/tools/conformance/tooling_test.sh b/tools/conformance/tooling_test.sh
index 95adefb..892b7a2 100755
--- a/tools/conformance/tooling_test.sh
+++ b/tools/conformance/tooling_test.sh
@@ -41,6 +41,7 @@ main() {
     build_dir=$(realpath "${MYDIR}/../../build")
   fi
 
+  export LD_LIBRARY_PATH=${build_dir}
   local decoder="${build_dir}/tools/djxl"
   "${MYDIR}/generator.py" \
     --decoder="${decoder}" \

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to