Docker images for compiling static Rust binaries using musl-libc and musl-gcc, with static versions of useful C libraries. Supports openssl and diesel crates.

Overview

rust-musl-builder: Docker container for easily building static Rust binaries

Docker Image

UPDATED: Major updates in this release which may break some builds. See the CHANGELOG for details. If these updates break your build, you can update your Dockerfile to use FROM ekidd/rust-musl-builder:1.48.0 to revert to the previous version.

What is this?

This image allows you to build static Rust binaries using diesel, sqlx or openssl. These images can be distributed as single executable files with no dependencies, and they should work on any modern Linux system.

To try it, run:

alias rust-musl-builder='docker run --rm -it -v "$(pwd)":/home/rust/src ekidd/rust-musl-builder'
rust-musl-builder cargo build --release

This command assumes that $(pwd) is readable and writable by uid 1000, gid 1000. At the moment, it doesn't attempt to cache libraries between builds, so this is best reserved for making final release builds.

For a more realistic example, see the Dockerfiles for examples/using-diesel and examples/using-sqlx.

Deploying your Rust application

With a bit of luck, you should be able to just copy your application binary from target/x86_64-unknown-linux-musl/release, and install it directly on any reasonably modern x86_64 Linux machine. In particular, you should be able make static release binaries using TravisCI and GitHub, or you can copy your Rust application into an Alpine Linux container. See below for details!

Available tags

In general, we provide the following tagged Docker images:

  • latest, stable: Current stable Rust, now with OpenSSL 1.1. We try to update this fairly rapidly after every new stable release, and after most point releases.
  • X.Y.Z: Specific versions of stable Rust.
  • beta: This usually gets updated every six weeks alongside the stable release. It will usually not be updated for beta bugfix releases.
  • nightly-YYYY-MM-DD: Specific nightly releases. These should almost always support clippy, rls and rustfmt, as verified using rustup components history. If you need a specific date for compatibility with tokio or another popular library using unstable Rust, please file an issue.

At a minimum, each of these images should be able to compile examples/using-diesel and examples/using-sqlx.

Caching builds

You may be able to speed up build performance by adding the following -v commands to the rust-musl-builder alias:

-v cargo-git:/home/rust/.cargo/git
-v cargo-registry:/home/rust/.cargo/registry
-v target:/home/rust/src/target

You will also need to fix the permissions on the mounted volumes:

rust-musl-builder sudo chown -R rust:rust \
  /home/rust/.cargo/git /home/rust/.cargo/registry /home/rust/src/target

How it works

rust-musl-builder uses musl-libc, musl-gcc, and the new rustup target support. It includes static versions of several libraries:

  • The standard musl-libc libraries.
  • OpenSSL, which is needed by many Rust applications.
  • libpq, which is needed for applications that use diesel with PostgreSQL.
  • libz, which is needed by libpq.
  • SQLite3. See examples/using-diesel.

This library also sets up the environment variables needed to compile popular Rust crates using these libraries.

Extras

This image also supports the following extra goodies:

  • Basic compilation for armv7 using musl-libc. Not all libraries are supported at the moment, however.
  • mdbook and mdbook-graphviz for building searchable HTML documentation from Markdown files. Build manuals to use alongside your cargo doc output!
  • cargo about to collect licenses for your dependencies.
  • cargo deb to build Debian packages
  • cargo deny to check your Rust project for known security issues.

Making OpenSSL work

If your application uses OpenSSL, you will also need to take a few extra steps to make sure that it can find OpenSSL's list of trusted certificates, which is stored in different locations on different Linux distributions. You can do this using openssl-probe as follows:

fn main() {
    openssl_probe::init_ssl_cert_env_vars();
    //... your code
}

Making Diesel work

In addition to setting up OpenSSL, you'll need to add the following lines to your Cargo.toml:

[dependencies]
diesel = { version = "1", features = ["postgres", "sqlite"] }

# Needed for sqlite.
libsqlite3-sys = { version = "*", features = ["bundled"] }

# Needed for Postgres.
openssl = "*"

For PostgreSQL, you'll also need to include diesel and openssl in your main.rs in the following order (in order to avoid linker errors):

extern crate openssl;
#[macro_use]
extern crate diesel;

If this doesn't work, you might be able to fix it by reversing the order. See this PR for a discussion of the latest issues involved in linking to diesel, pq-sys and openssl-sys.

Making static releases with Travis CI and GitHub

These instructions are inspired by rust-cross.

First, read the Travis CI: GitHub Releases Uploading page, and run travis setup releases as instructed. Then add the following lines to your existing .travis.yml file, replacing myapp with the name of your package:

language: rust
sudo: required
os:
- linux
- osx
rust:
- stable
services:
- docker
before_deploy: "./build-release myapp ${TRAVIS_TAG}-${TRAVIS_OS_NAME}"
deploy:
  provider: releases
  api_key:
    secure: "..."
  file_glob: true
  file: "myapp-${TRAVIS_TAG}-${TRAVIS_OS_NAME}.*"
  skip_cleanup: true
  on:
    rust: stable
    tags: true

Next, copy build-release into your project and run chmod +x build-release.

Finally, add a Dockerfile to perform the actual build:

FROM ekidd/rust-musl-builder

# We need to add the source code to the image because `rust-musl-builder`
# assumes a UID of 1000, but TravisCI has switched to 2000.
ADD --chown=rust:rust . ./

CMD cargo build --release

When you push a new tag to your project, build-release will automatically build new Linux binaries using rust-musl-builder, and new Mac binaries with Cargo, and it will upload both to the GitHub releases page for your repository.

For a working example, see faradayio/cage.

Making tiny Docker images with Alpine Linux and Rust binaries

Docker now supports multistage builds, which make it easy to build your Rust application with rust-musl-builder and deploy it using Alpine Linux. For a working example, see examples/using-diesel/Dockerfile.

Adding more C libraries

If you're using Docker crates which require specific C libraries to be installed, you can create a Dockerfile based on this one, and use musl-gcc to compile the libraries you need. For an example, see examples/adding-a-library/Dockerfile. This usually involves a bit of experimentation for each new library, but it seems to work well for most simple, standalone libraries.

