libm icon indicating copy to clipboard operation
libm copied to clipboard

cargo test fails on Fedora with 0.2.x

Open igor-raits opened this issue 6 years ago • 9 comments

   Compiling proc-macro2 v1.0.6
   Compiling unicode-xid v0.2.0
   Compiling syn v1.0.8
     Running `/usr/bin/rustc --edition=2018 --crate-name build_script_build /usr/share/cargo/registry/proc-macro2-1.0.6/build.rs --color never --crate-type bin --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=823d6783be3e0ed4 -C extra-filename=-823d6783be3e0ed4 --out-dir /builddir/build/BUILD/libm-0.2.1/target/release/build/proc-macro2-823d6783be3e0ed4 -L dependency=/builddir/build/BUILD/libm-0.2.1/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Clink-arg=-Wl,-z,relro,-z,now -Ccodegen-units=1`
     Running `/usr/bin/rustc --crate-name unicode_xid /usr/share/cargo/registry/unicode-xid-0.2.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 --cfg 'feature="default"' -C metadata=5a0c1b68a0c5cc49 -C extra-filename=-5a0c1b68a0c5cc49 --out-dir /builddir/build/BUILD/libm-0.2.1/target/release/deps -L dependency=/builddir/build/BUILD/libm-0.2.1/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Clink-arg=-Wl,-z,relro,-z,now -Ccodegen-units=1`
     Running `/usr/bin/rustc --edition=2018 --crate-name build_script_build /usr/share/cargo/registry/syn-1.0.8/build.rs --color never --crate-type bin --emit=dep-info,link -C opt-level=3 --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="quote"' -C metadata=499287184ca53103 -C extra-filename=-499287184ca53103 --out-dir /builddir/build/BUILD/libm-0.2.1/target/release/build/syn-499287184ca53103 -L dependency=/builddir/build/BUILD/libm-0.2.1/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Clink-arg=-Wl,-z,relro,-z,now -Ccodegen-units=1`
     Running `/builddir/build/BUILD/libm-0.2.1/target/release/build/syn-499287184ca53103/build-script-build`
     Running `/builddir/build/BUILD/libm-0.2.1/target/release/build/proc-macro2-823d6783be3e0ed4/build-script-build`
     Running `/usr/bin/rustc --edition=2018 --crate-name proc_macro2 /usr/share/cargo/registry/proc-macro2-1.0.6/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=4a03d11144e41816 -C extra-filename=-4a03d11144e41816 --out-dir /builddir/build/BUILD/libm-0.2.1/target/release/deps -L dependency=/builddir/build/BUILD/libm-0.2.1/target/release/deps --extern unicode_xid=/builddir/build/BUILD/libm-0.2.1/target/release/deps/libunicode_xid-5a0c1b68a0c5cc49.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Clink-arg=-Wl,-z,relro,-z,now -Ccodegen-units=1 --cfg use_proc_macro --cfg wrap_proc_macro`
   Compiling quote v1.0.2
     Running `/usr/bin/rustc --edition=2018 --crate-name quote /usr/share/cargo/registry/quote-1.0.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=6d2cc2e4d7228b9e -C extra-filename=-6d2cc2e4d7228b9e --out-dir /builddir/build/BUILD/libm-0.2.1/target/release/deps -L dependency=/builddir/build/BUILD/libm-0.2.1/target/release/deps --extern proc_macro2=/builddir/build/BUILD/libm-0.2.1/target/release/deps/libproc_macro2-4a03d11144e41816.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Clink-arg=-Wl,-z,relro,-z,now -Ccodegen-units=1`
     Running `/usr/bin/rustc --edition=2018 --crate-name syn /usr/share/cargo/registry/syn-1.0.8/src/lib.rs --color never --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="quote"' -C metadata=bb581f1febca44da -C extra-filename=-bb581f1febca44da --out-dir /builddir/build/BUILD/libm-0.2.1/target/release/deps -L dependency=/builddir/build/BUILD/libm-0.2.1/target/release/deps --extern proc_macro2=/builddir/build/BUILD/libm-0.2.1/target/release/deps/libproc_macro2-4a03d11144e41816.rmeta --extern quote=/builddir/build/BUILD/libm-0.2.1/target/release/deps/libquote-6d2cc2e4d7228b9e.rmeta --extern unicode_xid=/builddir/build/BUILD/libm-0.2.1/target/release/deps/libunicode_xid-5a0c1b68a0c5cc49.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Clink-arg=-Wl,-z,relro,-z,now -Ccodegen-units=1 --cfg syn_disable_nightly_tests`
   Compiling no-panic v0.1.12
     Running `/usr/bin/rustc --edition=2018 --crate-name no_panic /usr/share/cargo/registry/no-panic-0.1.12/src/lib.rs --color never --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C opt-level=3 -C metadata=26b33b91ace56150 -C extra-filename=-26b33b91ace56150 --out-dir /builddir/build/BUILD/libm-0.2.1/target/release/deps -L dependency=/builddir/build/BUILD/libm-0.2.1/target/release/deps --extern proc_macro2=/builddir/build/BUILD/libm-0.2.1/target/release/deps/libproc_macro2-4a03d11144e41816.rlib --extern quote=/builddir/build/BUILD/libm-0.2.1/target/release/deps/libquote-6d2cc2e4d7228b9e.rlib --extern syn=/builddir/build/BUILD/libm-0.2.1/target/release/deps/libsyn-bb581f1febca44da.rlib --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Clink-arg=-Wl,-z,relro,-z,now -Ccodegen-units=1`
   Compiling libm v0.2.1 (/builddir/build/BUILD/libm-0.2.1)
     Running `/usr/bin/rustc --edition=2018 --crate-name libm src/lib.rs --color never --emit=dep-info,link -C opt-level=3 --test --cfg 'feature="default"' -C metadata=77a139cccbec6ec8 -C extra-filename=-77a139cccbec6ec8 --out-dir /builddir/build/BUILD/libm-0.2.1/target/release/deps -L dependency=/builddir/build/BUILD/libm-0.2.1/target/release/deps --extern no_panic=/builddir/build/BUILD/libm-0.2.1/target/release/deps/libno_panic-26b33b91ace56150.so -Copt-level=3 -Cdebuginfo=2 -Clink-arg=-Wl,-z,relro,-z,now -Ccodegen-units=1 --cfg assert_no_panic`
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/builddir/build/BUILD/libm-0.2.1/target/release/deps/libm-77a139cccbec6ec8.libm.5myggotc-cgu.0.rcgu.o" "-o" "/builddir/build/BUILD/libm-0.2.1/target/release/deps/libm-77a139cccbec6ec8" "/builddir/build/BUILD/libm-0.2.1/target/release/deps/libm-77a139cccbec6ec8.4acaxiqogrwj53o8.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/builddir/build/BUILD/libm-0.2.1/target/release/deps" "-L" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-173d2e97d293b3cf.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-86dfb2ae5d546069.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-0fe8b7e2d53a9015.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-b106f255271885a3.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-97b6ad9aa982d51a.rlib" "-Wl,--start-group" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-fdb2977172404604.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-2276f432557e358a.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-d91a0963851457f1.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-e3a4d7a60f36cd7b.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-26c55a4c0b0be321.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-02068e69ac6facdd.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-90c8c2d91aa986df.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-a01339979a402a7d.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-05f41bca06d4eaef.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-c24077c3d5bd6d13.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-b400b09575cf23ba.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-df494c8ea53f0c13.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-f4341f0990b2ad94.rlib" "-Wl,--end-group" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ccdd98a834e857ed.rlib" "-Wl,-Bdynamic" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" "-Wl,-z,relro,-z,now"
  = note: /usr/bin/ld: /builddir/build/BUILD/libm-0.2.1/target/release/deps/libm-77a139cccbec6ec8.libm.5myggotc-cgu.0.rcgu.o: in function `<libm::math::rem_pio2::rem_pio2::__NoPanic as core::ops::drop::Drop>::drop':
          /builddir/build/BUILD/libm-0.2.1/src/math/rem_pio2.rs:44: undefined reference to `
          
          ERROR[no-panic]: detected panic in function `rem_pio2`
          '
          /usr/bin/ld: /builddir/build/BUILD/libm-0.2.1/target/release/deps/libm-77a139cccbec6ec8.libm.5myggotc-cgu.0.rcgu.o: in function `<libm::math::rem_pio2_large::rem_pio2_large::__NoPanic as core::ops::drop::Drop>::drop':
          /builddir/build/BUILD/libm-0.2.1/src/math/rem_pio2_large.rs:225: undefined reference to `
          
          ERROR[no-panic]: detected panic in function `rem_pio2_large`
          '
          /usr/bin/ld: /builddir/build/BUILD/libm-0.2.1/target/release/deps/libm-77a139cccbec6ec8.libm.5myggotc-cgu.0.rcgu.o: in function `<libm::math::rem_pio2f::rem_pio2f::__NoPanic as core::ops::drop::Drop>::drop':
          /builddir/build/BUILD/libm-0.2.1/src/math/rem_pio2f.rs:34: undefined reference to `
          
          ERROR[no-panic]: detected panic in function `rem_pio2f`
          '
          collect2: error: ld returned 1 exit status

