Skip to content

WSL installation error: cannot find -lpq #2612

@mishaszu

Description

@mishaszu

Setup

Versions

  • Rust:
    nightly: rustc 1.50.0-nightly (7efc097c4 2020-12-12)
    stable: rustc 1.48.0 (7eac88abb 2020-11-16)
  • Diesel: diesel_cli
  • Database: postgresql
  • Operating System: Windows 10 - WSL - Ubuntu 20.04

Feature Flags

  • diesel: postgres

Problem Description

While following official guide I'm not able to complete diesel_cli installation on Windows 10 Linux subsystem with installed postgresql on WSL:

 psql --version
 psql (PostgreSQL) 13.1 (Ubuntu 13.1-1.pgdg20.04+1)

Command:

apt-cache search libpq

show I have installed:

libpq-dev - header files for libpq5 (PostgreSQL library)
libpq5 - PostgreSQL C client library

The main problem as I understand is note: /usr/bin/ld: cannot find -lpq. I installed all Posgres components and I don't know how to deal with the error.

What are you trying to accomplish?

Install diesel_cli with --feature postgres flag

What is the expected output?

Succesfull installtion.

What is the actual output?

[...Compiling other crates]
 Compiling diesel_cli v1.4.1
     Running `rustc --crate-name diesel /home/mishaszu/.cargo/registry/src/github.com-1ecc6299db9ec823/diesel_cli-1.4.1/src/main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="postgres"' --cfg 'feature="url"' --cfg 'feature="uses_information_schema"' -C metadata=b2de4c6fd3b1f1b4 -C extra-filename=-b2de4c6fd3b1f1b4 --out-dir /tmp/cargo-installBG1gzi/release/deps -L dependency=/tmp/cargo-installBG1gzi/release/deps --extern chrono=/tmp/cargo-installBG1gzi/release/deps/libchrono-65f8cbe679338467.rlib --extern clap=/tmp/cargo-installBG1gzi/release/deps/libclap-d083b8d0de8b616c.rlib --extern diesel=/tmp/cargo-installBG1gzi/release/deps/libdiesel-24a1e3e3db880d2e.rlib --extern dotenv=/tmp/cargo-installBG1gzi/release/deps/libdotenv-04a26b63aa6ef0dd.rlib --extern migrations_internals=/tmp/cargo-installBG1gzi/release/deps/libmigrations_internals-bcac9d9a188244ff.rlib --extern serde=/tmp/cargo-installBG1gzi/release/deps/libserde-60e63a27c4f0b7e9.rlib --extern tempfile=/tmp/cargo-installBG1gzi/release/deps/libtempfile-e73db37dc22101f2.rlib --extern toml=/tmp/cargo-installBG1gzi/release/deps/libtoml-0dd36dbe7e712ec2.rlib --extern url=/tmp/cargo-installBG1gzi/release/deps/liburl-b126357f4d0d4ecf.rlib --cap-lints allow -L native=/usr/lib/x86_64-linux-gnu`
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-Wl,--eh-frame-hdr" "-L" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.0.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.1.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.10.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.11.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.12.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.13.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.14.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.15.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.2.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.3.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.4.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.5.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.6.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.7.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.8.rcgu.o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.diesel.3oabbjua-cgu.9.rcgu.o" "-o" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4" "/tmp/cargo-installBG1gzi/release/deps/diesel-b2de4c6fd3b1f1b4.2es389a55u0llxpa.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/tmp/cargo-installBG1gzi/release/deps" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/tmp/cargo-installBG1gzi/release/deps/liburl-b126357f4d0d4ecf.rlib" "/tmp/cargo-installBG1gzi/release/deps/libpercent_encoding-027fc70817b8b184.rlib" "/tmp/cargo-installBG1gzi/release/deps/libidna-ee1ff6ebcefa9e2b.rlib" "/tmp/cargo-installBG1gzi/release/deps/libunicode_normalization-815d148452844814.rlib" "/tmp/cargo-installBG1gzi/release/deps/libtinyvec-295d5ad3fc0cbc9c.rlib" "/tmp/cargo-installBG1gzi/release/deps/libtinyvec_macros-7830452eb45edc19.rlib" "/tmp/cargo-installBG1gzi/release/deps/libunicode_bidi-41abae14da234d1b.rlib" "/tmp/cargo-installBG1gzi/release/deps/libmatches-32581ec9f6412ebd.rlib" "/tmp/cargo-installBG1gzi/release/deps/libtoml-0dd36dbe7e712ec2.rlib" "/tmp/cargo-installBG1gzi/release/deps/libtempfile-e73db37dc22101f2.rlib" "/tmp/cargo-installBG1gzi/release/deps/librand-126fde7ba370b335.rlib" "/tmp/cargo-installBG1gzi/release/deps/librand_chacha-ce81d2640257ac2a.rlib" "/tmp/cargo-installBG1gzi/release/deps/libppv_lite86-a6feee9ed6f337c0.rlib" "/tmp/cargo-installBG1gzi/release/deps/librand_core-f7c8830cd97c0333.rlib" "/tmp/cargo-installBG1gzi/release/deps/libgetrandom-bde58686f06c8460.rlib" "/tmp/cargo-installBG1gzi/release/deps/libremove_dir_all-ae20f87d3e3fc065.rlib" "/tmp/cargo-installBG1gzi/release/deps/libcfg_if-e0361196973a0e81.rlib" "/tmp/cargo-installBG1gzi/release/deps/libserde-60e63a27c4f0b7e9.rlib" "/tmp/cargo-installBG1gzi/release/deps/libmigrations_internals-bcac9d9a188244ff.rlib" "/tmp/cargo-installBG1gzi/release/deps/libdotenv-04a26b63aa6ef0dd.rlib" "/tmp/cargo-installBG1gzi/release/deps/libregex-ae4c72bb09330a2f.rlib" "/tmp/cargo-installBG1gzi/release/deps/libutf8_ranges-2ca99cd1260a5dbc.rlib" "/tmp/cargo-installBG1gzi/release/deps/libregex_syntax-2ffe77ededd9254f.rlib" "/tmp/cargo-installBG1gzi/release/deps/libucd_util-5d0a4ee4e8590529.rlib" "/tmp/cargo-installBG1gzi/release/deps/libthread_local-c25c30f475f43fca.rlib" "/tmp/cargo-installBG1gzi/release/deps/liblazy_static-72fd4c50b9d3882e.rlib" "/tmp/cargo-installBG1gzi/release/deps/libaho_corasick-333b87926779cb99.rlib" "/tmp/cargo-installBG1gzi/release/deps/libmemchr-d2a286204935a43a.rlib" "/tmp/cargo-installBG1gzi/release/deps/liberror_chain-9ac6e47e98d24854.rlib" "/tmp/cargo-installBG1gzi/release/deps/libbacktrace-3804904f9042f2f6.rlib" "/tmp/cargo-installBG1gzi/release/deps/libminiz_oxide-40186c75165dddf1.rlib" "/tmp/cargo-installBG1gzi/release/deps/libadler-392f602eb35377a4.rlib" "/tmp/cargo-installBG1gzi/release/deps/libobject-1337fbe988daf54a.rlib" "/tmp/cargo-installBG1gzi/release/deps/libaddr2line-dc9975fc9ab8c2d7.rlib" "/tmp/cargo-installBG1gzi/release/deps/libgimli-da39de18b8474960.rlib" "/tmp/cargo-installBG1gzi/release/deps/libcfg_if-cb3a90c6c918d108.rlib" "/tmp/cargo-installBG1gzi/release/deps/librustc_demangle-a1486b6107e2bf83.rlib" "/tmp/cargo-installBG1gzi/release/deps/libdiesel-24a1e3e3db880d2e.rlib" "/tmp/cargo-installBG1gzi/release/deps/libpq_sys-f6a4e43265dd612b.rlib" "/tmp/cargo-installBG1gzi/release/deps/libbyteorder-696e60eb23609a9a.rlib" "/tmp/cargo-installBG1gzi/release/deps/libclap-d083b8d0de8b616c.rlib" "/tmp/cargo-installBG1gzi/release/deps/libvec_map-05b31c2bf33908b7.rlib" "/tmp/cargo-installBG1gzi/release/deps/libtextwrap-1bb71aecd7134f8f.rlib" "/tmp/cargo-installBG1gzi/release/deps/libunicode_width-3bc2f1f6dd66a12b.rlib" "/tmp/cargo-installBG1gzi/release/deps/libstrsim-f9d48ca2ca9a0533.rlib" "/tmp/cargo-installBG1gzi/release/deps/libbitflags-ad0a1f0454a30088.rlib" "/tmp/cargo-installBG1gzi/release/deps/libatty-52c3ea5324d946c3.rlib" "/tmp/cargo-installBG1gzi/release/deps/libansi_term-abdd3d455c3faa85.rlib" "/tmp/cargo-installBG1gzi/release/deps/libchrono-65f8cbe679338467.rlib" "/tmp/cargo-installBG1gzi/release/deps/libnum_integer-0462eb089c1dab24.rlib" "/tmp/cargo-installBG1gzi/release/deps/libnum_traits-f87c919f5909cf65.rlib" "/tmp/cargo-installBG1gzi/release/deps/libtime-9445a996f553a818.rlib" "/tmp/cargo-installBG1gzi/release/deps/liblibc-ee7fc30d9ad975a5.rlib" "-Wl,--start-group" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-25c6acf8063a3802.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-539f13c9442f1597.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-37db28e905edb56b.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-9ef2480568df55af.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-1e0f0992cdbecd66.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-6c8e02b8fedc1e5f.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-807e5ad203594490.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-083fce1bea11612a.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-1af568081add9042.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-1395b54a3b3f45bf.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-caba820045f178d5.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-512eb53291f6de7e.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-5efacc5025f9f3d8.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-9c4002b5f79ba0e1.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-90996f4879673567.rlib" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-9ea09a899c3eda46.rlib" "-Wl,--end-group" "/home/mishaszu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ef2408da76957905.rlib" "-Wl,-Bdynamic" "-lpq" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc"
  = note: /usr/bin/ld: cannot find -lpq
          collect2: error: ld returned 1 exit status


