redub icon indicating copy to clipboard operation
redub copied to clipboard

Mir-algorithm fails to build

Open vabenil opened this issue 10 months ago • 12 comments

Redub version: 1.20.3 dmd version: 2.109.1 dub version: 1.38.1

Any project with mir-algorithm as a dependency fails to build, dub builds mir projects just fine.

I have been having this problem for a couple of months already, so it's unrelated to the latest realese.

Steps to reproduce

create a project and set the dub.json to:

{
	"dependencies": {
		"mir-algorithm": "*"
	},
	"name": "example"
}

Then do:

$ redub

You will get something like this:

[ vabenil@arch-pc: D/tests/2 ]$ redub
Dependencies resolved - 0 ms "debug" using /usr/bin/dmd v2.109.1 [linux-x86_64] - full parallel
Up-to-Date: mir-core [library];
Will Build: 2; mir-algorithm [default];
Built: 2 - 527ms
Build Failure: 'mir-algorithm 3.22.3 [default]'
        Redub v1.20.3
        dmd 2.109.1
        Failed with flags:

        /usr/bin/dmd '-color=on' -op -debug -g '-version=Have_mir_core' '-version=Have_mir_algorithm' -I/home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source -I/home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/graph/package.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/graph/tarjan.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/type_info.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/format.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/small_string.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algorithm/setops.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algorithm/iteration.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/base64.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/mod.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/linear.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/package.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/polynomial.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/generic.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/utility.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/constant.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/extrapolate.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/spline.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/context.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/slim_ptr.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/package.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/array.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/ptr.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/stat.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/sum.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/numeric.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/func/normal.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/func/hermite.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/func/expdigamma.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/field.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/allocation.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/dynamic.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/iterator.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/sorting.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/filling.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/package.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/ndfield.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/concatenation.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/chunks.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/topology.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/slice.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/mutation.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/fuse.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/connect/cpython.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/traits.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/internal.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/date.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/appender.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/array/allocation.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/polynomial.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/annotated.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/numeric.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/parse.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/test.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/stdio.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/combinatorics/package.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ediff.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/container/binaryheap.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/series.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/range.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/format_impl.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/cpp_export/numeric.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/serde.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/internal/ldc_simd.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/string_map.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/lob.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/small_array.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/timestamp.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algebraic_alias/ion.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algebraic_alias/transform.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algebraic_alias/json.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/decimal.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/fixed.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/fp.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/low_level_view.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/kernel.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/phobos_kernel.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/parse.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/dec2float_table.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/dec2float.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/ryu/table.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/ryu/generic_128.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/integer.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/string.d -lib '-of=/home/vabenil/.dub/.redub/7B422004A01006B4/83CCC8CC53C8F507/libmir-algorithm.a'
Failed after 2140ms with message
        /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/algebraic.d(1474): Error: `pure` function `mir.algebraic.Algebraic!(Ion_).Algebraic.opEquals!().opEquals` cannot call impure function `mir.annotated.U!(Algebraic!(Ion_)).Annotated.opEquals`
/home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/algebraic.d(1474): Error: `@nogc` function `mir.algebraic.Algebraic!(Ion_).Algebraic.opEquals!().opEquals` cannot call non-@nogc function `mir.annotated.U!(Algebraic!(Ion_)).Annotated.opEquals`
/home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/algebraic.d(1474): Error: function `mir.annotated.U!(Algebraic!(Ion_)).Annotated.opEquals` is not `nothrow`
/home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/algebraic.d(1429): Error: function `mir.algebraic.Algebraic!(Ion_).Algebraic.opEquals!().opEquals` may throw but is marked as `nothrow`
/home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/annotated.d(69): Error: template instance `mir.algebraic.Algebraic!(Ion_).Algebraic.opEquals!()` error instantiating
/home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/internal/meta.d(683):        instantiated from here: `U!(Algebraic!(Ion_))`
/home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/algebraic.d(858):        12 recursive instantiations from here: `ReplaceTypeUnless!(isVariant, This, Algebraic!(Ion_), typeof(null), bool, long, double, string, Blob, Clob, Timestamp, This[], StringMap!(This), Annotated!(This))`
/home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algebraic_alias/ion.d(60):        instantiated from here: `Algebraic!(Ion_)`

Warning: If you think this is a bug on redub, do test with dub, if it works, do file an issue at https://github.com/MrcSnm/redub/issues/new/choose
Build Failure
[ vabenil@arch-pc: D/tests/2 ]$ ^C
[ vabenil@arch-pc: D/tests/2 ]$ dub --verison
       Error Unknown command line flags: --verison
             Type "dub run -h" to get a list of all supported flags.
