Error building with sandbox

I’m trying to build something with sandbox = "pure" on flox 1.7.1 but I’m getting this error:

Rendering fio build script to /tmp/53259e9e/fio/build.bash
/nix/store/6sb7gak61cwcg3p5grnhhyndi5hz935y-coreutils-9.7/bin/comm -23 <(/nix/store/ykvhvni86i9kbl42iqb0dvfm2mlmm534-git-minimal-2.49.0/bin/git ls-files -c) <(/nix/store/ykvhvni86i9kbl42iqb0dvfm2mlmm534-git-minimal-2.49.0/bin/git ls-files -d) > /tmp/53259e9e/fio/src-list
comm: file 1 is not in sorted order
comm: input is not in sorted order
make: *** [/nix/store/n180pb9ri1848gq42qzy0p9p1yixdggg-package-builder-1.0.0/libexec/flox-build.mk:724: /tmp/53259e9e/fio/src-list] Error 1

It looks like the output of git ls-files -c is not in sorted order although it is assumed to be so in flox/package-builder/flox-build.mk at 7350315d0124ef4fc42f985cd0fbf22fab704be8 · flox/flox · GitHub . Is there any way I can work around this?

:grimacing: I haven’t tested it yet but I created a branch with a fix, if you create an environment, flox install github:flox/flox/sort-for-comm, flox activate, and then use flox from within that environment does it fix it?

Yes, that does fix it. Thanks!

I’m curious what’s not getting sorted by git, if you run diff <(git ls-files -c) <(git ls-files -c | sort) does that show anything?

Sure, this is what that command produces:

 diff <(git ls-files -c) <(git ls-files -c | sort)