igor-raits avatar Nov 28 '19 14:11 igor-raits

Which command are you executing? no_panic should only be used when the crate is build in release mode, so is this cargo test --release ? Can you reproduce with just cargo test ?

gnzlbg avatar Nov 28 '19 14:11 gnzlbg

Ah sorry, I see the -C opt-level=3 there. Which Rust version are you using? Does it use the system LLVM or the bundled LLVM ? no_panic shouldn't fail if all optimizations are properly applied.

gnzlbg avatar Nov 28 '19 14:11 gnzlbg

It is both -C opt-level=3 and --release.

We are using latest rust 1.39.0, with system LLVM.

igor-raits avatar Nov 28 '19 15:11 igor-raits

https://kojipkgs.fedoraproject.org//work/tasks/7372/39387372/build.log

here is the full log.

igor-raits avatar Nov 28 '19 15:11 igor-raits

Could you try to reproduce with rustup's rust 1.39.0 ? If that doesn't reproduce, this might be due to the system LLVM used being too old or missing some Rust specific optimizations.

We should definitely have a feature or define in the build.rs to opt-out of no-panic for these use cases.

gnzlbg avatar Nov 28 '19 15:11 gnzlbg

@gnzlbg sorry for replying late. I have tried rustup's rust 1.39.0 and the same problem happens. I have boiled it down to the -Ccodegen-units=1.

