softprops / serverless-rust

⚡ 🦀 a serverless framework plugin for rustlang applications
https://www.npmjs.com/package/serverless-rust
MIT License
545 stars 82 forks source link

Musl issue with Diesel #94

Open servonlewis opened 3 years ago

servonlewis commented 3 years ago

🐛 Bug description

When running npx Serverless deploy, or cargo build --release --target x86_64-unknown-linux-musl, I receive this error.

error: linking with `x86_64-linux-musl-gcc` failed: exit code: 1
  |
  = note: "x86_64-linux-musl-gcc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-Wl,--eh-frame-hdr" "-nostartfiles" 

error: aborting due to previous error; 1 warning emitted

I've cut most of the error because it would make this unreadable.

I have walked through most of the steps that you will find online for MacOS such as :

[target.x86_64-unknown-linux-musl]
linker = "x86_64-linux-musl-gcc"

serverless.yml

service: hi
provider:
  name: aws
  runtime: rust

package:
  individually: true

plugins:
  - serverless-rust

custom:
  rust:
    dockerless: true

functions:
  hello:
    handler: hello
    events:
      - http:
          path: "/"
          method: POST
          cors: true

main.rs // the crate completely compiles if I comment out the pool and create_user fn which runs a diesel function.

use chrono::prelude::Utc;
use hello::db::establish_connection;
use hello::models::users::model::*;
use lambda_http::{handler, lambda, Body, Context, IntoResponse, Request};
use serde_json::json;
type Error = Box<dyn std::error::Error + Sync + Send + 'static>;

#[tokio::main]
async fn main() -> Result<(), Error> {
    lambda::run(handler(hello)).await?;
    Ok(())
}

async fn hello(req: Request, _: Context) -> Result<impl IntoResponse, Error> {
    let body = match req.body() {
        Body::Text(data) => data,
        _ => panic!("request not satisfied"),
    };

    let body: Result<NewUser, _> =
        serde_json::from_str(body).map_err(|err| println!("Error - {}", err.to_string()));

    let conn = establish_connection();

    if let Ok(body) = body {
        let user = NewUser {
       //fields
        };

        let user = User::create(user);
        let user = User::create_user(&conn, user).await?;
        let user = serde_json::to_string(&user)?;

        Ok(json!(user))
    } else {
        Ok(json!({}))
    }
}

This issue looks similar to the one listed for open-ssl, but this is an issue for diesel as well.

🤔 Expected Behavior

This should compile as normal.

If I run cargo build, it'll compile perfectly fine, but running cargo build --release --target x86_64-unknown-linux-musl, not so much

👟 Steps to reproduce

make sure to use any diesel functionality, in main.rs, then attempt to compile with cargo build --release --target x86_64-unknown-linux-musl or npx Serverless deploy

🌍 Your environment

MacOS big sure 11.1 rustc 1.49.0 (e1884a8e3 2020-12-29) cargo 1.49.0 (d00d64df9 2020-12-05)

serverless version: "serverless": "^1.83.2",

rust-plugin version: "serverless-rust": "^0.3.8"

servonlewis commented 3 years ago

The actual error:

