Hi,
Quick overview of what I'm trying: I want to play with deterministic physics across different hardware, so the same initial state and same parameters (eg. simulation stepping) results on the same final state. My idea is that if I compile it with the same compiler and using software floating point calculations instate of the FPU on the hardware, then floating point calculations will not diverge from different hardware, os, etc cause it will be handled internally by integers using the same implementation (exactly the same compiler).
The problem: I'm trying to accomplish that, but without success. I can't find much information on the issue. At the moment I'm trying to compile and run a tiny example of the "nphysics" library. Without soft-float, I can run it without problem (I already have some experience with rust). Problem comes when I try to compile it with "+soft-float" or "-mmx,-sse,+soft-float" target features. Compilation can't succeed. On debug with verbose I get this kind of error:
Fresh autocfg v1.0.0
Fresh cfg-if v0.1.10
Fresh lazy_static v1.4.0
Fresh unicode-xid v0.1.0
Compiling xml-rs v0.8.2
Fresh autocfg v0.1.7
Fresh rand_core v0.4.2
Running `rustc --crate-name xml /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/xml-rs-0.8.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=a36f7ca3370075bd -C extra-filename=-a36f7ca3370075bd --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --cap-lints allow -C target-feature=-mmx,-sse,+soft-float`
Fresh scopeguard v1.1.0
Compiling cc v1.0.50
Fresh semver-parser v0.7.0
Fresh rustc-hash v1.1.0
Fresh downcast-rs v1.1.1
Running `rustc --crate-name cc --edition=2018 /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/cc-1.0.50/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=ffee7cd6e6b273ca -C extra-filename=-ffee7cd6e6b273ca --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --cap-lints allow -C target-feature=-mmx,-sse,+soft-float`
Fresh linked-hash-map v0.5.2
Fresh void v1.0.2
Fresh unicode-xid v0.2.0
Fresh either v1.5.3
Compiling pkg-config v0.3.17
Fresh ordermap v0.3.5
Fresh fixedbitset v0.1.9
Fresh stable_deref_trait v1.1.1
Fresh same-file v1.0.6
Compiling xdg v2.2.0
Fresh rawpointer v0.2.1
Running `rustc --crate-name pkg_config /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/pkg-config-0.3.17/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=cd3aef99d90be049 -C extra-filename=-cd3aef99d90be049 --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --cap-lints allow -C target-feature=-mmx,-sse,+soft-float`
Running `rustc --crate-name xdg /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/xdg-2.2.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=810f71efbdcfd8aa -C extra-filename=-810f71efbdcfd8aa --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --cap-lints allow -C target-feature=-mmx,-sse,+soft-float`
Fresh adler32 v1.0.4
Fresh scopeguard v0.3.3
Fresh lzw v0.10.0
Fresh piston-float v0.3.0
Fresh slab v0.4.2
Fresh percent-encoding v1.0.1
Fresh color_quant v1.0.1
Fresh slotmap v0.3.0
Fresh scoped_threadpool v0.1.9
Fresh fnv v1.0.6
Fresh instant v0.1.2
Compiling proc-macro2 v0.4.30
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/proc-macro2-1c34a13254c6299d/build-script-build`
Fresh generational-arena v0.2.7
Compiling byteorder v1.3.4
Fresh rand_core v0.3.1
Compiling log v0.4.8
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/byteorder-e2db1b979a88bfc3/build-script-build`
Compiling khronos_api v3.1.0
Fresh rand_jitter v0.1.4
Compiling nix v0.14.1
Compiling semver v0.9.0
Compiling proc-macro2 v1.0.10
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/log-57e3495c98e19288/build-script-build`
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/khronos_api-d5d4d9e69fe37be9/build-script-build`
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/nix-abb618d4e549e253/build-script-build`
Running `rustc --crate-name semver /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/semver-0.9.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 --cfg 'feature="default"' -C metadata=f44c1739bb09819b -C extra-filename=-f44c1739bb09819b --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --extern semver_parser=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps/libsemver_parser-29e0db7194edeca5.rmeta --cap-lints allow -C target-feature=-mmx,-sse,+soft-float`
Compiling syn v0.15.44
Compiling rayon-core v1.7.0
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/syn-6970467b9338dadd/build-script-build`
Compiling owning_ref v0.4.1
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/rayon-core-5028e547801b2ab6/build-script-build`
Compiling walkdir v2.3.1
Running `rustc --crate-name owning_ref /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/owning_ref-0.4.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=680a4e3b149d0cb3 -C extra-filename=-680a4e3b149d0cb3 --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --extern stable_deref_trait=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps/libstable_deref_trait-9d32a297a8d5cb72.rmeta --cap-lints allow -C target-feature=-mmx,-sse,+soft-float`
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/proc-macro2-ea6be11d0feec0e2/build-script-build`
Running `rustc --crate-name walkdir --edition=2018 /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/walkdir-2.3.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=f9f8c153eaca94d1 -C extra-filename=-f9f8c153eaca94d1 --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --extern same_file=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps/libsame_file-a5d17aca75c021d9.rmeta --cap-lints allow -C target-feature=-mmx,-sse,+soft-float`
Compiling syn v1.0.17
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/syn-d5472e4f8fca193c/build-script-build`
Fresh petgraph v0.4.13
Compiling num-derive v0.2.5
Compiling serde v1.0.106
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/serde-6cf2a6bf6b24192b/build-script-build`
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/num-derive-102142173b0e76cb/build-script-build`
Fresh matrixmultiply v0.2.3
Compiling inflate v0.4.5
Compiling piston-viewport v0.5.0
Running `rustc --crate-name viewport /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/piston-viewport-0.5.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=3593c6df73564e5e -C extra-filename=-3593c6df73564e5e --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --extern float=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps/libfloat-25067a98db9f3de7.rmeta --cap-lints allow -C target-feature=-mmx,-sse,+soft-float`
Fresh libc v0.2.69
Running `rustc --crate-name inflate /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/inflate-0.4.5/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 --cfg 'feature="default"' -C metadata=b767d6e1ef2b6cca -C extra-filename=-b767d6e1ef2b6cca --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --extern adler32=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps/libadler32-f0be7fc42b62f0a5.rmeta --cap-lints allow -C target-feature=-mmx,-sse,+soft-float`
Fresh libm v0.2.1
Compiling gif v0.10.3
Running `rustc --crate-name gif /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/gif-0.10.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="raii_no_panic"' -C metadata=86b2f05c788656eb -C extra-filename=-86b2f05c788656eb --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --extern color_quant=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps/libcolor_quant-bddca3167f05293c.rmeta --extern lzw=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps/liblzw-136c93306fc01c9c.rmeta --cap-lints allow -C target-feature=-mmx,-sse,+soft-float`
Fresh maybe-uninit v2.0.0
Compiling crossbeam-utils v0.7.2
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/crossbeam-utils-6c27d053ac4f08d9/build-script-build`
Compiling memoffset v0.5.4
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/memoffset-d4341269b9aa6a20/build-script-build`
Compiling crossbeam-epoch v0.8.2
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/crossbeam-epoch-08097af25b012e86/build-script-build`
Compiling num-integer v0.1.42
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/num-integer-ff2f2c0ef5410e46/build-script-build`
Compiling rand v0.6.5
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/rand-7e8ded26ae9dfc7e/build-script-build`
Compiling num-bigint v0.2.6
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/num-bigint-4b5154248998a8d7/build-script-build`
Compiling num-complex v0.2.4
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/num-complex-d09ae0d34be280c3/build-script-build`
Fresh bitflags v1.2.1
Fresh rand_hc v0.1.0
Fresh rand_xorshift v0.1.1
Fresh rand_isaac v0.1.1
Compiling num-rational v0.2.4
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/num-rational-67d1b2436add8a52/build-script-build`
Compiling num-iter v0.1.40
Running `/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/num-iter-ae6730aa0adbf952/build-script-build`
Running `rustc --crate-name log /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/log-0.4.8/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=dd0cc9f7ce37032a -C extra-filename=-dd0cc9f7ce37032a --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --extern cfg_if=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps/libcfg_if-7bfa6ddb9b2ff1d3.rmeta --cap-lints allow -C target-feature=-mmx,-sse,+soft-float --cfg atomic_cas`
Compiling typenum v1.12.0
Running `rustc --crate-name typenum /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/typenum-1.12.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=f3ded0b1bdfad787 -C extra-filename=-f3ded0b1bdfad787 --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --cap-lints allow -C target-feature=-mmx,-sse,+soft-float`
Running `rustc --crate-name khronos_api /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/khronos_api-3.1.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=f81d311fe9aa2a2c -C extra-filename=-f81d311fe9aa2a2c --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --cap-lints allow -C target-feature=-mmx,-sse,+soft-float`
Running `rustc --crate-name proc_macro2 /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-0.4.30/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=83dd46554a579751 -C extra-filename=-83dd46554a579751 --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --extern unicode_xid=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps/libunicode_xid-ff4fcdd9189ddc82.rmeta --cap-lints allow -C target-feature=-mmx,-sse,+soft-float --cfg u128 --cfg use_proc_macro --cfg wrap_proc_macro --cfg proc_macro_span`
error[E0428]: the name `U128` is defined multiple times
--> /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/typenum-fc8ea52f0881830a/out/consts.rs:2112:5
|
318 | pub type U128 = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>;
| ------------------------------------------------------------------------------------------------------ previous definition of the type `U128` here
...
2112 | pub type U128 = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U128` redefined here
|
= note: `U128` must be defined only once in the type namespace of this module
error[E0428]: the name `P128` is defined multiple times
--> /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/typenum-fc8ea52f0881830a/out/consts.rs:2113:5
|
319 | pub type P128 = PInt<U128>; pub type N128 = NInt<U128>;
| --------------------------- previous definition of the type `P128` here
...
2113 | pub type P128 = PInt<U128>; pub type N128 = NInt<U128>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `P128` redefined here
|
= note: `P128` must be defined only once in the type namespace of this module
error[E0428]: the name `N128` is defined multiple times
--> /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/typenum-fc8ea52f0881830a/out/consts.rs:2113:33
|
319 | pub type P128 = PInt<U128>; pub type N128 = NInt<U128>;
| --------------------------- previous definition of the type `N128` here
...
2113 | pub type P128 = PInt<U128>; pub type N128 = NInt<U128>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `N128` redefined here
|
= note: `N128` must be defined only once in the type namespace of this module
error[E0428]: the name `U256` is defined multiple times
--> /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/typenum-fc8ea52f0881830a/out/consts.rs:2114:5
|
574 | pub type U256 = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>;
| ---------------------------------------------------------------------------------------------------------------- previous definition of the type `U256` here
...
2114 | pub type U256 = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U256` redefined here
|
= note: `U256` must be defined only once in the type namespace of this module
error[E0428]: the name `P256` is defined multiple times
--> /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/typenum-fc8ea52f0881830a/out/consts.rs:2115:5
|
575 | pub type P256 = PInt<U256>; pub type N256 = NInt<U256>;
| --------------------------- previous definition of the type `P256` here
...
2115 | pub type P256 = PInt<U256>; pub type N256 = NInt<U256>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `P256` redefined here
|
= note: `P256` must be defined only once in the type namespace of this module
error[E0428]: the name `N256` is defined multiple times
--> /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/typenum-fc8ea52f0881830a/out/consts.rs:2115:33
|
575 | pub type P256 = PInt<U256>; pub type N256 = NInt<U256>;
| --------------------------- previous definition of the type `N256` here
...
2115 | pub type P256 = PInt<U256>; pub type N256 = NInt<U256>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `N256` redefined here
|
= note: `N256` must be defined only once in the type namespace of this module
error[E0428]: the name `U512` is defined multiple times
--> /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/typenum-fc8ea52f0881830a/out/consts.rs:2116:5
|
1086 | pub type U512 = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>;
| -------------------------------------------------------------------------------------------------------------------------- previous definition of the type `U512` here
...
2116 | pub type U512 = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U512` redefined here
|
= note: `U512` must be defined only once in the type namespace of this module
error[E0428]: the name `P512` is defined multiple times
--> /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/typenum-fc8ea52f0881830a/out/consts.rs:2117:5
|
1087 | pub type P512 = PInt<U512>; pub type N512 = NInt<U512>;
| --------------------------- previous definition of the type `P512` here
...
2117 | pub type P512 = PInt<U512>; pub type N512 = NInt<U512>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `P512` redefined here
|
= note: `P512` must be defined only once in the type namespace of this module
error[E0428]: the name `N512` is defined multiple times
--> /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/typenum-fc8ea52f0881830a/out/consts.rs:2117:33
|
1087 | pub type P512 = PInt<U512>; pub type N512 = NInt<U512>;
| --------------------------- previous definition of the type `N512` here
...
2117 | pub type P512 = PInt<U512>; pub type N512 = NInt<U512>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `N512` redefined here
|
= note: `N512` must be defined only once in the type namespace of this module
error[E0428]: the name `U1024` is defined multiple times
--> /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/typenum-fc8ea52f0881830a/out/consts.rs:2118:5
|
2110 | pub type U1024 = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>;
| ------------------------------------------------------------------------------------------------------------------------------------- previous definition of the type `U1024` here
...
2118 | pub type U1024 = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U1024` redefined here
|
= note: `U1024` must be defined only once in the type namespace of this module
error[E0428]: the name `P1024` is defined multiple times
--> /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/typenum-fc8ea52f0881830a/out/consts.rs:2119:5
|
2111 | pub type P1024 = PInt<U1024>; pub type N1024 = NInt<U1024>;
| ----------------------------- previous definition of the type `P1024` here
...
2119 | pub type P1024 = PInt<U1024>; pub type N1024 = NInt<U1024>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `P1024` redefined here
|
= note: `P1024` must be defined only once in the type namespace of this module
error[E0428]: the name `N1024` is defined multiple times
--> /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/build/typenum-fc8ea52f0881830a/out/consts.rs:2119:35
|
2111 | pub type P1024 = PInt<U1024>; pub type N1024 = NInt<U1024>;
| ----------------------------- previous definition of the type `N1024` here
...
2119 | pub type P1024 = PInt<U1024>; pub type N1024 = NInt<U1024>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `N1024` redefined here
|
= note: `N1024` must be defined only once in the type namespace of this module
Compiling daggy v0.5.0
Running `rustc --crate-name daggy /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/daggy-0.5.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=af9d6684a0ded5bb -C extra-filename=-af9d6684a0ded5bb --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --extern petgraph=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps/libpetgraph-2824e7579974c79f.rmeta --cap-lints allow -C target-feature=-mmx,-sse,+soft-float`
LLVM ERROR: Do not know how to split this operator's operand!
error: could not compile `xdg`.
Caused by:
process didn't exit successfully: `rustc --crate-name xdg /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/xdg-2.2.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=810f71efbdcfd8aa -C extra-filename=-810f71efbdcfd8aa --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --cap-lints allow -C target-feature=-mmx,-sse,+soft-float` (exit code: 101)
warning: build failed, waiting for other jobs to finish...
LLVM ERROR: Do not know how to split this operator's operand!
error: could not compile `cc`.
Caused by:
process didn't exit successfully: `rustc --crate-name cc --edition=2018 /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/cc-1.0.50/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=ffee7cd6e6b273ca -C extra-filename=-ffee7cd6e6b273ca --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --cap-lints allow -C target-feature=-mmx,-sse,+soft-float` (exit code: 101)
warning: build failed, waiting for other jobs to finish...
error: aborting due to 12 previous errors
For more information about this error, try `rustc --explain E0428`.
error: could not compile `typenum`.
Caused by:
process didn't exit successfully: `rustc --crate-name typenum /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/typenum-1.12.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=f3ded0b1bdfad787 -C extra-filename=-f3ded0b1bdfad787 --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --cap-lints allow -C target-feature=-mmx,-sse,+soft-float` (exit code: 1)
warning: build failed, waiting for other jobs to finish...
LLVM ERROR: Do not know how to split this operator's operand!
error: could not compile `pkg-config`.
Caused by:
process didn't exit successfully: `rustc --crate-name pkg_config /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/pkg-config-0.3.17/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=cd3aef99d90be049 -C extra-filename=-cd3aef99d90be049 --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --cap-lints allow -C target-feature=-mmx,-sse,+soft-float` (exit code: 101)
warning: build failed, waiting for other jobs to finish...
LLVM ERROR: Do not know how to split this operator's operand!
error: could not compile `xml-rs`.
Caused by:
process didn't exit successfully: `rustc --crate-name xml /home/junky/.cargo/registry/src/github.com-1ecc6299db9ec823/xml-rs-0.8.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 -C metadata=a36f7ca3370075bd -C extra-filename=-a36f7ca3370075bd --out-dir /mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps -L dependency=/mnt/Arxius/Documents/example_nphysics_testbed_3d/target/debug/deps --cap-lints allow -C target-feature=-mmx,-sse,+soft-float` (exit code: 101)
warning: build failed, waiting for other jobs to finish...
error: build failed
My platform is an x86_64 running on arch linux. I tried with lasted rust stable and nightly. I think I maybe have to static link the libc with soft-float or change some dependencies? I can't find much information on the issue so any help will be really appreciated. Even to know if it is possible to compile a program with soft-float on x86_64 (I guess it is cause there is some mentions on the net about people programing OS with rust and soft-float enabled, itis where I found this target feature "-mmx,-sse,+soft-float" parameter).
Thank you in advance.