1,31d0
< .flox/.gitattributes
< .flox/.gitignore
< .flox/env.json
< .flox/env/manifest.lock
< .flox/env/manifest.toml
< .github/ISSUE_TEMPLATE.md
< .github/ISSUE_TEMPLATE/bug-report.md
< .github/ISSUE_TEMPLATE/config.yml
< .github/ISSUE_TEMPLATE/enhancement.md
< .github/PULL_REQUEST_TEMPLATE.md
< .github/SUPPORT.md
< .github/actions/build-qemu/action.yml
< .github/actions/create-guest-image/action.yml
< .github/actions/start-vm/action.yml
< .github/workflows/ci.yml
< .github/workflows/cifuzz.yml
< .github/workflows/qemu.yml
< .gitignore
< .readthedocs.yaml
< CITATION.cff
< COPYING
< DEDUPE-TODO
< FIO-VERSION-GEN
< GFIO-TODO
< HOWTO.rst
< MORAL-LICENSE
< Makefile
< README.rst
< REPORTING-BUGS
< SERVER-TODO
< STEADYSTATE-TODO
35a5
> arch/arch.h
44d13
< arch/arch-sparc.h
45a15,16
> arch/arch-sparc.h
> arch/arch-x86_64.h
48,49d18
< arch/arch-x86_64.h
< arch/arch.h
50a20
> blktrace_api.h
53d22
< blktrace_api.h
63a33
> CITATION.cff
68c38
< crc/crc-t10dif.h
---
> COPYING
72d41
< crc/crc32.h
74d42
< crc/crc32c-intel.c
76a45,46
> crc/crc32c-intel.c
> crc/crc32.h
82a53
> crc/crc-t10dif.h
106a78
> DEDUPE-TODO
109d80
< doc/Makefile
111d81
< doc/fio-histo-log-pctiles.pdf
113a84
> doc/fio-histo-log-pctiles.pdf
115a87
> doc/Makefile
127d98
< engines/glusterfs.c
128a100
> engines/glusterfs.c
196,197d167
< examples/e4defrag.fio
< examples/e4defrag.png
199a170,171
> examples/e4defrag.fio
> examples/e4defrag.png
214,215d185
< examples/fio-rand-RW.fio
< examples/fio-rand-RW.png
217a188,189
> examples/fio-rand-RW.fio
> examples/fio-rand-RW.png
220,221d191
< examples/fio-seq-RW.fio
< examples/fio-seq-RW.png
223a194,195
> examples/fio-seq-RW.fio
> examples/fio-seq-RW.png
242,243d213
< examples/http-s3-storage-class.fio
< examples/http-s3-storage-class.png
245a216,217
> examples/http-s3-storage-class.fio
> examples/http-s3-storage-class.png
281d252
< examples/netio.png
283a255
> examples/netio.png
345a318,319
> examples/zbd-rand-write.fio
> examples/zbd-rand-write.png
350,351d323
< examples/zbd-rand-write.fio
< examples/zbd-rand-write.png
373a346
> FIO-VERSION-GEN
376a350,354
> .flox/env.json
> .flox/env/manifest.lock
> .flox/env/manifest.toml
> .flox/.gitattributes
> .flox/.gitignore
383d360
< gettime-thread.c
385a363
> gettime-thread.c
387a366
> GFIO-TODO
389a369,381
> .github/actions/build-qemu/action.yml
> .github/actions/create-guest-image/action.yml
> .github/actions/start-vm/action.yml
> .github/ISSUE_TEMPLATE/bug-report.md
> .github/ISSUE_TEMPLATE/config.yml
> .github/ISSUE_TEMPLATE/enhancement.md
> .github/ISSUE_TEMPLATE.md
> .github/PULL_REQUEST_TEMPLATE.md
> .github/SUPPORT.md
> .github/workflows/cifuzz.yml
> .github/workflows/ci.yml
> .github/workflows/qemu.yml
> .gitignore
395,396d386
< helper_thread.c
< helper_thread.h
398a389,391
> helper_thread.c
> helper_thread.h
> HOWTO.rst
403,406d395
< io_u.c
< io_u.h
< io_u_queue.c
< io_u_queue.h
410a400,403
> io_u.c
> io_u.h
> io_u_queue.c
> io_u_queue.h
418a412
> libfio.c
458d451
< libfio.c
460a454
> Makefile
462a457
> MORAL-LICENSE
467a463,488
> oslib/asprintf.c
> oslib/asprintf.h
> oslib/blkzoned.h
> oslib/getopt.h
> oslib/getopt_long.c
> oslib/inet_aton.c
> oslib/inet_aton.h
> oslib/libmtd.c
> oslib/libmtd_common.h
> oslib/libmtd.h
> oslib/libmtd_int.h
> oslib/libmtd_legacy.c
> oslib/libmtd_xalloc.h
> oslib/linux-blkzoned.c
> oslib/linux-dev-lookup.c
> oslib/linux-dev-lookup.h
> oslib/statx.c
> oslib/statx.h
> oslib/strcasestr.c
> oslib/strcasestr.h
> oslib/strlcat.c
> oslib/strlcat.h
> oslib/strndup.c
> oslib/strndup.h
> oslib/strsep.c
> oslib/strsep.h
472a494
> os/os.h
474d495
< os/os-linux-syscall.h
475a497
> os/os-linux-syscall.h
483,485d504
< os/os.h
< os/windows/WixUI_Minimal_NoEULA.wxs
< os/windows/WixUI_fio.wxl
504a524
> os/windows/posix/include/syslog.h
512,538c532,533
< os/windows/posix/include/syslog.h
< oslib/asprintf.c
< oslib/asprintf.h
< oslib/blkzoned.h
< oslib/getopt.h
< oslib/getopt_long.c
< oslib/inet_aton.c
< oslib/inet_aton.h
< oslib/libmtd.c
< oslib/libmtd.h
< oslib/libmtd_common.h
< oslib/libmtd_int.h
< oslib/libmtd_legacy.c
< oslib/libmtd_xalloc.h
< oslib/linux-blkzoned.c
< oslib/linux-dev-lookup.c
< oslib/linux-dev-lookup.h
< oslib/statx.c
< oslib/statx.h
< oslib/strcasestr.c
< oslib/strcasestr.h
< oslib/strlcat.c
< oslib/strlcat.h
< oslib/strndup.c
< oslib/strndup.h
< oslib/strsep.c
< oslib/strsep.h
---
> os/windows/WixUI_fio.wxl
> os/windows/WixUI_Minimal_NoEULA.wxs
550a546,548
> README.rst
> .readthedocs.yaml
> REPORTING-BUGS
554a553
> SERVER-TODO
560a560
> STEADYSTATE-TODO
574a575,576
> td_error.c
> td_error.h
580a583,585
> thread_options.h
> tickmarks.c
> tickmarks.h
581a587
> time.c
616d621
< t/jobs/t0031-pre.fio
617a623
> t/jobs/t0031-pre.fio
632d637
< t/nvmept.py
634a640
> t/nvmept.py
638,662d643
< t/random_seed.py
< t/read-to-pipe-async.c
< t/readonly.py
< t/run-fio-tests.py
< t/sgunmap-perf.py
< t/sgunmap-test.py
< t/steadystate_tests.py
< t/stest.c
< t/strided.py
< t/time-test.c
< t/verify-state.c
< t/verify-trim.py
< t/verify.py
< t/zbd/functions
< t/zbd/run-tests-against-nullb
< t/zbd/run-tests-against-scsi_debug
< t/zbd/test-zbd-support
< td_error.c
< td_error.h
< thread_options.h
< tickmarks.c
< tickmarks.h
< time.c
< tools/.gitignore
< tools/fio.service
665d645
< tools/fio_jsonplus_clat2csv
667a648
> tools/fio_jsonplus_clat2csv
668a650
> tools/fio.service
670c652
< tools/hist/.gitignore
---
> tools/.gitignore
673a656
> tools/hist/.gitignore
681d663
< tools/plot/samples/Makefile
682a665,668
> tools/plot/samples/Makefile
> t/random_seed.py
> t/readonly.py
> t/read-to-pipe-async.c
684a671,684
> t/run-fio-tests.py
> t/sgunmap-perf.py
> t/sgunmap-test.py
> t/steadystate_tests.py
> t/stest.c
> t/strided.py
> t/time-test.c
> t/verify.py
> t/verify-state.c
> t/verify-trim.py
> t/zbd/functions
> t/zbd/run-tests-against-nullb
> t/zbd/run-tests-against-scsi_debug
> t/zbd/test-zbd-support
694d693
< verify-state.h
696a696
> verify-state.h
1 Like