error: aborting due to previous error

error: failed to compile `diesel_cli v1.4.1`, intermediate artifacts can be found at `/tmp/cargo-installBG1gzi`

Caused by:
  could not compile `diesel_cli`

Caused by:
  process didn't exit successfully: `rustc --crate-name diesel /home/mishaszu/.cargo/registry/src/github.com-1ecc6299db9ec823/diesel_cli-1.4.1/src/main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="postgres"' --cfg 'feature="url"' --cfg 'feature="uses_information_schema"' -C metadata=b2de4c6fd3b1f1b4 -C extra-filename=-b2de4c6fd3b1f1b4 --out-dir /tmp/cargo-installBG1gzi/release/deps -L dependency=/tmp/cargo-installBG1gzi/release/deps --extern chrono=/tmp/cargo-installBG1gzi/release/deps/libchrono-65f8cbe679338467.rlib --extern clap=/tmp/cargo-installBG1gzi/release/deps/libclap-d083b8d0de8b616c.rlib --extern diesel=/tmp/cargo-installBG1gzi/release/deps/libdiesel-24a1e3e3db880d2e.rlib --extern dotenv=/tmp/cargo-installBG1gzi/release/deps/libdotenv-04a26b63aa6ef0dd.rlib --extern migrations_internals=/tmp/cargo-installBG1gzi/release/deps/libmigrations_internals-bcac9d9a188244ff.rlib --extern serde=/tmp/cargo-installBG1gzi/release/deps/libserde-60e63a27c4f0b7e9.rlib --extern tempfile=/tmp/cargo-installBG1gzi/release/deps/libtempfile-e73db37dc22101f2.rlib --extern toml=/tmp/cargo-installBG1gzi/release/deps/libtoml-0dd36dbe7e712ec2.rlib --extern url=/tmp/cargo-installBG1gzi/release/deps/liburl-b126357f4d0d4ecf.rlib --cap-lints allow -L native=/usr/lib/x86_64-linux-gnu` (exit code: 1)

Are you seeing any additional errors?

No

Steps to reproduce

  1. Install postgresql from guide on WSL:
sudo apt install postgresql postgresql-contrib
  1. Running diesel_cli installation:
cargo install diesel_cli --no-default-features --features "postgres"

Checklist

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions