cargoheroku75% confidence\u2191 3

How to fix "cannot find -lsqlite3" error when deploying Rust app to Heroku?

Full error message
I have built an API using Rocket, Diesel and SQLite. It runs fine locally.

Now I want to deploy my API it to Heroku. I'm going off this example. I've followed the included instructions as close as I can. However, the build step returns the following error:

error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-Wl,--eh-frame-hdr" "-L" "/tmp/codon/tmp/cache/multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.0.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.1.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.10.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.11.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.12.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.13.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.14.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.15.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.2.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.3.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.4.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.5.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.6.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.7.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.8.rcgu.o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.cardbox_api.2391d6uc-cgu.9.rcgu.o" "-o" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47" "/tmp/codon/tmp/cache/target/release/deps/cardbox_api-1b33053639456c47.xdi22qyw1jm4dgn.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/tmp/codon/tmp/cache/target/release/deps" "-L" "/tmp/codon/tmp/cache/target/release/build/ring-0f13c32780184988/out" "-L" "/tmp/codon/tmp/cache/multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/tmp/codon/tmp/cache/target/release/deps/libuuid-ce4969afc97ad8b9.rlib" "/tmp/codon/tmp/cache/target/release/deps/libjsonwebtoken-44a266ecba46fbf1.rlib" "/tmp/codon/tmp/cache/target/release/deps/libpem-d45dd6ee3de1c97b.rlib" "/tmp/codon/tmp/cache/target/release/deps/libregex-c1e1617462b9257c.rlib" "/tmp/codon/tmp/cache/target/release/deps/libthread_local-3948ce50dadeb546.rlib" "/tmp/codon/tmp/cache/target/release/deps/libregex_syntax-54ff6446d5044f96.rlib" "/tmp/codon/tmp/cache/target/release/deps/libaho_corasick-c99fa63c4b172ad4.rlib" "/tmp/codon/tmp/cache/target/release/deps/libsimple_asn1-4334711a5a537225.rlib" "/tmp/codon/tmp/cache/target/release/deps/libnum_bigint-109e809cd264f00a.rlib" "/tmp/codon/tmp/cache/target/release/deps/libchrono-3405124ec15564a1.rlib" "/tmp/codon/tmp/cache/target/release/deps/libnum_integer-137bdd49e20d58ff.rlib" "/tmp/codon/tmp/cache/target/release/deps/libnum_traits-2d6f0e657d8b410e.rlib" "/tmp/codon/tmp/cache/target/release/deps/libring-fea6120cdf068f14.rlib" "/tmp/codon/tmp/cache/target/release/deps/libspin-8b88071a74fd1146.rlib" "/tmp/codon/tmp/cache/target/release/deps/libuntrusted-07c812cecbdda234.rlib" "/tmp/codon/tmp/cache/target/release/deps/libreqwest-b54031f22b1a4160.rlib" "/tmp/codon/tmp/cache/target/release/deps/libhyper_tls-b12b7cccc6f3158b.rlib" "/tmp/codon/tmp/cache/target/release/deps/libipnet-5dd6b6b4ddc5ef77.rlib" "/tmp/codon/tmp/cache/target/release/deps/libtokio_tls-50f6bfe1206058f6.rlib" "/tmp/codon/tmp/cache/target/release/deps/libserde_urlencoded-b45320924fa23eeb.rlib" "/tmp/codon/tmp/cache/target/release/deps/libencoding_rs-9c06080874b247fd.rlib" "/tmp/codon/tmp/cache/target/release/deps/libbase64-a69b0bd0ffc84f09.rlib" "/tmp/codon/tmp/cache/target/release/deps/libmime_guess-90ce58d79a8765e7.rlib" "/tmp/codon/tmp/cache/target/release/deps/libunicase-420baa79e66eb7be.rlib" "/tmp/codon/tmp/cache/target/release/deps/libmime-0c405423f2f6d82d.rlib" "/tmp/codon/tmp/cache/target/release/deps/libnative_tls-cb230d67fabb8e5d.rlib" "/tmp/codon/tmp/cache/target/release/deps/libopenssl_probe-9ce2191185e4de74.rlib" "/tmp/codon/tmp/cache/target/release/deps/libopenssl-f4e1d41159b2a15c.rlib" "/tmp/codon/tmp/cache/target/release/deps/libopenssl_sys-d761d87b2bc00b93.rlib" "/tmp/codon/tmp/cache/target/release/deps/libforeign_types-289696442456e97a.rlib" "/tmp/codon/tmp/cache/target/release/deps/libforeign_types_shared-81fde169aac187d8.rlib" "/tmp/codon/tmp/cache/target/release/deps/libbitflags-ad0a1f0454a30088.rlib" "/tmp/codon/tmp/cache/target/release/deps/libhyper-7e6648b4650fe710.rlib" "/tmp/codon/tmp/cache/target/release/deps/libwant-852cffc58ffe3e6c.rlib" "/tmp/codon/tmp/cache/target/release/deps/libtry_lock-0d0e456c3c6f815b.rlib" "/tmp/codon/tmp/cache/target/release/deps/libh2-c84ec7b5ed846947.rlib" "/tmp/codon/tmp/cache/target/release/deps/libtracing_futures-79d6686b1765ad62.rlib" "/tmp/codon/tmp/cache/target/release/deps/libpin_project-aca85cf2e90e6668.rlib" "/tmp/codon/tmp/cache/target/release/deps/libtokio_util-31d259494e95e968.rlib" "/tmp/codon/tmp/cache/target/release/deps/libfutures_sink-37e79a2d3fc2a2f5.rlib" "/tmp/codon/tmp/cache/target/release/deps/libhttpdate-ec985aa61aaac5ed.rlib" "/tmp/codon/tmp/cache/target/release/deps/libsocket2-f092214f6231a7aa.rlib" 

As the error message indicates your build system is missing libsqlite3. There are two ways to solve this problem: Add libsqlite3-sys = { version = "0.18", features = ["bundled"]} to your Cargo.toml. This instructs the cargo to also build libsqlite3 as part of your application build. The library is statically linked using this method. Install libsqlite3 on the build system and use the SQLITE3_LIB_DIR environment variable to point the compiler to the correct directory. libsqlite3 will be linked dynamically, which means you also need to provide this library on the system you are running your application afterwards.

API access

Get this solution programmatically \u2014 free, no authentication.

curl https://depscope.dev/api/error/50d0e58687ad534db63f55dae2c49ccae9f4e2d36bd7ce0d5137d9644477165f
hash \u00b7 50d0e58687ad534db63f55dae2c49ccae9f4e2d36bd7ce0d5137d9644477165f
How to fix "cannot find -lsqlite3" error when depl… — DepScope fix | DepScope