If you need an especially common library, please feel free to submit a pull request adding it to the main Dockerfile! We'd like to support popular Rust crates out of the box.

ARM support (experimental)

To target ARM hard float (Raspberry Pi):

rust-musl-builder cargo build --target=armv7-unknown-linux-musleabihf --release

Binaries will be written to target/$TARGET_ARCHITECTURE/release. By default it targets x86_64-unknown-linux-musl unless specified with --target.

This is missing many of the libraries used by the x86_64 build, and it should probably be split out of the base image and given its own tags.

Development notes

After modifying the image, run ./test-image to make sure that everything works.

Other ways to build portable Rust binaries

If for some reason this image doesn't meet your needs, there's a variety of other people working on similar projects:

License

Either the Apache 2.0 license, or the MIT license.

Comments
  • OpenSSL linker error

    OpenSSL linker error

    One of my builds started failing yesterday when the image got updated.

    When building with ekidd/rust-musl-builder@sha256:ee647bcd629149e1fb5be3b6aab27ecf5626e58e101b9b6f801eb70aa25fd7cc I get the following linker error:

      = note: /home/rust/project/target/x86_64-unknown-linux-musl/release/deps/libpq_sys-6529182a19f7c36c.rlib(fe-secure-openssl.o): In function `pgtls_init':
              fe-secure-openssl.c:(.text+0x1493): undefined reference to `OPENSSL_config'
              collect2: error: ld returned 1 exit status
    

    This error did not happen with the previous nightly image (ekidd/rust-musl-builder@sha256:74cf07e9c178a78954d07c2a98103ed4bfcd8da011c4deb1b91fcbf7a59c58c1)

    opened by Diggsey 16
  • Binary not static

    Binary not static

    Hi,

    for a while i was using rust-musl-builder as a git submodule. So I did not update. I tried to update to master and now my binary is no longer static. (same with the dockerhub version)

    Β» file target/x86_64-unknown-linux-musl/release/fw                                                                                                                                                                                                     
    target/x86_64-unknown-linux-musl/release/fw: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=bc7437143885536c8640f165e4fccbc4fdaf2ff9, with debug_info, not stripped
    

    Here is my repo https://github.com/brocode/fw

    With commit 8ea04b5f166b18dfa4bd5c49c771e2598284f87f everything works fine.

    opened by bomgar 12
  • Use GitHub Actions for CI

    Use GitHub Actions for CI

    Since Docker Hub limited the free CI hours, this image could not be built and published anymore.

    This PR tries to use GitHub Actions to build and publish the image.

    Building itself works, but I commented the actual push and the login to Docker Hub for my tests. In general it seems to work. Maybe this helps making newer versions of the image available again.

    Closes https://github.com/emk/rust-musl-builder/issues/123 https://github.com/emk/rust-musl-builder/issues/122 and https://github.com/emk/rust-musl-builder/issues/121

    opened by vbrandl 11
  • Use Alpine Linux chroot to get a musl bundle with package management

    Use Alpine Linux chroot to get a musl bundle with package management

    It's will be nice to use Alpine Linux chroot environment as the musl header and library bundle, so users can use package management tool to add C libraries instead of compile it themselves. They can just chroot into Alpine root and then use apk, or even use apk.static directly. Is there any technical issue to stop from doing that?

    enhancement 
    opened by sybblow 11
  • Link error while building libsodium-ffi

    Link error while building libsodium-ffi

    What did you try to do?

    Build my project (libsodium-ffi) that depends on openssl v0.10.26.

    What happened?

       Compiling libsodium-ffi v0.2.0 (https://github.com/zonyitoo/libsodium-ffi#6939cb14)
    error: linking with `cc` failed: exit code: 1
      |
      = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.0.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.1.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.10.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.11.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.12.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.13.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.14.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.15.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.2.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.3.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.4.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.5.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.6.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.7.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.8.rcgu.o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.build_script_build.bnih0bei-cgu.9.rcgu.o" "-o" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928" "/home/rust/src/build/target/release/build/libsodium-ffi-dc5e125d276a0928/build_script_build-dc5e125d276a0928.2a5wim8xoi4mbo6i.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/rust/src/build/target/release/deps" "-L" "/home/rust/src/build/target/release/build/libloading-4a588d1597a83c76/out" "-L" "/home/rust/src/build/target/release/build/curl-sys-a1ee93c85eb3f0ee/out/build" "-L" "/home/rust/src/build/target/release/build/libz-sys-5d342e48a432aa99/out/build" "-L" "/usr/local/musl/lib/" "-L" "/home/rust/src/build/target/release/build/bzip2-sys-9dd30e91332cdfed/out/lib" "-L" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/rust/src/build/target/release/deps/libtar-4ce831b6567e5cdc.rlib" "/home/rust/src/build/target/release/deps/libxattr-b4caecac3fbaf408.rlib" "/home/rust/src/build/target/release/deps/libfiletime-b93df941a06570ec.rlib" "/home/rust/src/build/target/release/deps/libflate2-74b381de6426473c.rlib" "/home/rust/src/build/target/release/deps/libminiz_oxide-73afae185d6472f6.rlib" "/home/rust/src/build/target/release/deps/libadler32-a852c4cdf7cd424f.rlib" "/home/rust/src/build/target/release/deps/libcrc32fast-bf77d59b530bb8df.rlib" "/home/rust/src/build/target/release/deps/libcurl-bc33bb4c85029626.rlib" "/home/rust/src/build/target/release/deps/libopenssl_probe-b3f4d63ad4a9acde.rlib" "/home/rust/src/build/target/release/deps/libsocket2-ef9a08b0959bcf31.rlib" "/home/rust/src/build/target/release/deps/libcurl_sys-025fa5b458e1f5ea.rlib" "/home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib" "/home/rust/src/build/target/release/deps/liblibz_sys-36e0a7d22fe5b948.rlib" "/home/rust/src/build/target/release/deps/libvcpkg-b131f8757213c327.rlib" "/home/rust/src/build/target/release/deps/libunwrap-85da7c60bec687f0.rlib" "/home/rust/src/build/target/release/deps/libpkg_config-282c51251224ed33.rlib" "/home/rust/src/build/target/release/deps/libbindgen-9b61b1a94ceef126.rlib" "/home/rust/src/build/target/release/deps/liblog-65e694d3a3fb773c.rlib" "/home/rust/src/build/target/release/deps/libwhich-caf69975b28b580a.rlib" "/home/rust/src/build/target/release/deps/libshlex-08a2ce2a87bd5c10.rlib" "/home/rust/src/build/target/release/deps/libregex-4f66b44627e6df0a.rlib" "/home/rust/src/build/target/release/deps/libthread_local-f56aa0e4023c7ca1.rlib" "/home/rust/src/build/target/release/deps/libregex_syntax-3416d0a6cf61d267.rlib" "/home/rust/src/build/target/release/deps/libaho_corasick-d262485751494da2.rlib" "/home/rust/src/build/target/release/deps/libquote-161320b9a7674f48.rlib" "/home/rust/src/build/target/release/deps/libproc_macro2-d2c4cd9ff5535ed3.rlib" "/home/rust/src/build/target/release/deps/libunicode_xid-320011c721979f04.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libproc_macro-4cee5e7a25d52465.rlib" "/home/rust/src/build/target/release/deps/libpeeking_take_while-37c1b8d09070cc05.rlib" "/home/rust/src/build/target/release/deps/liblazy_static-d83054ad2e19b3d0.rlib" "/home/rust/src/build/target/release/deps/librustc_hash-3ba07092ac5e2b67.rlib" "/home/rust/src/build/target/release/deps/libbyteorder-18799715848c9b25.rlib" "/home/rust/src/build/target/release/deps/liblazycell-f0916af75ce6367b.rlib" "/home/rust/src/build/target/release/deps/libclang_sys-ed5796569ab05ee9.rlib" "/home/rust/src/build/target/release/deps/liblibloading-1433e40d9975399d.rlib" "/home/rust/src/build/target/release/deps/liblibc-d9747841b1f0f152.rlib" "/home/rust/src/build/target/release/deps/libglob-f04d132da5c6aa6a.rlib" "/home/rust/src/build/target/release/deps/libcfg_if-25f614ba7c013ebe.rlib" "/home/rust/src/build/target/release/deps/libcexpr-d06ce66e8e308aa7.rlib" "/home/rust/src/build/target/release/deps/libnom-f566bd1eb7b5d9a2.rlib" "/home/rust/src/build/target/release/deps/libmemchr-88937c17f3f226cc.rlib" "/home/rust/src/build/target/release/deps/libbitflags-c9392e45df57ed6e.rlib" "-Wl,--start-group" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-fae576517123aa4e.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-a72070139220275e.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-093434daf7d99801.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-24daf38551b7a03b.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-36d70d9746402ce9.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-7acfc843240167a8.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-eb2e0f5fe057b8b3.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-75e9ddd83715a368.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-af51e7c6fd7d1248.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-27f2a77b2995d98c.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-ad10152c26711a1e.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-291bd2456cb6c9fe.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-fc6e9071307a3016.rlib" "-Wl,--end-group" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ebe4001ded7f33e7.rlib" "-Wl,-Bdynamic" "-ldl" "-lutil" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil"
      = note: /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(s3_clnt.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(s3_lib.o): relocation R_X86_64_32S against symbol `ssl3_ciphers' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(s3_enc.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(s3_pkt.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(s3_both.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(s3_cbc.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(s23_meth.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(s23_srvr.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(s23_clnt.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(s23_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(t1_meth.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(t1_srvr.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(t1_clnt.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(t1_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(t1_enc.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(t1_ext.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(d1_clnt.o): relocation R_X86_64_32S against symbol `dtls1_connect' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(d1_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(d1_pkt.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(d1_both.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(d1_srtp.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ssl_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ssl_cert.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ssl_sess.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ssl_ciph.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ssl_stat.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ssl_rsa.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ssl_asn1.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ssl_algs.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bio_ssl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ssl_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(t1_reneg.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tls_srp.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cryptlib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(mem.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(mem_dbg.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cversion.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ex_data.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(o_names.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(obj_dat.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(obj_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(obj_xref.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(sha256.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(sha512.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(hmac.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_ctx.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_print.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_shift.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ec_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ec_mult.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ec_curve.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ec_key.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ec_oct.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ecp_nistz256.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_sign.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_asn1.o): relocation R_X86_64_32 against symbol `RSA_PSS_PARAMS_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_crpt.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dsa_asn1.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dsa_sign.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dh_key.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dh_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dh_ameth.o): relocation R_X86_64_32S against symbol `dhx_asn1_meth' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(eng_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(eng_list.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(eng_init.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(eng_ctrl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(eng_pkey.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(eng_fat.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tb_rsa.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tb_dsa.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tb_ecdsa.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tb_dh.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tb_ecdh.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tb_rand.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tb_cipher.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tb_digest.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tb_pkmeth.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tb_asnmth.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(eng_dyn.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(eng_rdrand.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(buffer.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(buf_str.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bio_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bss_mem.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bss_file.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bss_sock.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bss_conn.o): relocation R_X86_64_32S against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bf_buff.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(b_print.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(b_sock.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(stack.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(lhash.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(randfile.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(err.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(digest.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(evp_enc.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_des.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_idea.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_des3.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_camellia.o): relocation R_X86_64_32S against symbol `Camellia_encrypt' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_rc4.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_aes.o): relocation R_X86_64_32 against symbol `bsaes_xts_decrypt' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(names.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_seed.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_rc2.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(m_md5.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(m_sha1.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(m_dss1.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(m_ecdsa.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p_sign.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p_verify.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(evp_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_null.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(c_allc.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(c_alld.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(evp_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(evp_pbe.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p5_crpt.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p5_crpt2.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pmeth_lib.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pmeth_fn.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pmeth_gn.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(m_sigver.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_aes_cbc_hmac_sha1.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_aes_cbc_hmac_sha256.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_rc4_hmac_md5.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_object.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_int.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_dup.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_strex.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_algor.o): relocation R_X86_64_32 against symbol `X509_ALGOR_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_pubkey.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_sig.o): relocation R_X86_64_32 against symbol `X509_SIG_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_attrib.o): relocation R_X86_64_32 against symbol `X509_ATTRIBUTE_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_bignum.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_long.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_name.o): relocation R_X86_64_32 against symbol `X509_NAME_ENTRY_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_x509.o): relocation R_X86_64_32 against symbol `X509_CINF_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_x509a.o): relocation R_X86_64_32 against symbol `X509_CERT_AUX_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(d2i_pr.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(t_x509.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(t_x509a.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(t_pkey.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tasn_new.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tasn_fre.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tasn_enc.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tasn_dec.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tasn_utl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tasn_typ.o): relocation R_X86_64_32 against symbol `ASN1_INTEGER_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ameth_lib.o): relocation R_X86_64_32S against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_exten.o): relocation R_X86_64_32 against symbol `X509_EXTENSION_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(asn1_par.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(asn1_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(asn1_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(evp_asn1.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p5_pbe.o): relocation R_X86_64_32 against symbol `PBEPARAM_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p5_pbev2.o): relocation R_X86_64_32 against symbol `PBE2PARAM_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p8_pkey.o): relocation R_X86_64_32 against symbol `PKCS8_PRIV_KEY_INFO_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pem_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pem_all.o): relocation R_X86_64_32 against symbol `d2i_X509_REQ' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pem_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pem_x509.o): relocation R_X86_64_32 against symbol `d2i_X509' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pem_xaux.o): relocation R_X86_64_32 against symbol `d2i_X509_AUX' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pem_oth.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pem_pkey.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x509_cmp.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x509_obj.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x509_vfy.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x509_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x509name.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x509_v3.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x509_lu.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_all.o): relocation R_X86_64_32 against symbol `X509_CINF_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x509_txt.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x509_trs.o): relocation R_X86_64_32S against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(by_file.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(by_dir.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x509_vpm.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_prn.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_utl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_genn.o): relocation R_X86_64_32 against symbol `GENERAL_NAME_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_alt.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_skey.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_akey.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_pku.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_sxnet.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_cpols.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_crld.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_purp.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_info.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_ocsp.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_akeya.o): relocation R_X86_64_32 against symbol `AUTHORITY_KEYID_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_pmaps.o): relocation R_X86_64_32 against symbol `POLICY_MAPPING_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_pcons.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_ncons.o): relocation R_X86_64_32 against symbol `NAME_CONSTRAINTS_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_pcia.o): relocation R_X86_64_32 against symbol `PROXY_POLICY_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_pci.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pcy_cache.o): relocation R_X86_64_32 against symbol `policy_data_free' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pcy_data.o): relocation R_X86_64_32 against symbol `POLICYQUALINFO_free' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pcy_map.o): relocation R_X86_64_32 against symbol `POLICY_MAPPING_free' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pcy_tree.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_scts.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(conf_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(conf_mod.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pk7_asn1.o): relocation R_X86_64_32 against symbol `PKCS7_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pk7_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pkcs7err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pk7_doit.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pk7_attr.o): relocation R_X86_64_32 against symbol `X509_ALGORS_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p12_asn.o): relocation R_X86_64_32 against symbol `PKCS12_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p12_crpt.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p12_key.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p12_kiss.o): relocation R_X86_64_32 against symbol `PKCS12_SAFEBAG_free' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p12_mutl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p12_utl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pk12err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p12_p8d.o): relocation R_X86_64_32 against symbol `PKCS8_PRIV_KEY_INFO_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(comp_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(comp_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(c_zlib.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ocsp_asn.o): relocation R_X86_64_32 against symbol `OCSP_SIGNATURE_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ocsp_ht.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ocsp_cl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ocsp_prn.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ocsp_vfy.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ocsp_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ui_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ui_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ui_openssl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cms_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cms_env.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cms_enc.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cms_pwri.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cms_kari.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pqueue.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ts_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(srp_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(srp_vfy.o): relocation R_X86_64_32S against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cm_pmeth.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_4758cca.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_aep.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_atalla.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_cswift.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_chil.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_nuron.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_sureware.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_ubsec.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(gost_eng.o): relocation R_X86_64_32S against symbol `digest_gost' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(gost_md.o): relocation R_X86_64_32 against symbol `GostR3411_94_CryptoProParamSet' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(gost_pmeth.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(gost_sign.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(s3_meth.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(s3_srvr.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(d1_meth.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(d1_srvr.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cpt_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(obj_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(sha1_one.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(hm_ameth.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(hm_pmeth.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(set_key.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ecb_enc.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cfb64ede.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cfb_enc.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(des_enc.o): relocation R_X86_64_32S against symbol `DES_SPtrans' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(aes_misc.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(aes_wrap.o): relocation R_X86_64_32 against symbol `AES_encrypt' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rc2_skey.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rc2_cbc.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(i_cbc.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(i_ecb.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(seed.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(seed_cbc.o): relocation R_X86_64_32 against symbol `SEED_decrypt' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(seed_cfb.o): relocation R_X86_64_32S against symbol `SEED_encrypt' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(seed_ofb.o): relocation R_X86_64_32S against symbol `SEED_encrypt' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(gcm128.o): relocation R_X86_64_32S against symbol `gcm_gmult_clmul' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(wrap128.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_add.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_div.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_exp.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_mul.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_mod.o): relocation R_X86_64_32 against symbol `BN_add' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_rand.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_blind.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_gcd.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_prime.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsaz_exp.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_recp.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_mont.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ecp_smpl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ecp_mont.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ec_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ec_asn1.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ec2_smpl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ec2_mult.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ec_ameth.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ec_pmeth.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(eck_prn.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ecp_oct.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ec2_oct.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_eay.o): relocation R_X86_64_32S against symbol `BN_mod_exp_mont' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_pk1.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_ssl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_none.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_oaep.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_x931.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_ameth.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_pmeth.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dsa_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dsa_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dsa_ossl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dsa_ameth.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dsa_pmeth.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ecs_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ecs_asn1.o): relocation R_X86_64_32 against symbol `ECDSA_SIG_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ecs_ossl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ecs_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dh_asn1.o): relocation R_X86_64_32 against symbol `DHparams_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dh_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dh_pmeth.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dh_rfc5114.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dh_kdf.o): relocation R_X86_64_32S against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ech_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ech_ossl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ech_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dso_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dso_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(eng_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(eng_table.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(eng_cnf.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(buf_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bio_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bss_null.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(b_dump.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(md_rand.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rand_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rand_unix.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(err_prn.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(encode.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(evp_key.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(evp_cnf.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_bf.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_xcbc_d.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_cast.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(m_md4.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(m_sha.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(m_wp.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(m_dss.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(m_mdc2.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(m_ripemd.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bio_md.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bio_enc.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(evp_pkey.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_bitstr.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_utctm.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_gentm.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_time.o): relocation R_X86_64_32 against symbol `ASN1_TIME_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_d2i_fp.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_i2d_fp.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_enum.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_sign.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_digest.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_verify.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_mbstr.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_req.o): relocation R_X86_64_32 against symbol `X509_REQ_INFO_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_crl.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_info.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(nsseq.o): relocation R_X86_64_32 against symbol `NETSCAPE_CERT_SEQUENCE_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(i2d_pr.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(tasn_prn.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(f_int.o): relocation R_X86_64_32S against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(f_string.o): relocation R_X86_64_32S against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x_pkey.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_bool.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(asn1_gen.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_bytes.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_strnid.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(asn_pack.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(asn_moid.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pem_info.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pem_pk8.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x509_def.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x509_req.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(x509_att.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_bcons.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_bitst.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_conf.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_extku.o): relocation R_X86_64_32 against symbol `ASN1_OBJECT_free' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(v3_ia5.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(pcy_node.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(conf_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(conf_api.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(conf_def.o): relocation R_X86_64_32S against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(txt_db.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p12_add.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p12_decr.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(p12_p8e.o): relocation R_X86_64_32 against symbol `PKCS8_PRIV_KEY_INFO_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ocsp_lib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cms_lib.o): relocation R_X86_64_32 against symbol `CMS_ContentInfo_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cms_asn1.o): relocation R_X86_64_32 against symbol `CMS_SharedInfo_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cms_io.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cms_sd.o): relocation R_X86_64_32 against symbol `CMS_SignedData_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cms_dd.o): relocation R_X86_64_32 against symbol `CMS_DigestedData_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(cmac.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(e_gost_err.o): relocation R_X86_64_32 against `.data' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(gost2001_keyx.o): relocation R_X86_64_32 against symbol `GostR3411_94_CryptoProParamSet' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(gost2001.o): relocation R_X86_64_32 against symbol `R3410_2001_paramset' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(gost89.o): relocation R_X86_64_32 against symbol `GostR3411_94_TestParamSet' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(gost94_keyx.o): relocation R_X86_64_32 against symbol `GostR3411_94_CryptoProParamSet' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(gost_ameth.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(gost_asn1.o): relocation R_X86_64_32 against symbol `GOST_KEY_TRANSPORT_it' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(gost_crypt.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(gost_ctl.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(wp_dgst.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(xcbc_enc.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bf_skey.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bf_ecb.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bf_enc.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(c_skey.o): relocation R_X86_64_32S against symbol `CAST_S_table5' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(c_enc.o): relocation R_X86_64_32S against symbol `CAST_S_table0' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_kron.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_sqrt.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_exp2.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bn_gf2m.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(ec_print.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_gen.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_saos.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(rsa_pss.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dsa_gen.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dh_gen.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(dso_dlfcn.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(a_set.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bio_ndef.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(asn_mime.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bio_b64.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: /home/rust/src/build/target/release/deps/libopenssl_sys-5b028e1d44eca017.rlib(bio_asn1.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
              /usr/bin/ld: final link failed: Nonrepresentable section on output
              collect2: error: ld returned 1 exit status
    
    
    error: aborting due to previous error
    

    Does ./test-image work?

    Don't know, ./test-image blocks on Updating crates.io index (Network issue).

    support 
    opened by zonyitoo 10
  • libinfer_schema_macros.so: undefined symbol: ASN1_STRING_length

    libinfer_schema_macros.so: undefined symbol: ASN1_STRING_length

    First of all, thanks for creating this!

    I have tried to build my cargo binary with your docker image, it is sadly slightly out of date. (I need at least 2017-12-20 due to codegen deps) However I was able to fix that in my Dockerfile. However, then I get this error:

    error: /home/rust/src/target/release/deps/libinfer_schema_macros-da12480521239fc5.so: undefined symbol: ASN1_STRING_length
      --> /home/rust/.cargo/registry/src/github.com-1ecc6299db9ec823/diesel_infer_schema-1.0.0-beta1/src/lib.rs:15:1
       |
    15 | extern crate infer_schema_macros;
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    

    Do you know what would fix this?

    My Dockerfile:

    FROM ekidd/rust-musl-builder:1.20.0 AS builder
    
    ADD . ./
    
    RUN sudo chown -R rust:rust /home/rust
    
    RUN rustup default nightly-2017-12-20 &&  rustup target add x86_64-unknown-linux-musl
    
    RUN cargo build --release
    
    FROM alpine:latest
    RUN apk --no-cache add ca-certificates
    COPY --from=builder \
        /home/rust/src/target/x86_64-unknown-linux-musl/release/fc \
        /usr/local/bin/
    CMD /usr/local/bin/fc
    

    This seems different from the pg-sys problem you mention in the Readme.

    opened by TheNeikos 9
  • Support for building as root user

    Support for building as root user

    How could this project be improved? In some scenarios it might be preferred to build the project as the root user instead of the lower privilege rust user. One such example would be GitHub Actions. The Docker image is executed in an ephemeral VM whose only purpose is to run the build and die. Using this image in its current state requires a lot of permission changes prior and post build especially when using the cache action.

    If you're interested in implementing this feature yourself, how could I help you? I have made a very crude "fix" to the image in my fork which is used by this script run by this Action. Although this works it is rather hacky. A proper solution would probably be either a global installation of the toolchain in the image or a separate tag for a root-based image.

    If you would be willing to accept such a change, I could spend some time in the next few weeks to sketch a PR for this.

    enhancement 
    opened by TilBlechschmidt 8
  • Unable to find musl-g++

    Unable to find musl-g++

    I have a dependency on grpcio-sys, which is failing to build in the container with the following:

    error: failed to run custom build command for `grpcio-sys v0.2.3`
    process didn't exit successfully: `/home/rust/src/target/release/build/grpcio-sys-53b66955a325ba1b/build-script-build` (exit code: 101)
    --- stdout
    cargo:rerun-if-changed=grpc_wrap.c
    cargo:rerun-if-changed=grpc
    cargo:rerun-if-env-changed=GRPCIO_SYS_USE_PKG_CONFIG
    running: "cmake" "/home/rust/.cargo/registry/src/github.com-1ecc6299db9ec823/grpcio-sys-0.2.3/grpc" "-DCMAKE_INSTALL_PREFIX=/home/rust/src/target/x86_64-unknown-linux-musl/release/build/grpcio-sys-0c674ae629d3b252/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64 -static" "-DCMAKE_C_COMPILER=/usr/bin/musl-gcc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64 -static" "-DCMAKE_CXX_COMPILER=musl-g++" "-DCMAKE_BUILD_TYPE=Release"
    -- The CXX compiler identification is unknown
    -- Configuring incomplete, errors occurred!
    See also "/home/rust/src/target/x86_64-unknown-linux-musl/release/build/grpcio-sys-0c674ae629d3b252/out/build/CMakeFiles/CMakeOutput.log".
    See also "/home/rust/src/target/x86_64-unknown-linux-musl/release/build/grpcio-sys-0c674ae629d3b252/out/build/CMakeFiles/CMakeError.log".
    
    --- stderr
    CMake Error at CMakeLists.txt:31 (project):
    The CMAKE_CXX_COMPILER:
    
    musl-g++
    
    is not a full path and was not found in the PATH.
    
    Tell CMake where to find the compiler by setting either the environment
    variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
    to the compiler, or to the compiler name if it is in the PATH.
    
    
    thread 'main' panicked at '
    command did not execute successfully, got: exit code: 1
    
    build script failed, must exit now', /home/rust/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.31/src/lib.rs:643:5
    note: Run with `RUST_BACKTRACE=1` for a backtrace.
    
    opened by insanitybit 8
  • Can't compile after moving to edition 2021

    Can't compile after moving to edition 2021

    What did you try to do? I have updated edition to 2021 and rust to latest version. Part of monthly update.

    I have followed the steps provided in migration guild

    • cargo fix --migration
    • update edition = "2018" to edition = "2021"
    • cargo build and cargo test // to see if everything is working

    What happened? Project compiles in local machine. But docker build is breaking with following message error: edition 2021 is unstable and only available with -Z unstable-options.

    What did you hope to happen? It should build without any issue.

    Does ./test-image work?

    If you check out the repository on a Mac or Linux system and run ./build-image, does it succeed or fail? This will build several known-good examples from the rust-musl-builder/examples directory.

    Additional information

    Is there anything else that we should know? It was working before edition migrated to 2021.

    bug 
    opened by kunjee17 7
  • Rust 1.21.0 & diesel_codegen:

    Rust 1.21.0 & diesel_codegen: "undefined symbol: SSL_set_ex_data"

    When cross-compiling using diesel_codegen and Rust 1.21.0, I get the following error:

       Compiling using-diesel v0.1.0 (file:///home/rust/src)
    error: /home/rust/src/target/release/deps/libdiesel_codegen-61cdddf775bc61b4.so: undefined symbol: SSL_set_ex_data
     --> src/main.rs:4:1
      |
    4 | extern crate diesel_codegen;
      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    error: Could not compile `using-diesel`.
    

    This appears to be caused by https://github.com/rust-lang/rust/issues/43486 and https://github.com/sgrif/pq-sys/pull/18.

    Workaround: Use FROM ekidd/rust-musl-builder:1.20.0 if you need to use diesel before https://github.com/sgrif/pq-sys/pull/18 gets fixed.

    opened by emk 7
  • Cross-compiling from aarch64 to musl arm64

    Cross-compiling from aarch64 to musl arm64

    Okay, so now that we've got "build as root" support it is time for the next adventure πŸ˜‰

    TL;DR Apple has shiny new MacBooks with an aarch64 CPU. While the Docker Tech Preview is able to run amd64 images, qemu is really unhappy about it (especially when compiling). Thus, seemingly half the rust crates I use simply don't compile.

    The most obvious solution would be to provide an aarch64 version of this image which is able to cross-compile to amd64. I've done some preliminary research and experimentation and came to the following milestones being required:

    • [ ] Replace the musl-cc compiler pulled from apt (musl-dev package presumably) with one from musl.cc for the appropriate target architecture (namely x86_64-linux-musl cross).
    • [ ] Tell cargo to use the correct linker using the config
    • [ ] Figure out how to compile OpenSSL and other libs

    In my little POC I got the first two working but cheated by removing OpenSSL from my crate. If possible, I could use some assistance there.

    enhancement 
    opened by TilBlechschmidt 6
  • [Question] Is this still maintained?

    [Question] Is this still maintained?

    I noticed the last commit was from back in 2021 and the builds have been failing for a while, although there is a PR (#146) up recently that should fix things. I was wondering if this repo is still being maintained. If not, I would be happy to open up a permanent fork and take some PRs over there.

    opened by willfindlay 4
  • Fix failing Builds

    Fix failing Builds

    This PR updates the library versions, thereby fixing the currently failing builds. The problem was zlib 1.2.11 being "unreleased" due to bug fixes.

    The zlib homepage states Due to the bug fixes, any installations of 1.2.11 should be replaced with 1.2.12.

    While at it, I also updated the versions for OpenSSL, mdBook, cargo-about, cargo-audit, cargo-deny and Postgres.

    With these changes, the scheduled releases should work again.

    opened by vbrandl 0
  • Update Dockerfile

    Update Dockerfile

    Version 1.2.11 has been yanked "Due to the bug fixes, any installations of 1.2.11 should be replaced with 1.2.12." (http://zlib.net/) The Dockerfile build therefore fails.

    opened by arnaudpoullet-dkt 2
  • compiling libxml & xmlsec: undefined reference to symbol 'srand@@GLIBC_2.2.5'

    compiling libxml & xmlsec: undefined reference to symbol 'srand@@GLIBC_2.2.5'

    First of all, I am not sure this is a bug, but rather more likely I didn't do something right? Any suggestions would be helpful.

    What did you try to do?

    I am trying to build my app that has dependencies on libxml2 and xmlsec. These libraries are not included, so I built them from source following the suggestions in the documentation. I have included my new docker file in my example repo: https://github.com/JoshuaNitschke/rust-musl-builder_example

    What happened?

    It fails to finish building with the below error:

    rust@74c30da02b56:~/src$ cargo build --release --target x86_64-unknown-linux-musl
       Compiling rust-musl-builder v0.1.0 (/home/rust/src)
    WARN rustc_codegen_ssa::back::link Linker does not support -static-pie command line option. Retrying with -static instead.
    error: linking with `cc` failed: exit status: 1
      |
      = note: "cc" "-m64" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crt1.o" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crti.o" "/opt/rust/rustup/toolchains/stable-x8
    6_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtbegin.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/rust_musl_builder-0abdab2629dfeaa2.rust_musl_builder.0fa1f4e9-cgu.0.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/rust_musl_builder-0a
    bdab2629dfeaa2.rust_musl_builder.0fa1f4e9-cgu.1.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/rust_musl_builder-0abdab2629dfeaa2.rust_musl_builder.0fa1f4e9-cgu.10.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/rust_musl_builder-0abdab2629dfeaa2.rust_musl_builder.0f
    a1f4e9-cgu.11.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/rust_musl_builder-0abdab2629dfeaa2.rust_musl_builder.0fa1f4e9-cgu.12.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/rust_musl_builder-0abdab2629dfeaa2.rust_musl_builder.0fa1f4e9-cgu.2.rcgu.o" "/home/rust/s
    rc/target/x86_64-unknown-linux-musl/release/deps/rust_musl_builder-0abdab2629dfeaa2.rust_musl_builder.0fa1f4e9-cgu.3.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/rust_musl_builder-0abdab2629dfeaa2.rust_musl_builder.0fa1f4e9-cgu.4.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/
    release/deps/rust_musl_builder-0abdab2629dfeaa2.rust_musl_builder.0fa1f4e9-cgu.5.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/rust_musl_builder-0abdab2629dfeaa2.rust_musl_builder.0fa1f4e9-cgu.6.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/rust_musl_builder-0abda
    b2629dfeaa2.rust_musl_builder.0fa1f4e9-cgu.7.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/rust_musl_builder-0abdab2629dfeaa2.rust_musl_builder.0fa1f4e9-cgu.8.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/rust_musl_builder-0abdab2629dfeaa2.rust_musl_builder.0fa1f4
    e9-cgu.9.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/rust_musl_builder-0abdab2629dfeaa2.21tfntb70993l72k.rcgu.o" "-Wl,--as-needed" "-L" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps" "-L" "/home/rust/src/target/release/deps" "-L" "/usr/local/musl/lib" "-L" "/usr/local/m
    usl/lib" "-L" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib" "-Wl,-Bstatic" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libxmlsec-bd1b363e63662ad8.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/liblazy_static-c03c33d
    691abf67a.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/liblibxml-e0f9293446cc9aa8.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/liblibc-70ba889effc8716d.rlib" "-Wl,--start-group" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-
    linux-musl/lib/libstd-bd288633937fc261.rlib" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libpanic_unwind-d5ca8f542ed71803.rlib" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libminiz_oxide-3f3a3c0
    6ab303b52.rlib" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libadler-34b784c556a5ac17.rlib" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-30156cf7870ed168.rlib" "/opt/rust/rustup/toolcha
    ins/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libmemchr-42ddd1c995a4526e.rlib" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libaddr2line-27e425dff83cc7fe.rlib" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/l
    ib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-27953ea6f34f06aa.rlib" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd_detect-8140e89a3473e3c6.rlib" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/
    lib/librustc_demangle-dc264158c76b38a0.rlib" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libhashbrown-6499d2e635982e2a.rlib" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_al
    loc-8221281351bf4b54.rlib" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libunwind-55df4fa4e20c6efc.rlib" "-lunwind" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libcfg_if-9ce06dc879286971.rlib" "/
    opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/liblibc-c097b71320db773c.rlib" "-lc" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-37d12500bef99331.rlib" "/opt/rust/rustup/toolchains/stable-x86
    _64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_core-63d6ff8598946320.rlib" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-972b93109ce1fa5e.rlib" "-Wl,--end-group" "/opt/rust/rustup/toolchains/stable-x86_64-un
    known-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libcompiler_builtins-71972cde1db06d51.rlib" "-Wl,-Bdynamic" "-lssl" "-lxmlsec1-openssl" "-lxmlsec1" "-lcrypto" "-ldl" "-lxml2" "-lm" "-lxml2" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-nostartfiles" "-L" "/opt/rust/rustup/toolchains/stable-x86_64-unknown
    -linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib" "-L" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained" "-o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/rust_musl_builder-0abdab2629dfeaa2" "-Wl,--gc-sections" "-static" "
    -Wl,-zrelro,-znow" "-Wl,-O1" "-nodefaultlibs" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtend.o" "/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtn.o"
      = note: /usr/bin/ld: /usr/local/musl/lib/libcrypto.a(rand_unix.o): undefined reference to symbol 'shmget@@GLIBC_2.2.5'
              //lib/x86_64-linux-gnu/libc.so.6: error adding symbols: DSO missing from command line
              collect2: error: ld returned 1 exit status
    
      = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
      = note: use the `-l` flag to specify native libraries to link
      = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)
    
    error: could not compile `rust-musl-builder` due to previous error
    

    What did you hope to happen?

    I was hoping I would be able to compile this application to the target x86_64-unknown-linux-musl

    Does ./test-image work?

    Yes

    Additional information

    N/A

    bug 
    opened by JoshuaNitschke 0
  • Look forward to an image that includes 1.58+

    Look forward to an image that includes 1.58+

    Thank you for this image. It's my goto for rust builds.

    How could this project be improved? Only as an FYI, rust 1.58 allows for a more friendly build of url strings not supported in 1.57. Specifically, the following is a "nice to have":

    let host = &CONFIG.options.tnc_auth_host;
    let prefix = &CONFIG.options.tnc_auth_prefix;
    let endpoint = &CONFIG.options.tnc_authorized_endpoint;
    let auth_service = &CONFIG.options.auth_service;
    
    // easier to track how the uri is being constructed...
    let redirect_uri = format!("{host}/{prefix}{endpoint}/{auth_service}");
    

    If you're interested in implementing this feature yourself, how could I help you? ... I did look at the Dockerfile. It was not clear to me where exactly I needed to at least try with a newer version. It might of course not be so easy depending on the dependencies :)) Let me know though.

    enhancement 
    opened by EdmundsEcho 1
Owner
Eric Kidd
Eric Kidd
docker-rust β€” the official Rust Docker image

About this Repo This is the Git repo of the Docker official image for rust. See the Docker Hub page for the full readme on how to use this Docker imag

The Rust Programming Language 321 Dec 11, 2022
Very small rust docker image

mini-docker-rust Very small rust docker image. This is an example project on how to build very small docker images for a rust project. The resulting i

null 155 Jan 1, 2023
Valheim Docker powered by Odin. The Valheim dedicated gameserver manager which is designed with resiliency in mind by providing automatic updates, world backup support, and a user friendly cli interface.

Valheim Docker If you are looking for a guide on how to get started click here Mod Support! It is supported to launch the server with BepInEx but!!!!!

Michael 657 Dec 30, 2022
Tool to monitor the statistics and the energy consumption of docker containers

Docker Activity Docker activity is a tool to monitor the statistics of your containers and output their energy consumption. Warning It's still in earl

JΓ©rΓ©mie Drouet 39 Dec 6, 2022
Rocker is a minimal docker implementation for educational purposes.

Rocker is a minimal docker implementation for educational purposes inspired by gocker. Rocker uses linux kernel features (namespace, cgroup, chroot etc.) to isolate container processes and limit available resourses.

Daiki Miura 16 Feb 14, 2022
A lite tool to make systemd work in any container(Windows Subsystem for Linux 2, Docker, Podman, etc.)

Angea Naming from hydrangea(γ‚’γ‚Έγ‚΅γ‚€) A lite tool to make systemd work in any container(Windows Subsystem for Linux 2, Docker, Podman, etc.) WSL1 is not s

いんしさくら 16 Dec 5, 2022
🐳 πŸ“¦ Bringing docker containers to your AUR helper since 2022

zeus Releases | CI | Issues | Installing | Building Zeus. A simple AUR helper which utilizes docker containers allowing developers and users alike to

1337 16 Dec 17, 2022
Hot-plug devices into a Docker container as they are plugged.

container-hotplug Hot-plug (and unplug) devices into a Docker container as they are (un)plugged. Description Docker provides the --device flag to give

lowRISC 2 Oct 17, 2022
Automated builded images for rust-lang with rustup, "the ultimate way to install RUST"

rustup Automated builded images on store and hub for rust-lang with musl added, using rustup "the ultimate way to install RUST". tag changed: all3 ->

εˆ˜ε†² 83 Nov 30, 2022
Inspect and dump OCI images.

reinlinsen ?? rl is a tool to inspect and dump OCI images or single image layers. Installation From source If you have cargo installed you can just ru

Tobias Brumhard 5 May 11, 2023
A buildpack for Rust applications on Heroku, with full support for Rustup, cargo and build caching.

Heroku buildpack for Rust This is a Heroku buildpack for Rust with support for cargo and rustup. Features include: Caching of builds between deploymen

Eric Kidd 502 Nov 7, 2022
oci-image and oci-runtime spec in rust.

oci-lib Oci-Spec for your container runtime or container registry. Oci-lib is a rust port for original oci spec written in go. Following crate contain

flouthoc 12 Mar 10, 2022
Rust Kubernetes client and controller runtime

kube-rs Rust client for Kubernetes in the style of a more generic client-go, a runtime abstraction inspired by controller-runtime, and a derive macro

kube-rs 1.8k Jan 8, 2023
Habitat is open source software that creates platform-independent build artifacts and provides built-in deployment and management capabilities.

Habitat is open source software that creates platform-independent build artifacts and provides built-in deployment and management capabilities. The go

Habitat 2.4k Dec 27, 2022
A wasm template for Rust to publish to gh-pages without npm-deploy

Wasm template for Rust hosting without npm-deploy on github pages using Travis script It automatically hosts you wasm projects on gh-pages using a tra

Siddharth Naithani 102 Dec 24, 2022
App Engine Rust boilerplate

Rust App Engine This projects is a minimal boilerplate ro run Rust web application inside Google App Engine. To deploy it use Google Cloud Shell: ```s

Denis Kolodin 48 Apr 26, 2022
A tiny minimal container runtime written in Rust.

vas-quod A tiny minimal container runtime written in Rust. The idea is to support a minimal isolated containers without using existing runtimes, vas-q

flouthoc 438 Dec 26, 2022
Experimental implementation of the oci-runtime in Rust

youki Experimental implementation of the oci-runtime in Rust Overview youki is an implementation of runtime-spec in Rust, referring to runc. This proj

utam0k 12 Sep 23, 2022
Krustlet: Kubernetes Kubelet in Rust for running WASM

Krustlet: Kubernetes Kubelet in Rust for running WASM ?? ?? This project is highly experimental. ?? ?? It should not be used in production workloads.

null 103 Dec 29, 2022