0

This has been asked before with no good answer.

As an MVE one can try this:

use lapack::*;

fn main() {
    let n = 3;
    let mut a = vec![3.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.0];
    let mut w = vec![0.0; n as usize];
    let mut work = vec![0.0; 4 * n as usize];
    let lwork = 4 * n;
    let mut info = 0;

    unsafe {
        dsyev(
            b'V', b'U', n, &mut a, n, &mut w, &mut work, lwork, &mut info,
        );
    }

    assert!(info == 0);
    for (one, another) in w.iter().zip(&[2.0, 2.0, 5.0]) {
        assert!((one - another).abs() < 1e-14);
    }
}

With this Cargo.toml

[package]
name = "lapack_test"
version = "0.1.0"
edition = "2021"

[dependencies]
lapack = "0.19.0"

On ubuntu 22.04 this throws this error:

error: linking with `/usr/bin/clang` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/usr/local/cuda-11.8/bin:/home/makogan/.local/bin:/usr/local/cuda-11.8/bin:/home/makogan/.local/bin:/home/makogan/.cargo/bin:/home/makogan/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/home/makogan/gurobi/gurobi912/linux64/bin:/home/makogan/Documents/Software/typst-x86_64-unknown-linux-gnu:/home/makogan/gurobi/gurobi912/linux64/bin:/home/makogan/Documents/Software/typst-x86_64-unknown-linux-gnu" VSLANG="1033" "/usr/bin/clang" "-m64" "/tmp/rustcnIOJeW/symbols.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.0jbc6q4v7jh6f2z866vwrgjgu.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.0sbraok58mwnh98igd4if0b08.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.0y8u5fkb4x8nz8dhtyyhtnwrd.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.1v0q2x9l9c8hxskhymflj8rxs.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.1v9hpkjemojnmatwdzy3jdy8e.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.25bprhtd1qvluu30hsf9sx5ln.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.2kfjhipapsrv0u93ua9m3c0fc.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.2v8s4vncstb0898hj7a8chyav.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.3uaubvscpthyklogfz2yyatnk.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.3xqst5pjhfmn5jbltb77agg89.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.407090avsb92yrr8mhxgrlxw7.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.4tx2abz1adszrd2rd2fvvei55.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.4whz4dmx8hg51phtb6ejt4xwl.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.51no97xsrou5j70hezmzj93ae.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.55q2uevuoqti8ulihhtn67hxm.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.5f0lug7iu82abtrf2920qp750.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.65vk8h4n9ys0vl5dfe4ntaaal.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.6siv6ly5mgz4hu6dekpw5q6ed.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.744zf91y5cguvi8r7kh59jym7.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.83oqlgf952fdgs6mwuo3dgxl2.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.8u1om2fgs9j7a6wjppllky55i.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.arew311lcn1gvcns79mgl20sb.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.awl8bc3ty6n7vyl8pqgcvulay.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.baef9jl9nv7kxtunysuyrne39.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.c237fks6sbkhcoppdgtrevuip.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.cdezpksflwbrha8sueencj0yd.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.cquxev9wbq987c4cwzurakv6v.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.cwun7mpbuf3qdir5qvj7ewcsu.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.d5mvkvq4jxdkvzrcfr0lmypvy.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.eftek7myjb2dji2vowiwxoomu.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.exozhy9q5ans533ew461lgem8.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.cwlglwycpee3pgqgkhm1br5rt.rcgu.o" "-Wl,--as-needed" "-L" "/home/makogan/tmp/lapack_test/target/debug/deps" "-L" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/makogan/tmp/lapack_test/target/debug/deps/liblapack-4e0ea32f6e49c622.rlib" "/home/makogan/tmp/lapack_test/target/debug/deps/libnum_complex-d71e7c9d9815e3c1.rlib" "/home/makogan/tmp/lapack_test/target/debug/deps/libnum_traits-4d3ce3ff2620347d.rlib" "/home/makogan/tmp/lapack_test/target/debug/deps/liblapack_sys-dac1ad347ea0e4f2.rlib" "/home/makogan/tmp/lapack_test/target/debug/deps/liblibc-b8a48bb4434428bd.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-c12ec1592d745850.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-30c8f175666f1cd0.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-d6affdb2eceb7b92.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-671357261ecc5f22.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-2a0ac26b937774c3.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-e6c49dfa36c6e5ca.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-f007e7281d6dd525.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-9329ecfd01afd05c.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-f23fd629ee77e700.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-80b02aae68666c26.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-b461688257786f39.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-827e0a26c0bfb366.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-34d2ca61988bea12.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-313a99786e15f0d6.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-6275035a459b3ada.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-49777722dec30b42.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-f72b956e24d1de70.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-632ae0f28c5e55ff.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ae0728f1e6d5b4f0.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" "-fuse-ld=/usr/local/bin/mold"
  = note: mold: error: undefined symbol: dsyev_
          >>> referenced by 65vk8h4n9ys0vl5dfe4ntaaal
          >>>               /home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-678ce6bd0d422f69.65vk8h4n9ys0vl5dfe4ntaaal.rcgu.o:(lapack::dsyev::h7c52d2ad55539bef)
          
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
          

error: could not compile `lapack_test` (bin "lapack_test") due to 1 previous error

I have tried installing every lapack and blas package I could find:

apt list --installed | grep .*lapa.*

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

liblapack-dev/jammy,now 3.10.0-2ubuntu1 amd64 [installed]
liblapack3/jammy,now 3.10.0-2ubuntu1 amd64 [installed]
liblapack64-3/jammy,now 3.10.0-2ubuntu1 amd64 [installed]
liblapack64-dev/jammy,now 3.10.0-2ubuntu1 amd64 [installed]
liblapacke-dev/jammy,now 3.10.0-2ubuntu1 amd64 [installed]
liblapacke64-dev/jammy,now 3.10.0-2ubuntu1 amd64 [installed]
liblapacke64/jammy,now 3.10.0-2ubuntu1 amd64 [installed]
liblapacke/jammy,now 3.10.0-2ubuntu1 amd64 [installed]

Same as with BLAS:

apt list --installed | grep .*blas.*

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

libblas-dev/jammy,now 3.10.0-2ubuntu1 amd64 [installed]
libblas3/jammy,now 3.10.0-2ubuntu1 amd64 [installed,automatic]
libblas64-3/jammy,now 3.10.0-2ubuntu1 amd64 [installed,automatic]
libblas64-dev/jammy,now 3.10.0-2ubuntu1 amd64 [installed,automatic]
libgslcblas0/jammy,now 2.7.1+dfsg-3 amd64 [installed,automatic]
libopenblas-dev/jammy,now 0.3.20+ds-1 amd64 [installed]
libopenblas-pthread-dev/jammy,now 0.3.20+ds-1 amd64 [installed,automatic]
libopenblas0-pthread/jammy,now 0.3.20+ds-1 amd64 [installed,automatic]
libopenblas0/jammy,now 0.3.20+ds-1 amd64 [installed,automatic]

I have tried setting up a build.rs to my local installed paths :

fn main()
{
    println!("cargo:rustc-link-search=native=/usr/lib/x86_64-linux-gnu/lapack/");
    println!("cargo:rustc-link-lib=static=lapack");

    println!("cargo:rustc-link-search=native=/usr/lib/gcc/x86_64-linux-gnu/11/");
    println!("cargo:rustc-link-lib=static=gfortran");

    println!("cargo:rustc-link-search=native=/usr/lib/x86_64-linux-gnu/blas/");
    println!("cargo:rustc-link-lib=static=blas");
}

I get the same error over and over again, I don;t know what else to try.

I had made a msitake. I put the build.rs in the wrong spot, this is the error when the files i where it should be:

   Compiling lapack_test v0.1.0 (/home/makogan/tmp/lapack_test)
error: linking with `/usr/bin/clang` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/usr/local/cuda-11.8/bin:/home/makogan/.local/bin:/home/makogan/.local/bin:/usr/local/cuda-11.8/bin:/home/makogan/.local/bin:/home/makogan/.cargo/bin:/home/makogan/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/home/makogan/gurobi/gurobi912/linux64/bin:/home/makogan/Documents/Software/typst-x86_64-unknown-linux-gnu:/home/makogan/gurobi/gurobi912/linux64/bin:/home/makogan/Documents/Software/typst-x86_64-unknown-linux-gnu" VSLANG="1033" "/usr/bin/clang" "-m64" "/tmp/rustcS2ZxYc/symbols.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.00ws08l0g2muo0yv5ssivrq5z.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.08sb7uo52nbohxrcf3mhxjzo1.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.0xl1d5lfrrrl0snqzebpuo9ta.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.109816x218go7otuehaokf7ff.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.1hpbpjruzb6h12bmqt8vtk8gf.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.2jo9hie1vkx4lm0erp3m23woh.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.2k8izzo2gfv512nfxjhiissfd.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.2qqy0h6nu523kqvnw5wfbhn31.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.2sc6icaxs6chpdkqsvsialgsv.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.380dvgf2zyiebwy75pf2c67jz.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.5mcbxro8pf4pvc9t2gavyh9n5.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.66nt0syc2uk6ylt8msuryh484.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.6ifajjfetp6axvvrvtbv07k1p.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.6q1mbt3vyeu9n3m832d5w2n4l.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.72tvymfwhyxtp9tnnlabgnktd.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.77vz629kyu6of4z4rhfmuroz8.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.7ltic1ki3i7bpk99qv0bx4dal.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.7swjoeo4wfu8u3u84vv3h1wp3.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.89vcxg87qtyu3mrz1cc825e6j.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.9te6mmt5jvnduv1m5c2q812qu.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.9z1u3h2ojbxbnzuzxc2zjqabv.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.a8sas4fhryknt30j9u5ygo09x.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.bpous59k4hcf0v9m87d70abw1.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.byi8tt646izhf0n2ptgm58fn5.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.d4bgy1uuvibxwbhbbu0vatkna.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.dcr43yuxay0tmi3bh7lahxvsy.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.dgrjxe7qzzrbvut73th9ddxda.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.dkielv3h3ocb6pli1531rur38.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.e5idtoe2l1uyw2z57ul5bx97f.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.eebmfhxrjk4yr6w02jf7rm5ee.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.f0v7leo92ejxwxfbe8trf3l5j.rcgu.o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6.86xtx1j2gcfd52jgc1wao2t8l.rcgu.o" "-Wl,--as-needed" "-L" "/home/makogan/tmp/lapack_test/target/debug/deps" "-L" "/usr/lib/x86_64-linux-gnu/lapack/" "-L" "/usr/lib/gcc/x86_64-linux-gnu/11/" "-L" "/usr/lib/x86_64-linux-gnu/blas/" "-L" "/home/makogan/tmp/lapack_test/target/debug/build/openblas-src-49d7c5ee4f241185/out/opt/OpenBLAS/lib" "-L" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-llapack" "-lgfortran" "-lblas" "/home/makogan/tmp/lapack_test/target/debug/deps/liblapack-4e0ea32f6e49c622.rlib" "/home/makogan/tmp/lapack_test/target/debug/deps/libnum_complex-d71e7c9d9815e3c1.rlib" "/home/makogan/tmp/lapack_test/target/debug/deps/liblapack_sys-dac1ad347ea0e4f2.rlib" "/home/makogan/tmp/lapack_test/target/debug/deps/libopenblas_src-c929953b1dd8a0c5.rlib" "/home/makogan/tmp/lapack_test/target/debug/deps/libblas-0e1486cb3e39a6cc.rlib" "/home/makogan/tmp/lapack_test/target/debug/deps/libnum_complex-da1e17dd9ca76ed2.rlib" "/home/makogan/tmp/lapack_test/target/debug/deps/libnum_traits-4d3ce3ff2620347d.rlib" "/home/makogan/tmp/lapack_test/target/debug/deps/libblas_sys-e65a2aa00102672d.rlib" "/home/makogan/tmp/lapack_test/target/debug/deps/liblibc-b8a48bb4434428bd.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-c12ec1592d745850.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-30c8f175666f1cd0.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-d6affdb2eceb7b92.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-671357261ecc5f22.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-2a0ac26b937774c3.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-e6c49dfa36c6e5ca.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-f007e7281d6dd525.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-9329ecfd01afd05c.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-f23fd629ee77e700.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-80b02aae68666c26.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-b461688257786f39.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-827e0a26c0bfb366.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-34d2ca61988bea12.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-313a99786e15f0d6.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-6275035a459b3ada.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-49777722dec30b42.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-f72b956e24d1de70.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-632ae0f28c5e55ff.rlib" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ae0728f1e6d5b4f0.rlib" "-Wl,-Bdynamic" "-lgfortran" "-lopenblas" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/makogan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/makogan/tmp/lapack_test/target/debug/deps/lapack_test-f10b7e0cd7a3d9a6" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" "-fuse-ld=/usr/local/bin/mold"
  = note: mold: error: undefined symbol: quadmath_snprintf
          >>> referenced by /usr/lib/gcc/x86_64-linux-gnu/11/libgfortran.a(write.o):(.text.determine_en_precision)
          >>>               /usr/lib/gcc/x86_64-linux-gnu/11/libgfortran.a(write.o):(determine_en_precision)
          >>> referenced by /usr/lib/gcc/x86_64-linux-gnu/11/libgfortran.a(write.o):(.text.get_float_string)
          >>>               /usr/lib/gcc/x86_64-linux-gnu/11/libgfortran.a(write.o):(get_float_string)
          >>> referenced by /usr/lib/gcc/x86_64-linux-gnu/11/libgfortran.a(write.o):(.text.get_float_string)
          >>>               /usr/lib/gcc/x86_64-linux-gnu/11/libgfortran.a(write.o):(get_float_string)
          >>> referenced 1 more times
          
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
          

error: could not compile `lapack_test` (bin "lapack_test") due to 1 previous error
5
  • 1
    It looks like the error message was without build.rs. Can you show us the full error when you have a build.rs?
    – Jmb
    Commented Jul 8 at 7:38
  • @Jmb you are correct, it was my bad.
    – Makogan
    Commented Jul 8 at 17:45
  • This Q&A suggests that -lquadmath needs to be linked as well (and path if needed of course).
    – kmdreko
    Commented Jul 8 at 18:13
  • @kmdreko and how would I add that to cargo?
    – Makogan
    Commented Jul 8 at 18:48
  • @Makogan same way you added lapack, gfortran and blas, with cargo:rustc-link-search= and cargo:rustc-link-lib=
    – Jmb
    Commented Jul 9 at 7:29

0