⋊> ~/t/t/libm on master ◦ env RUSTFLAGS='-Ccodegen-units=1' ~/.cargo/bin/cargo test -j8 --release --verbose                                                                 11:03:53
   Compiling proc-macro2 v1.0.6
   Compiling unicode-xid v0.2.0
   Compiling syn v1.0.11
   Compiling libm v0.2.1 (/home/brain/tmp/tmp/libm)
     Running `rustc --edition=2018 --crate-name build_script_build /home/brain/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.6/build.rs --color always --crate-type bin --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=9e9c5ab37564e2ea -C extra-filename=-9e9c5ab37564e2ea --out-dir /home/brain/tmp/tmp/libm/target/release/build/proc-macro2-9e9c5ab37564e2ea -L dependency=/home/brain/tmp/tmp/libm/target/release/deps --cap-lints allow -Ccodegen-units=1`
     Running `rustc --crate-name unicode_xid /home/brain/.cargo/registry/src/github.com-1ecc6299db9ec823/unicode-xid-0.2.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 --cfg 'feature="default"' -C metadata=f9ef39ccfae1c50e -C extra-filename=-f9ef39ccfae1c50e --out-dir /home/brain/tmp/tmp/libm/target/release/deps -L dependency=/home/brain/tmp/tmp/libm/target/release/deps --cap-lints allow -Ccodegen-units=1`
     Running `rustc --edition=2018 --crate-name build_script_build /home/brain/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-1.0.11/build.rs --color always --crate-type bin --emit=dep-info,link -C opt-level=3 --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="quote"' -C metadata=59ae82537042b094 -C extra-filename=-59ae82537042b094 --out-dir /home/brain/tmp/tmp/libm/target/release/build/syn-59ae82537042b094 -L dependency=/home/brain/tmp/tmp/libm/target/release/deps --cap-lints allow -Ccodegen-units=1`
     Running `rustc --edition=2018 --crate-name build_script_build build.rs --color always --crate-type bin --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' -C metadata=bc32c2143849f732 -C extra-filename=-bc32c2143849f732 --out-dir /home/brain/tmp/tmp/libm/target/release/build/libm-bc32c2143849f732 -L dependency=/home/brain/tmp/tmp/libm/target/release/deps -Ccodegen-units=1`
     Running `/home/brain/tmp/tmp/libm/target/release/build/libm-bc32c2143849f732/build-script-build`
     Running `rustc --edition=2018 --crate-name libm src/lib.rs --color always --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 --cfg 'feature="default"' -C metadata=10cbc13a39350eda -C extra-filename=-10cbc13a39350eda --out-dir /home/brain/tmp/tmp/libm/target/release/deps -L dependency=/home/brain/tmp/tmp/libm/target/release/deps -Ccodegen-units=1 --cfg assert_no_panic`
     Running `/home/brain/tmp/tmp/libm/target/release/build/syn-59ae82537042b094/build-script-build`
     Running `/home/brain/tmp/tmp/libm/target/release/build/proc-macro2-9e9c5ab37564e2ea/build-script-build`
     Running `rustc --edition=2018 --crate-name proc_macro2 /home/brain/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.6/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=bb39b1f86bd94276 -C extra-filename=-bb39b1f86bd94276 --out-dir /home/brain/tmp/tmp/libm/target/release/deps -L dependency=/home/brain/tmp/tmp/libm/target/release/deps --extern unicode_xid=/home/brain/tmp/tmp/libm/target/release/deps/libunicode_xid-f9ef39ccfae1c50e.rmeta --cap-lints allow -Ccodegen-units=1 --cfg use_proc_macro --cfg wrap_proc_macro`
   Compiling quote v1.0.2
     Running `rustc --edition=2018 --crate-name quote /home/brain/.cargo/registry/src/github.com-1ecc6299db9ec823/quote-1.0.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=c7e8137403edfe5f -C extra-filename=-c7e8137403edfe5f --out-dir /home/brain/tmp/tmp/libm/target/release/deps -L dependency=/home/brain/tmp/tmp/libm/target/release/deps --extern proc_macro2=/home/brain/tmp/tmp/libm/target/release/deps/libproc_macro2-bb39b1f86bd94276.rmeta --cap-lints allow -Ccodegen-units=1`
     Running `rustc --edition=2018 --crate-name syn /home/brain/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-1.0.11/src/lib.rs --color always --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="quote"' -C metadata=909003a7bf19d961 -C extra-filename=-909003a7bf19d961 --out-dir /home/brain/tmp/tmp/libm/target/release/deps -L dependency=/home/brain/tmp/tmp/libm/target/release/deps --extern proc_macro2=/home/brain/tmp/tmp/libm/target/release/deps/libproc_macro2-bb39b1f86bd94276.rmeta --extern quote=/home/brain/tmp/tmp/libm/target/release/deps/libquote-c7e8137403edfe5f.rmeta --extern unicode_xid=/home/brain/tmp/tmp/libm/target/release/deps/libunicode_xid-f9ef39ccfae1c50e.rmeta --cap-lints allow -Ccodegen-units=1 --cfg syn_disable_nightly_tests`
   Compiling no-panic v0.1.12
     Running `rustc --edition=2018 --crate-name no_panic /home/brain/.cargo/registry/src/github.com-1ecc6299db9ec823/no-panic-0.1.12/src/lib.rs --color always --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C opt-level=3 -C metadata=349de0f391601cf8 -C extra-filename=-349de0f391601cf8 --out-dir /home/brain/tmp/tmp/libm/target/release/deps -L dependency=/home/brain/tmp/tmp/libm/target/release/deps --extern proc_macro2=/home/brain/tmp/tmp/libm/target/release/deps/libproc_macro2-bb39b1f86bd94276.rlib --extern quote=/home/brain/tmp/tmp/libm/target/release/deps/libquote-c7e8137403edfe5f.rlib --extern syn=/home/brain/tmp/tmp/libm/target/release/deps/libsyn-909003a7bf19d961.rlib --cap-lints allow -Ccodegen-units=1`
     Running `rustc --edition=2018 --crate-name libm src/lib.rs --color always --emit=dep-info,link -C opt-level=3 --test --cfg 'feature="default"' -C metadata=7e6e735fd3296c48 -C extra-filename=-7e6e735fd3296c48 --out-dir /home/brain/tmp/tmp/libm/target/release/deps -L dependency=/home/brain/tmp/tmp/libm/target/release/deps --extern no_panic=/home/brain/tmp/tmp/libm/target/release/deps/libno_panic-349de0f391601cf8.so -Ccodegen-units=1 --cfg assert_no_panic`
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/brain/tmp/tmp/libm/target/release/deps/libm-7e6e735fd3296c48.libm.afsu8s2r-cgu.0.rcgu.o" "-o" "/home/brain/tmp/tmp/libm/target/release/deps/libm-7e6e735fd3296c48" "/home/brain/tmp/tmp/libm/target/release/deps/libm-7e6e735fd3296c48.40yta5t9niaueiuc.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/brain/tmp/tmp/libm/target/release/deps" "-L" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-1127f4b003793c46.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-efe5a62b9dfb310d.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-9707b9d1fcc99cc5.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-3ffd827d25d4b025.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-728a724b2323da3c.rlib" "-Wl,--start-group" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-fae576517123aa4e.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-a72070139220275e.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-093434daf7d99801.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-24daf38551b7a03b.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-36d70d9746402ce9.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-7acfc843240167a8.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-eb2e0f5fe057b8b3.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-75e9ddd83715a368.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-af51e7c6fd7d1248.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-27f2a77b2995d98c.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-ad10152c26711a1e.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-291bd2456cb6c9fe.rlib" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-fc6e9071307a3016.rlib" "-Wl,--end-group" "/home/brain/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ebe4001ded7f33e7.rlib" "-Wl,-Bdynamic" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil"
  = note: /usr/bin/ld: /home/brain/tmp/tmp/libm/target/release/deps/libm-7e6e735fd3296c48.libm.afsu8s2r-cgu.0.rcgu.o: in function `<libm::math::rem_pio2::rem_pio2::__NoPanic as core::ops::drop::Drop>::drop':
          libm.afsu8s2r-cgu.0:(.text._ZN83_$LT$libm..math..rem_pio2..rem_pio2..__NoPanic$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb70eb3526e7a03aE+0x3): undefined reference to `
          
          ERROR[no-panic]: detected panic in function `rem_pio2`
          '
          /usr/bin/ld: /home/brain/tmp/tmp/libm/target/release/deps/libm-7e6e735fd3296c48.libm.afsu8s2r-cgu.0.rcgu.o: in function `<libm::math::rem_pio2_large::rem_pio2_large::__NoPanic as core::ops::drop::Drop>::drop':
          libm.afsu8s2r-cgu.0:(.text._ZN95_$LT$libm..math..rem_pio2_large..rem_pio2_large..__NoPanic$u20$as$u20$core..ops..drop..Drop$GT$4drop17h7a1415209926039dE+0x3): undefined reference to `
          
          ERROR[no-panic]: detected panic in function `rem_pio2_large`
          '
          /usr/bin/ld: /home/brain/tmp/tmp/libm/target/release/deps/libm-7e6e735fd3296c48.libm.afsu8s2r-cgu.0.rcgu.o: in function `<libm::math::rem_pio2f::rem_pio2f::__NoPanic as core::ops::drop::Drop>::drop':
          libm.afsu8s2r-cgu.0:(.text._ZN85_$LT$libm..math..rem_pio2f..rem_pio2f..__NoPanic$u20$as$u20$core..ops..drop..Drop$GT$4drop17hc8ca1873a320309bE+0x3): undefined reference to `
          
          ERROR[no-panic]: detected panic in function `rem_pio2f`
          '
          collect2: error: ld returned 1 exit status
          

