tspooner / rsrl

A fast, safe and easy to use reinforcement learning framework in Rust.
https://crates.io/crates/rsrl
MIT License
178 stars 13 forks source link

Undefined symbols for architecture x86_64: "_cblas_sdot", referenced from #79

Open nbro opened 2 years ago

nbro commented 2 years ago

I am getting the following error

error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "-arch" "x86_64" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.100y407nzibn0v3o.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.12fpy1ksm5b5771v.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.14whfsbe2lcxoapk.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.192oyids7prk5eak.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.1a8guv79wf0w2owl.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.1fxtzy95z89s9yds.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.1gbs1l25ecmtzmo3.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.1ieojwfdnkvtrij2.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.1iqk174wrz5bb6g7.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.1ngo0ogi26nj7tfs.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.1otzxuhrun3jzim7.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.1qrk2qr4pbp511z9.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.1y1yccjxg0tgog71.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.1yzn9rhpag5bpwxn.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.20p8fx2bo2u1s4mj.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.2956pe0rphowevhw.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.2ak4z2efokpnj3td.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.2bz8ycgnn6hhev0h.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.2ckm2yzjpcl3jny6.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.2fled2w4ooq90zuk.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.2hwesdyv23sptms1.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.2o8y11fk5tgujask.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.2owsj8kl90dlaxxp.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.2v2padmultfc015y.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.2wse9sp58p7tqbtr.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3dwvkphta04bi868.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3fb2rxk5jm893xyb.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3gd2labfrthxxd50.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3himc58hdgpw3unn.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3ii8jqj9gxl7f31m.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3j3wixlkhztc6z4t.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3kxtq6scafmnga6h.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3osa6k8a1pqx53v4.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3rf93atp0n8njfsv.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3rvs1gkzngol62tu.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3ttuv0ig93sp77rw.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3u5u630lg9kxy47f.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3uceqz4cjnmmfpij.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3y2cd2v75ov8r7ht.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.3z7a2debunokcznq.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.4gqp4wxhenaovfkw.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.4i7h9fqmrfxgd6ez.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.4juan1oz6fo9855y.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.4svygv1xlv7jqc3c.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.4uee5ebjek885baa.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.4uk04dte9ypkbwv0.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.4uu1ew08p7ffmbq1.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.4xr7585xl8e5i4wn.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.4yxss856ryk9zxh2.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.4z16n4prmh1dz2ej.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.4zbclpl7m4cb7k7p.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.55gegb2fvsj89bcp.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.5cy9y1snjlixn7t4.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.5da7irx8hhx62xvn.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.5dc08uor1t355s61.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.5govva21qv8w4ut8.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.5r1ln9fhqn2gpfq.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.6uj48lwsvm2hat5.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.ansa3210uweletc.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.c0ecfufw1vhhl68.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.gl13bbtwu50ag1q.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.ied7wclj6f5c0ww.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.k8sijrvuy9j0i7u.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.m1djheb0w9nvpvk.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.muggb6girkci1zj.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.tesie8admfr6rbq.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.txtvniqiyhn7lj3.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.udegtedpktr8urt.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.vwropns9g45fwkm.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.z9mh5j704mzse17.rcgu.o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e.1h90cwm9qwj8iurc.rcgu.o" "-L" "/Users/nbro/Desktop/rsrl/target/debug/deps" "-L" "/Users/nbro/Desktop/rsrl/target/debug/build/special-fun-5e8e40e4208f6444/out" "-L" "/Users/nbro/Desktop/rsrl/target/debug/build/special-fun-5e8e40e4208f6444/out" "-L" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "/Users/nbro/Desktop/rsrl/target/debug/deps/librsrl-1b46111e84e0290f.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/librstat-0b8ae75a6e0fde36.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libspecial_fun-35f87730bf5411c3.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libnum-5c5ed9a8701d379d.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libnum_rational-9049ae633a8bdb91.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libnum_iter-586682b9833ce2cd.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libnum_bigint-4b0e2b6a4cbe708c.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libfailure-1ceba649c9f6c838.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libbacktrace-29a4bced12e05068.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libobject-57fcdcd7d7e9e3cb.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libmemchr-7874de389e22e218.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libaddr2line-7d6c45590d806154.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libgimli-7e508834f36b14c6.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/librustc_demangle-0f85c436a3cee7bb.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/librsrl_domains-a475d05b4010bc16.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libndarray-3fbc10761f50bd8a.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libitertools-e4aea557565b531c.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libmatrixmultiply-ca40ec3728f4e9d5.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/librawpointer-7dadbbfac92495af.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/liblfa-670d03b4b4804f77.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libspaces-320eca7f8e0cae32.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libitertools-b4b06e031faaf6a2.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libitertools-622a270bdb9ccd96.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libeither-5c484b219f9abba2.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/librand_distr-c66d8a168421c7d6.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/librand-23194a10b285f06d.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/librand_chacha-ba74cf216790845e.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libppv_lite86-af0aa57e4bfe14bb.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/librand_core-6d6a10f57adb54c6.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libgetrandom-73e7aa3655b4dfdc.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libcfg_if-7e74d31581507915.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libndarray_linalg-9257e937663b298f.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libcauchy-5ff5b9ffdeca56a3.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/liblapacke-2dc71c5e1ba4988a.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/liblapacke_sys-7584e61018d0e7f4.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/liblapack_src-b76f7bfea030cffc.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libblas_src-59200b4e01a5ed4b.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libndarray-95a88a976385f141.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libmatrixmultiply-f0d22bd9fca3a6da.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libnum_complex-fe0f325e0a48da84.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/librand-2bb3c96a5044258b.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/librand_core-67811649aed310c5.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/librand_core-5fd8ef7f01bd81fb.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libserde-edbb9045479ea3ba.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libnum_integer-9d5ea53ce224789b.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/librawpointer-1e4f5908676fe080.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libapprox-8e2afd6254ec436b.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libnum_traits-8133e013eaf58d7a.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libcblas_sys-e4d2e585ba572f04.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/liblibc-d85ff30af4a50914.rlib" "/Users/nbro/Desktop/rsrl/target/debug/deps/libblas_src-459851aa1265fbbc.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd-04b20da5d2b4e02d.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-00f5b50d82ace1e3.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libobject-45c041bae4e30a62.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-1bc22f5f5be77a23.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-caa784d0cecbd501.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libgimli-0ad46247e89234f6.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-68dabd8f37218f7c.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd_detect-4c67204728564461.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-eca93a0d11ef9a39.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-6ddabe46ef182f8b.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libunwind-7dc1037a76f2c18c.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-100dc4191a6287d7.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liblibc-c596c47fc21af016.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc-c7163fef4a8cdd33.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-3463abc69f183e66.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcore-12a50039d8929e4e.rlib" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-a4134bbc9f4f0dab.rlib" "-framework" "Security" "-liconv" "-lSystem" "-lresolv" "-lc" "-lm" "-liconv" "-L" "/Users/nbro/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/Users/nbro/Desktop/rsrl/target/debug/examples/q_learning-ffe1683a1ab5ed1e" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: Undefined symbols for architecture x86_64:
            "_cblas_sdot", referenced from:
                ndarray::linalg::impl_linalg::_$LT$impl$u20$ndarray..ArrayBase$LT$S$C$ndarray..dimension..dim..Dim$LT$$u5b$usize$u3b$$u20$1$u5d$$GT$$GT$$GT$::dot_impl::hdce8f1e718fcf2c1 in liblfa-670d03b4b4804f77.rlib(lfa-670d03b4b4804f77.lfa.1a38f248-cgu.7.rcgu.o)
            "_cblas_ddot", referenced from:
                ndarray::linalg::impl_linalg::_$LT$impl$u20$ndarray..ArrayBase$LT$S$C$ndarray..dimension..dim..Dim$LT$$u5b$usize$u3b$$u20$1$u5d$$GT$$GT$$GT$::dot_impl::hdce8f1e718fcf2c1 in liblfa-670d03b4b4804f77.rlib(lfa-670d03b4b4804f77.lfa.1a38f248-cgu.7.rcgu.o)
          ld: symbol(s) not found for architecture x86_64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

