2

I'm trying to install anchor on Ubuntu 22.04 but the installation fails. Here's the terminal output:

 cargo install --git https://github.com/project-serum/anchor avm --locked --force

    Updating git repository `https://github.com/project-serum/anchor`
  Installing avm v0.25.0 (https://github.com/project-serum/anchor#93332766)
    Updating crates.io index
   Compiling libc v0.2.119
   Compiling autocfg v1.1.0
   Compiling proc-macro2 v1.0.36
   Compiling cfg-if v1.0.0
   Compiling unicode-xid v0.2.2
   Compiling syn v1.0.86
   Compiling memchr v2.4.1
   Compiling log v0.4.14
   Compiling pin-project-lite v0.2.8
   Compiling cc v1.0.73
   Compiling pkg-config v0.3.24
   Compiling bytes v1.1.0
   Compiling futures-core v0.3.21
   Compiling version_check v0.9.4
   Compiling itoa v1.0.1
   Compiling futures-task v0.3.21
   Compiling lazy_static v1.4.0
   Compiling foreign-types-shared v0.1.1
   Compiling futures-util v0.3.21
   Compiling fnv v1.0.7
   Compiling openssl v0.10.38
   Compiling hashbrown v0.11.2
   Compiling serde_derive v1.0.136
   Compiling bitflags v1.3.2
   Compiling matches v0.1.9
   Compiling pin-utils v0.1.0
   Compiling futures-sink v0.3.21
   Compiling futures-channel v0.3.21
   Compiling once_cell v1.9.0
   Compiling futures-io v0.3.21
   Compiling tinyvec_macros v0.1.0
   Compiling httparse v1.6.0
   Compiling native-tls v0.2.8
   Compiling serde v1.0.136
   Compiling slab v0.4.5
   Compiling openssl-probe v0.1.5
   Compiling percent-encoding v2.1.0
   Compiling try-lock v0.2.3
   Compiling ryu v1.0.9
   Compiling encoding_rs v0.8.30
   Compiling httpdate v1.0.2
   Compiling tower-service v0.3.1
   Compiling serde_json v1.0.79
   Compiling unicode-bidi v0.3.7
   Compiling semver v1.0.5
   Compiling heck v0.4.0
   Compiling anyhow v1.0.54
   Compiling base64 v0.13.0
   Compiling strsim v0.10.0
   Compiling ipnet v2.3.1
   Compiling termcolor v1.1.2
   Compiling fastrand v1.7.0
   Compiling remove_dir_all v0.5.3
   Compiling textwrap v0.14.2
   Compiling mime v0.3.16
   Compiling indexmap v1.8.0
   Compiling proc-macro-error-attr v1.0.4
   Compiling proc-macro-error v1.0.4
   Compiling tracing-core v0.1.22
   Compiling foreign-types v0.3.2
   Compiling http v0.2.6
   Compiling openssl-sys v0.9.72
   Compiling tinyvec v1.5.1
   Compiling form_urlencoded v1.0.1
   Compiling tracing v0.1.31
error: failed to run custom build command for `openssl-sys v0.9.72`

Caused by:
  process didn't exit successfully: `/tmp/cargo-installyyxHFg/release/build/openssl-sys-91e679f09e1fedf4/build-script-main` (exit status: 101)
  --- stdout
  cargo:rustc-cfg=const_fn
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
  OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
  OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_DIR
  OPENSSL_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=OPENSSL_STATIC
  cargo:rerun-if-env-changed=OPENSSL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
  run pkg_config fail: "`\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"` did not exit successfully: exit status: 1\nerror: could not find system library 'openssl' required by the 'openssl-sys' crate\n\n--- stderr\nPackage openssl was not found in the pkg-config search path.\nPerhaps you should add the directory containing `openssl.pc'\nto the PKG_CONFIG_PATH environment variable\nNo package 'openssl' found\n"

  --- stderr
  thread 'main' panicked at '

  Could not find directory of OpenSSL installation, and this `-sys` crate cannot
  proceed without this knowledge. If OpenSSL is installed and this crate had
  trouble finding it,  you can set the `OPENSSL_DIR` environment variable for the
  compilation process.

  Make sure you also have the development packages of openssl installed.
  For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora.

  If you're in a situation where you think the directory *should* be found
  automatically, please open a bug at https://github.com/sfackler/rust-openssl
  and include information about your system as well as this message.

  $HOST = x86_64-unknown-linux-gnu
  $TARGET = x86_64-unknown-linux-gnu
  openssl-sys = 0.9.72

  ', /home/kelvin/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.72/build/find_normal.rs:180:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: failed to compile `avm v0.25.0 (https://github.com/project-serum/anchor#93332766)`, intermediate artifacts can be found at `/tmp/cargo-installyyxHFg

I've also installed the recommended dependencies using the command below but still doesn't work.

sudo apt-get update && sudo apt-get upgrade && sudo apt-get install -y pkg-config build-essential libudev-dev

1 Answer 1

6

Try installing libssl-dev also:

sudo apt install libssl-dev

2
  • Yeah, I've installed libssl-dev and it works. Thanks.
    – Kirima
    Commented Aug 5, 2022 at 6:35
  • Excellent help Federico Garcia - Kudos to you and thanks
    – Sal Jaffer
    Commented Oct 17, 2022 at 6:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.