error: aborting due to previous error

error: could not compile `libm`.

Caused by:
  process didn't exit successfully: `rustc --edition=2018 --crate-name libm src/lib.rs --color always --emit=dep-info,link -C opt-level=3 --test --cfg 'feature="default"' -C metadata=7e6e735fd3296c48 -C extra-filename=-7e6e735fd3296c48 --out-dir /home/brain/tmp/tmp/libm/target/release/deps -L dependency=/home/brain/tmp/tmp/libm/target/release/deps --extern no_panic=/home/brain/tmp/tmp/libm/target/release/deps/libno_panic-349de0f391601cf8.so -Ccodegen-units=1 --cfg assert_no_panic` (exit code: 1)

without this parameter, the tests work.

igor-raits avatar Dec 06 '19 10:12 igor-raits

Seems that the problem is in rem_pio2_large function, since when I remove references to it from other 2, the tests start working.

igor-raits avatar Dec 06 '19 10:12 igor-raits

I did some bisecting:

9d8ed3a7adf3023ddb2d6b6b6ed3ff483a52180c is the first bad commit
commit 9d8ed3a7adf3023ddb2d6b6b6ed3ff483a52180c
Author: Igor null <[email protected]>
Date:   Mon Jul 1 17:10:44 2019 +0300

    Fix incorrect f32<->f64 casting in j1f/y1f

 src/math/j1f.rs | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

igor-raits avatar Dec 06 '19 10:12 igor-raits

well, that one seems to trigger some other error... so I am not entirely sure =(

Hopefully these findings helped.

igor-raits avatar Dec 06 '19 11:12 igor-raits