when I attempt to run the example q_learning.rs in rsrl/Cargo.toml with the command cargo run --example q_learning.

Specifications

It's not the first time that this error occurs. Here are other related issues

Here you say that you used to use Mac too.

In rsrl/Cargo.toml you only specify ndarray = "0.13" under [dependencies], and you specify the following

blas-src = { version = "0.4", default-features = false, features = ["openblas"] }
openblas-src = { version = "0.7", default-features = false, features = ["cblas", "system"] }

under [dev-dependencies], so it seems that you wouldn't need to add the previous 2 lines under [dependencies] too. In fact, even if you don't have BLAS or openblas, ndarray should fallback to matrixmultiply (see this), so this error should not even occur. However, in the README, which was updated here, you write (or someone else wrote in a pull request)

so if you're building a binary, you additionally need to specify a BLAS backend compatible with ndarray

An example is indeed a binary, so I also tried to add the following lines

blas-src = { version = "0.4", default-features = false, features = ["openblas"] }
openblas-src = { version = "0.7", default-features = false, features = ["cblas", "system"] }

under [dependencies], but I get the same linking error.

Maybe this is obvious, but don't you need to install OpenBLAS to use it? So, I guess that, if I don't have it installed in my system, I can't use it. If you're using mac, how should you install it? This information probably should be in the README anyway. You could use brew (here), but is this the right thing to do here? I tried to install OpenBLAS via homebrew with brew install openblas, then

  1. export LDFLAGS="-L/usr/local/opt/openblas/lib"
  2. export CPPFLAGS="-I/usr/local/opt/openblas/include"
  3. export PKG_CONFIG_PATH="/usr/local/opt/openblas/lib/pkgconfig"

As suggested at the end of the brew installation, then cargo clean and cargo run --example q_learning, but I still get the same error.

Can't we simply use rsrl without OpenBLAS? I just wanted to try the q-learning example and I don't care about performance now (by the way, why do you use openblas? is it because of performance?).

nyurik commented 2 years ago

I also tried to get rsrl to run (using Linux Mint 20), and i get lots of linking errors. I tried to update ndarray to the latest (hoping that it would use the up-to-date cblas bindings (?)), but no luck - lots of changes with the fixed-size dimensions, etc, and I am somewhat new to Rust (and especially ML), so couldn't easily figured out how to change it. Any guidance would be awesome as it would be bad to loose the only such project in Rust I could find. Thanks!!