Ok, so kind of getting nowhere here. Before I posted a problem with my Mac M1 having linker issues with Rust Diesel and got nothing. So I spun up an Ec2 instance and tried to run this crate here and got the following:
error: linking with `cc` failed: exit status: 1
...
= note: /usr/bin/ld: cannot find -lpq
I've installed the following:
sudo yum update -y
sudo yum install git -y
sudo yum groupinstall "Development Tools" -y
sudo yum install cmake -y
sudo yum install postgresql-libs -y
Seriously, how are people managing to get this crate running?
From the Diesel Getting Started guide:
If you run into an error like:
note: ld: library not found for -lmysqlclient clang: error: linker command failed with exit code 1 (use -v to see invocation)This means you are missing the client library needed for a database backend –
mysqlclientin this case. You can resolve this issue by either installing the library (using the usual way to do this depending on your operating system) or by excluding the undesired default library with the--no-default-featuresflag.By default diesel depends on the following client libraries:
libpqfor the PostgreSQL backendlibmysqlclientfor the Mysql backendlibsqlite3for the SQlite backendIf you are not sure on how to install those dependencies please consult the documentation of the corresponding dependency or your distribution package manager.
For example, if you only have PostgreSQL installed, you can use this to install
diesel_cliwith only PostgreSQL:cargo install diesel_cli --no-default-features --features postgres
The error "cannot find -lpq" is your linker telling you that it cannot find the PostgreSQL client library.
The issue was caused by a missing library. For Linux
sudo apt install libpq-dev
cargo install diesel_cli --no-default-features --features postgres
For Windows, Check the version of rust you have installed
rustup --version
then copy the libq.lib from
C:\Program Files\PostgreSQL\14\lib
to
C:\Users\"Your User"\.rustup\toolchains\"Your version of Rust-Nightly or Stable"\lib\rustlib\x86_64-pc-windows-msvc\lib
Worked for me !!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With