error: linking with `x86_64-linux-musl-gcc` failed: exit code: 1
  |
  = note: "x86_64-linux-musl-gcc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-Wl,--eh-frame-hdr" "-nostartfiles" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/rcrt1.o" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crti.o" "-L" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib" "-L" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.0.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.1.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.10.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.11.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.12.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.13.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.14.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.15.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.2.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.3.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.4.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.5.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.6.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.7.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.8.rcgu.o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.hello.732y73s7-cgu.9.rcgu.o" "-o" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/hello-f7ec049e3f30eb04.5fxokcpsm3mswdzn.rcgu.o" "-Wl,--gc-sections" "-static-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps" "-L" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/release/deps" "-L" "/usr/local/opt/postgresql/lib" "-L" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib" "-Wl,-Bstatic" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/liblambda_http-3f74c6a534023358.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libserde_urlencoded-05fc8282cd0bf197.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/liburl-b4e5392248b4a560.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libidna-1d6b2ba7efef843b.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libunicode_normalization-3b8bb2399a88f15d.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libtinyvec-ee39b3bde2d4efb2.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libtinyvec_macros-b029bf3c51b25a5b.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libunicode_bidi-88d6a326e6a55919.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libform_urlencoded-eee5ef61537f9671.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libpercent_encoding-1550dfa595e42ea4.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libmatches-1bc546a27366dd48.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdtoa-22367c69a8f29150.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libbase64-5ceda3a683d176f9.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/liblambda-bcbac3170e75956d.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libasync_stream-5c4d22131d1acc15.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libhyper-66f4368cff76d0c2.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libhttparse-db261728204d32cd.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libwant-c7b7f2b3d47c85e5.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libtry_lock-6f9b67342c3718a4.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libh2-9bde0a8df9e628fe.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libtracing_futures-b34d6e0f30f3420a.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libpin_project-50c9205e2d8731bd.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libindexmap-90371fb877160f08.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libhashbrown-54c1ee898f1721e3.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libtokio_util-2d3ea596341f4709.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libhttpdate-ca2c6dedda45ec33.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libsocket2-3f346107fe885c86.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libtower_service-e73de3dd1ad6987a.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libhttp_body-7b0c26039bb78709.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libtracing-bb533562d46f89fc.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libpin_project_lite-a6f264ba419ef591.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libtracing_core-a29904f76aa8132a.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libfutures-5760ee8e6658184f.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libfutures_executor-b303f11cc693c613.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libfutures_util-2a3d6ca5681911bd.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libfutures_io-8b14823e1baca3d1.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libfutures_channel-687c5f0eb99fdd51.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libpin_project-96a3ec2f49a7b4eb.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libfutures_sink-28e6e62e47b29df6.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libfutures_task-ace3a262ee95ce3d.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libonce_cell-ce8da7d99652d550.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libpin_utils-846f74e407388426.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libhttp-64ff058d4bb31383.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libhello-d2ff0e4feb0b5b31.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libtokio_diesel-64bfce09c334d919.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libtokio-63b938825a98d534.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libsignal_hook_registry-13880ff9d2b662bb.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libnum_cpus-6fb8ac2de3318310.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libmemchr-b13c2d03c1d89d3e.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libfnv-510d72fa0d7d82b8.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libmio_uds-734418fa773dd0ff.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libmio-20054fe023c0bbe0.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libslab-3ba04c8b37f14092.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libiovec-b985451b06c85fdd.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libnet2-3b5ef05ac2401cd1.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libfutures_core-b58a7f38c7f34dd5.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/liblazy_static-1ca3b22de8c2bc99.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libbytes-234572e86f467429.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libpin_project_lite-02ce7f79dcce1cb3.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libanyhow-d40dbadc9a05c557.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdotenv-8d6f99b17007584f.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libpq_sys-bf38d01b130770eb.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libuuid-9a53c9b5cd40fa1d.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/librand-b730a85079467db9.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libserde_json-2419384341673561.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libryu-0df44d6b24573060.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libitoa-801d3e9dba69dde0.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libr2d2-14aa53f439a2617b.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libscheduled_thread_pool-9122de9d470f78e3.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libparking_lot-51317cd4c28a3bf4.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libparking_lot_core-32602579bbf26dac.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libsmallvec-3f477ec72acf74e6.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/liblock_api-7578cc99ddc56166.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libscopeguard-2358ecf02f65cc9f.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libinstant-9dd55208e53cda88.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libcfg_if-105f5560f1fad62c.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/liblog-c7e2cbccd18235af.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libcfg_if-3abd988947ffb595.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libbyteorder-72e35b44031c8726.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libbitflags-b52598e35b63e07c.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libchrono-e5d6b916fbaa96af.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libserde-fb53e673bc0c254c.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libnum_integer-488ce26762aae6d0.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libnum_traits-39394b223fbf8b24.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libtime-dd9dc5bf175cbf83.rlib" "/Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/liblibc-28f14d027300b202.rlib" "-Wl,--start-group" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-4af0a154d4239e0d.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/libpanic_unwind-2709f773253dac1a.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/libminiz_oxide-aa1418ed68c78ba4.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/libadler-22bbb7f8a7b68684.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-22d2532a9ce6776b.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/libaddr2line-3ae7a04933d138d4.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-3c667f9b96a72324.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_demangle-b2b22bdbd49b8838.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/libhashbrown-61cd3415c95ecc1f.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_alloc-71d122477dc4c57b.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/libunwind-87da356bcf7619ef.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/libcfg_if-350ac4f2ed12f980.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/liblibc-00ef29908b420b2f.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-d448ae53b02c2a3b.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_core-a651424267a3aa85.rlib" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-440122d72cf85844.rlib" "-Wl,--end-group" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/libcompiler_builtins-cc4be9f66247a9f4.rlib" "-Wl,-Bdynamic" "-lpq" "/Users/servonlewis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtn.o"
  = note: /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.12.rcgu.o): in function `diesel::pg::connection::raw::RawConnection::establish':
          diesel.cignwxrv-cgu.12:(.text._ZN6diesel2pg10connection3raw13RawConnection9establish17hafeb25c3548f46bbE+0x7a): undefined reference to `PQconnectdb'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: diesel.cignwxrv-cgu.12:(.text._ZN6diesel2pg10connection3raw13RawConnection9establish17hafeb25c3548f46bbE+0x86): undefined reference to `PQstatus'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: diesel.cignwxrv-cgu.12:(.text._ZN6diesel2pg10connection3raw13RawConnection9establish17hafeb25c3548f46bbE+0xa5): undefined reference to `PQfinish'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.12.rcgu.o): in function `<diesel::pg::connection::raw::RawConnection as core::ops::drop::Drop>::drop':
          diesel.cignwxrv-cgu.12:(.text._ZN84_$LT$diesel..pg..connection..raw..RawConnection$u20$as$u20$core..ops..drop..Drop$GT$4drop17h3398f490bd0f1b37E+0x5): undefined reference to `PQfinish'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.12.rcgu.o): in function `_ZN6diesel2pg10connection3raw18last_error_message17h6e94771571c02200E.llvm.17258421107106111213':
          diesel.cignwxrv-cgu.12:(.text._ZN6diesel2pg10connection3raw18last_error_message17h6e94771571c02200E.llvm.17258421107106111213+0x15): undefined reference to `PQerrorMessage'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.12.rcgu.o): in function `<diesel::pg::connection::raw::RawResult as core::ops::drop::Drop>::drop':
          diesel.cignwxrv-cgu.12:(.text._ZN80_$LT$diesel..pg..connection..raw..RawResult$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9774e544bad21d06E+0x5): undefined reference to `PQclear'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.14.rcgu.o): in function `<diesel::pg::connection::row::PgRow as diesel::row::Row<diesel::pg::backend::Pg>>::take':
          diesel.cignwxrv-cgu.14:(.text._ZN102_$LT$diesel..pg..connection..row..PgRow$u20$as$u20$diesel..row..Row$LT$diesel..pg..backend..Pg$GT$$GT$4take17ha725bf3797933ee0E+0x27): undefined reference to `PQgetisnull'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: diesel.cignwxrv-cgu.14:(.text._ZN102_$LT$diesel..pg..connection..row..PgRow$u20$as$u20$diesel..row..Row$LT$diesel..pg..backend..Pg$GT$$GT$4take17ha725bf3797933ee0E+0x3e): undefined reference to `PQgetvalue'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: diesel.cignwxrv-cgu.14:(.text._ZN102_$LT$diesel..pg..connection..row..PgRow$u20$as$u20$diesel..row..Row$LT$diesel..pg..backend..Pg$GT$$GT$4take17ha725bf3797933ee0E+0x4f): undefined reference to `PQgetlength'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.14.rcgu.o): in function `<diesel::pg::connection::row::PgRow as diesel::row::Row<diesel::pg::backend::Pg>>::next_is_null':
          diesel.cignwxrv-cgu.14:(.text._ZN102_$LT$diesel..pg..connection..row..PgRow$u20$as$u20$diesel..row..Row$LT$diesel..pg..backend..Pg$GT$$GT$12next_is_null17h9fbb043082d2afaaE+0x18): undefined reference to `PQgetisnull'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.15.rcgu.o): in function `core::ptr::drop_in_place':
          diesel.cignwxrv-cgu.15:(.text._ZN4core3ptr13drop_in_place17h682ab3eb2d1f860cE+0x10): undefined reference to `PQfinish'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.15.rcgu.o): in function `core::ptr::drop_in_place':
          diesel.cignwxrv-cgu.15:(.text._ZN4core3ptr13drop_in_place17h9dbe51816612ab94E+0x5): undefined reference to `PQclear'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.15.rcgu.o): in function `core::ptr::drop_in_place':
          diesel.cignwxrv-cgu.15:(.text._ZN4core3ptr13drop_in_place17ha13b95157d9bda39E+0x5): undefined reference to `PQfinish'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.15.rcgu.o): in function `<diesel::pg::connection::PgConnection as diesel::connection::Connection>::establish':
          diesel.cignwxrv-cgu.15:(.text._ZN87_$LT$diesel..pg..connection..PgConnection$u20$as$u20$diesel..connection..Connection$GT$9establish17h7ec9ff9c18d2abefE+0x21c): undefined reference to `PQfinish'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: diesel.cignwxrv-cgu.15:(.text._ZN87_$LT$diesel..pg..connection..PgConnection$u20$as$u20$diesel..connection..Connection$GT$9establish17h7ec9ff9c18d2abefE+0x2d7): undefined reference to `PQsetNoticeProcessor'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.15.rcgu.o): in function `<diesel::pg::connection::PgConnection as diesel::connection::Connection>::execute':
          diesel.cignwxrv-cgu.15:(.text._ZN87_$LT$diesel..pg..connection..PgConnection$u20$as$u20$diesel..connection..Connection$GT$7execute17hb876d478c6e41224E+0x1c5): undefined reference to `PQcmdTuples'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: diesel.cignwxrv-cgu.15:(.text._ZN87_$LT$diesel..pg..connection..PgConnection$u20$as$u20$diesel..connection..Connection$GT$7execute17hb876d478c6e41224E+0x1f9): undefined reference to `PQclear'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.5.rcgu.o): in function `core::ptr::drop_in_place':
          diesel.cignwxrv-cgu.5:(.text._ZN4core3ptr13drop_in_place17h9f2106f598822e98E+0x5): undefined reference to `PQclear'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.5.rcgu.o): in function `core::ptr::drop_in_place':
          diesel.cignwxrv-cgu.5:(.text._ZN4core3ptr13drop_in_place17hef4c772fd9deb0d3E+0x5): undefined reference to `PQclear'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.5.rcgu.o): in function `diesel::pg::connection::result::PgResult::new':
          diesel.cignwxrv-cgu.5:(.text._ZN6diesel2pg10connection6result8PgResult3new17h26a25ae41adeb24cE+0x18): undefined reference to `PQresultStatus'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: diesel.cignwxrv-cgu.5:(.text._ZN6diesel2pg10connection6result8PgResult3new17h26a25ae41adeb24cE+0x116): undefined reference to `PQclear'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: diesel.cignwxrv-cgu.5:(.text._ZN6diesel2pg10connection6result8PgResult3new17h26a25ae41adeb24cE+0x129): undefined reference to `PQresultErrorField'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.5.rcgu.o): in function `diesel::pg::connection::result::PgResult::num_rows':
          diesel.cignwxrv-cgu.5:(.text._ZN6diesel2pg10connection6result8PgResult8num_rows17h2debd0905d0de505E+0x6): undefined reference to `PQntuples'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.5.rcgu.o): in function `<diesel::pg::connection::result::PgErrorInformation as diesel::result::DatabaseErrorInformation>::message':
          diesel.cignwxrv-cgu.5:(.text._ZN111_$LT$diesel..pg..connection..result..PgErrorInformation$u20$as$u20$diesel..result..DatabaseErrorInformation$GT$7message17h6d0a9e9f0226309eE+0x12): undefined reference to `PQresultErrorField'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: diesel.cignwxrv-cgu.5:(.text._ZN111_$LT$diesel..pg..connection..result..PgErrorInformation$u20$as$u20$diesel..result..DatabaseErrorInformation$GT$7message17h6d0a9e9f0226309eE+0x53): undefined reference to `PQresultErrorMessage'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.5.rcgu.o): in function `<diesel::pg::connection::result::PgErrorInformation as diesel::result::DatabaseErrorInformation>::details':
          diesel.cignwxrv-cgu.5:(.text._ZN111_$LT$diesel..pg..connection..result..PgErrorInformation$u20$as$u20$diesel..result..DatabaseErrorInformation$GT$7details17h835511c4f8dc206eE+0xe): undefined reference to `PQresultErrorField'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.5.rcgu.o): in function `<diesel::pg::connection::result::PgErrorInformation as diesel::result::DatabaseErrorInformation>::hint':
          diesel.cignwxrv-cgu.5:(.text._ZN111_$LT$diesel..pg..connection..result..PgErrorInformation$u20$as$u20$diesel..result..DatabaseErrorInformation$GT$4hint17h65f113867f98a3f0E+0xe): undefined reference to `PQresultErrorField'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.5.rcgu.o): in function `<diesel::pg::connection::result::PgErrorInformation as diesel::result::DatabaseErrorInformation>::table_name':
          diesel.cignwxrv-cgu.5:(.text._ZN111_$LT$diesel..pg..connection..result..PgErrorInformation$u20$as$u20$diesel..result..DatabaseErrorInformation$GT$10table_name17h1c938b81eb1ad370E+0xe): undefined reference to `PQresultErrorField'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.5.rcgu.o): in function `<diesel::pg::connection::result::PgErrorInformation as diesel::result::DatabaseErrorInformation>::column_name':
          diesel.cignwxrv-cgu.5:(.text._ZN111_$LT$diesel..pg..connection..result..PgErrorInformation$u20$as$u20$diesel..result..DatabaseErrorInformation$GT$11column_name17h58e828166497c8e4E+0xe): undefined reference to `PQresultErrorField'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.5.rcgu.o): in function `<diesel::pg::connection::result::PgErrorInformation as diesel::result::DatabaseErrorInformation>::constraint_name':
          diesel.cignwxrv-cgu.5:(.text._ZN111_$LT$diesel..pg..connection..result..PgErrorInformation$u20$as$u20$diesel..result..DatabaseErrorInformation$GT$15constraint_name17ha14b70a2b4709431E+0xe): undefined reference to `PQresultErrorField'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.7.rcgu.o): in function `diesel::pg::connection::stmt::Statement::execute':
          diesel.cignwxrv-cgu.7:(.text._ZN6diesel2pg10connection4stmt9Statement7execute17haa764ea8a683a573E+0x20d): undefined reference to `PQexecPrepared'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: /Users/servonlewis/DivineMatch/Functions/divinematch/target/x86_64-unknown-linux-musl/release/deps/libdiesel-848756bdf84558f0.rlib(diesel-848756bdf84558f0.diesel.cignwxrv-cgu.7.rcgu.o): in function `diesel::pg::connection::stmt::Statement::prepare':
          diesel.cignwxrv-cgu.7:(.text._ZN6diesel2pg10connection4stmt9Statement7prepare17h75048fa2f552474aE+0x231): undefined reference to `PQprepare'
          /usr/local/Cellar/musl-cross/0.9.9/libexec/bin/../lib/gcc/x86_64-linux-musl/9.2.0/../../../../x86_64-linux-musl/bin/ld: diesel.cignwxrv-cgu.7:(.text._ZN6diesel2pg10connection4stmt9Statement7prepare17h75048fa2f552474aE+0x3b5): undefined reference to `PQclear'
          collect2: error: ld returned 1 exit status

error: aborting due to previous error; 1 warning emitted

error: could not compile `hello`