[ vabenil@arch-pc: D/tests/2 ]$ dub --version
DUB version 1.38.1, built on Jul  7 2024

Feel free to ask for extra details

vabenil avatar Feb 22 '25 17:02 vabenil

I will certailny need more details, this builds fine forme, though I`m on windows

MrcSnm avatar Feb 22 '25 23:02 MrcSnm

I'm using Arch linux kernel 6.12.12-1-lts.

Haven't tested on Windows.

For a better test I deleted my ~/.dub directory to start fresh, and compiled the default program provided by dub init with redub -f -v (I also have no dub.selection.json)

{
	"authors": [
		"Vabenil"
	],
	"copyright": "Copyright © 2025, Vabenil",
	"dependencies": {
		"mir-algorithm": "~>3.22.3"
	},
	"description": "Test",
	"license": "MIT",
	"name": "bl_test"
}

This was the output of the command: Beware no linewrapping!

[ vabenil@arch-pc: D/tests/bl_test ]$ redub -f -v
Parsing /home/vabenil/MEGA/sync/D/tests/bl_test/dub.json at /home/vabenil/MEGA/sync/D/tests/bl_test with : -c
Added project bl_test to memory cache.
Getting package mir-algorithm:@~>3.22.3
Fetching Package: mir-algorithm  version ~>3.22.3
Parsing /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/dub.json at /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm with : -c
Getting package mir-core:@>=1.6.0
Fetching Package: mir-core  version >=1.6.0
Parsing /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/dub.json at /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core with : -c
Fetch Success: mir-algorithm v3.22.3 required by bl_test
Fetch Success: mir-core v1.7.1 required by mir-algorithm
Dependencies resolved - 1822 ms "debug" using /usr/bin/dmd v2.109.1 [linux-x86_64] - full parallel
Will Build: bl_test; mir-algorithm [default]; mir-core;
Built: bl_test - 244ms

       /usr/bin/dmd '-color=on' -op -debug -g '-version=Have_mir_core' '-version=Have_mir_algorithm' '-version=Have_bl_test' -I/home/vabenil/MEGA/sync/D/tests/bl_test/source -I/home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source -I/home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source /home/vabenil/MEGA/sync/D/tests/bl_test/source/app.d -c '-of=/home/vabenil/.dub/.redub/8960FBB75F103957/8960FBB75F103957/bl_test.o'

Built: mir-core 1.7.1 - 241ms

       /usr/bin/dmd '-color=on' -op -debug -g '-version=Have_mir_core' -I/home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/complex/math.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/complex/package.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/functional.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/string_table.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/conv.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/algebraic.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/math/ieee.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/math/package.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/math/constant.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/math/common.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/primitives.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/bitop.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/enums.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/utility.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/checkedint.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/reflection.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/bitmanip.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/qualifier.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/internal/meta.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/internal/utility.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/internal/memory.d /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/exception.d -lib '-of=/home/vabenil/.dub/.redub/8960FBB75F103957/CD5BCF2AC3649BD3/libmir-core.a'

Build Failure: 'mir-algorithm 3.22.3 [default]'
       Redub v1.20.3
       dmd 2.109.1
       Failed with flags:

       /usr/bin/dmd '-color=on' -op -debug -g '-version=Have_mir_core' '-version=Have_mir_algorithm' -I/home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source -I/home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/graph/package.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/graph/tarjan.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/type_info.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/format.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/small_string.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algorithm/setops.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algorithm/iteration.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/base64.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/mod.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/linear.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/package.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/polynomial.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/generic.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/utility.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/constant.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/extrapolate.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/spline.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/context.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/slim_ptr.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/package.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/array.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/ptr.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/stat.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/sum.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/numeric.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/func/normal.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/func/hermite.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/func/expdigamma.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/field.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/allocation.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/dynamic.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/iterator.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/sorting.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/filling.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/package.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/ndfield.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/concatenation.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/chunks.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/topology.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/slice.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/mutation.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/fuse.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/connect/cpython.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/traits.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/internal.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/date.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/appender.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/array/allocation.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/polynomial.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/annotated.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/numeric.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/parse.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/test.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/stdio.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/combinatorics/package.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ediff.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/container/binaryheap.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/series.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/range.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/format_impl.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/cpp_export/numeric.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/serde.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/internal/ldc_simd.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/string_map.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/lob.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/small_array.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/timestamp.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algebraic_alias/ion.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algebraic_alias/transform.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algebraic_alias/json.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/decimal.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/fixed.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/fp.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/low_level_view.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/kernel.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/phobos_kernel.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/parse.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/dec2float_table.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/dec2float.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/ryu/table.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/ryu/generic_128.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/integer.d /home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/string.d -lib '-of=/home/vabenil/.dub/.redub/8960FBB75F103957/83CCC8CC53C8F507/libmir-algorithm.a'
Failed after 2186ms with message
       /home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/algebraic.d(1474): Error: `pure` function `mir.algebraic.Algebraic!(Ion_).Algebraic.opEquals!().opEquals` cannot call impure function `mir.annotated.U!(Algebraic!(Ion_)).Annotated.opEquals`
/home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/algebraic.d(1474): Error: `@nogc` function `mir.algebraic.Algebraic!(Ion_).Algebraic.opEquals!().opEquals` cannot call non-@nogc function `mir.annotated.U!(Algebraic!(Ion_)).Annotated.opEquals`
/home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/algebraic.d(1474): Error: function `mir.annotated.U!(Algebraic!(Ion_)).Annotated.opEquals` is not `nothrow`
/home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/algebraic.d(1429): Error: function `mir.algebraic.Algebraic!(Ion_).Algebraic.opEquals!().opEquals` may throw but is marked as `nothrow`
/home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/annotated.d(69): Error: template instance `mir.algebraic.Algebraic!(Ion_).Algebraic.opEquals!()` error instantiating
/home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/internal/meta.d(683):        instantiated from here: `U!(Algebraic!(Ion_))`
/home/vabenil/.dub/packages/mir-core/1.7.1/mir-core/source/mir/algebraic.d(858):        12 recursive instantiations from here: `ReplaceTypeUnless!(isVariant, This, Algebraic!(Ion_), typeof(null), bool, long, double, string, Blob, Clob, Timestamp, This[], StringMap!(This), Annotated!(This))`
/home/vabenil/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algebraic_alias/ion.d(60):        instantiated from here: `Algebraic!(Ion_)`

Warning: If you think this is a bug on redub, do test with dub, if it works, do file an issue at https://github.com/MrcSnm/redub/issues/new/choose
Build Failure

vabenil avatar Feb 23 '25 00:02 vabenil

I tested it in an Ubuntu 24.04 instance in AWS, using redub-ubuntu-latest-x86_64 from the release page and the build failed exactly the same way

vabenil avatar Feb 23 '25 00:02 vabenil

I'll test it later today against linux

MrcSnm avatar Feb 23 '25 11:02 MrcSnm

I have just tested on Linux and it still builds fine for me:

hipreme@LinuxMint:~/test/redubug$ redub -f -v --compiler=dmd
Parsing /home/hipreme/test/redubug/dub.json at /home/hipreme/test/redubug with : -c 
Added project redubug to memory cache.
Getting package mir-algorithm:@~>3.22.3
Parsing /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/dub.json at /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm with : -c 
Getting package mir-core:@>=1.6.0
Parsing /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/dub.json at /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core with : -c 
Dependencies resolved - 0 ms "debug" using /usr/bin/dmd v2.109.1 [linux-x86_64] - full parallel
Will Build: redubug; mir-algorithm [default]; mir-core; 
Built: redubug - 59ms

	/usr/bin/dmd '-color=on' -op -debug -g '-version=Have_mir_core' '-version=Have_mir_algorithm' '-version=Have_redubug' -I/home/hipreme/test/redubug/source -I/home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source -I/home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source /home/hipreme/test/redubug/source/app.d -c '-of=/home/hipreme/.dub/.redub/7F5D97366D582EA9/7F5D97366D582EA9/redubug.o' 

Built: mir-core 1.7.1 - 65ms

	/usr/bin/dmd '-color=on' -op -debug -g '-version=Have_mir_core' -I/home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/math/ieee.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/math/package.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/math/constant.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/math/common.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/primitives.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/complex/package.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/complex/math.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/internal/meta.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/internal/memory.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/internal/utility.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/qualifier.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/exception.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/checkedint.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/bitop.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/functional.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/enums.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/utility.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/bitmanip.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/reflection.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/conv.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/string_table.d /home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source/mir/algebraic.d -lib '-of=/home/hipreme/.dub/.redub/7F5D97366D582EA9/E509B68461E8527A/libmir-core.a' 

Built: mir-algorithm 3.22.3 [default] - 914ms

	/usr/bin/dmd '-color=on' -op -debug -g '-version=Have_mir_core' '-version=Have_mir_algorithm' -I/home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source -I/home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/source /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/string_map.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/ryu/table.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/ryu/generic_128.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/kernel.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/phobos_kernel.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/parse.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/dec2float.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/internal/dec2float_table.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/fixed.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/fp.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/integer.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/low_level_view.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/bignum/decimal.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/numeric.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/func/expdigamma.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/func/normal.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/func/hermite.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/stat.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/math/sum.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algorithm/setops.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algorithm/iteration.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/type_info.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/internal/ldc_simd.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algebraic_alias/transform.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algebraic_alias/json.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/algebraic_alias/ion.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/generic.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/spline.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/extrapolate.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/mod.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/polynomial.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/package.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/linear.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/utility.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/interpolate/constant.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/date.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ediff.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/range.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/cpp_export/numeric.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/polynomial.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/ptr.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/slim_ptr.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/array.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/package.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/rc/context.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/serde.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/parse.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/format.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/appender.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/small_array.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/small_string.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/chunks.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/ndfield.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/iterator.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/filling.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/fuse.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/connect/cpython.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/concatenation.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/internal.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/slice.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/dynamic.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/mutation.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/package.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/topology.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/field.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/traits.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/sorting.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/ndslice/allocation.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/container/binaryheap.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/numeric.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/graph/tarjan.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/graph/package.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/stdio.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/test.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/timestamp.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/combinatorics/package.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/string.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/annotated.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/series.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/array/allocation.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/lob.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/format_impl.d /home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/source/mir/base64.d -lib '-of=/home/hipreme/.dub/.redub/7F5D97366D582EA9/E3E943ED73AB830A/libmir-algorithm.a' 

Linked: redubug - 86ms

	/usr/bin/dmd -of/home/hipreme/.dub/.redub/7F5D97366D582EA9/7F5D97366D582EA9/redubug /home/hipreme/test/redubug/redubug.o -g -L--no-as-needed -L--start-group -L/home/hipreme/.dub/packages/mir-algorithm/3.22.3/mir-algorithm/libmir-algorithm.a -L/home/hipreme/.dub/packages/mir-core/1.7.1/mir-core/libmir-core.a -L--end-group 

Finished redubug - 1002ms - To force a rebuild of up-to-date targets, run again with --force


Maybe you could try posting the dub -f -v --compiler=dmd here too?

MrcSnm avatar Feb 24 '25 10:02 MrcSnm

After some tests, I've noticed: The order of source files matters for mir. This is a known bug that 0xEAB commented on D discord. The bug is also reproducible with dub by calling dub build --combined.

Further tests allowed me to know that:

Dub specifies files by using dirEntries("*.d", SpanMode.breadth) Redub specifies files by using dirEntries("*.d", SpanMode.depth).

The main difference is due to depth allocating less memory and thus being faster.

As a workaround, I could suggest a redub flag (--breadth) to solve that issue if it is very important. But, to be fair, that issue should really be solved from the D compiler.

MrcSnm avatar Feb 26 '25 01:02 MrcSnm

@MrcSnm Hey, regarding your workaround I would personally appreciate it in the case this issue is not easily solvable (if it's a long-term issue that I will have to live with). It generally prevents me from using redub in anything that uses mir after all.

vabenil avatar Feb 26 '25 14:02 vabenil

@vabenil Take a look on the new version. Try it with redub build --breadth

MrcSnm avatar Feb 27 '25 01:02 MrcSnm

Actually, I don't think I'm able to fix that easily @vabenil . ~~From what I've seen, dirEntries in D doesn't implement spanmode.breadth correctly, so, the cause might be beyond my understanding right now :(~~

Update: I've added my own implementation of --breadth , so, you can try

MrcSnm avatar Feb 27 '25 02:02 MrcSnm

@vabenil Take a look on the new version. Try it with redub build --breadth Sorry, hadn't had much time to test this until today.

So I tried with the latest git version:

Redub v1.21.3 - A reimagined DUB. Built With LDC v2.110 at Mar  1 2025

and now mir-algorithm compiles fine with --breadth. Though I noticed that if I fisrt delete my ~/.dub directory and then I run dub build -f, then after that anytime I call redub build -f --breadth I will get a Build Failure.

vabenil avatar Mar 01 '25 21:03 vabenil

I have tried building mir with redub --breadth on Windows. I basically got the same error you were getting, while the depth version builds fine. Unfortunately I don't know how much more I could do, unfortunately, even the dir iterator itself is OS dependent and may lead to errors

MrcSnm avatar Mar 02 '25 00:03 MrcSnm

Btw I had similar issue some time ago: https://github.com/libmir/asdf/issues/23

And I really needed --combined - so I broke these contracts and fix the code in this fork: https://github.com/cyrusmsk/mir-algorithm

Of course it is not the proper way to fix the issue, but just in case you want to test with this implementation.

cyrusmsk avatar Jun 21 '25 15:06 cyrusmsk