Giter VIP home page Giter VIP logo

cargo-vcpkg's Introduction

cargo-vcpkg Windows macOS Linux

Changelog

This command cargo vcpkg will create a vcpkg tree and install the packages specified in Cargo.toml files in the crate being built and crates it depends on. Crates that use the vcpkg crate will be able to find libraries automatically.

Example

[package.metadata.vcpkg]
git = "https://github.com/microsoft/vcpkg"
rev = "4c1db68"
dependencies = ["pkg1", "pkg2"]
$ cargo install cargo-vcpkg
$ cargo vcpkg build
    Fetching vcpkg
    Checkout rev/tag/branch 4c1db68
   Compiling pkg1, pkg2
    Finished in 1.93s
$ cargo build
[...]

Per target configuration

It is also possible to install different sets of packages per target, and override the vcpkg triplet to install.

[package.metadata.vcpkg]
git = "https://github.com/microsoft/vcpkg"
rev = "4c1db68"
dependencies = ["sdl2"]

[package.metadata.vcpkg.target]
x86_64-apple-darwin = { dependencies = ["sdl2", "sdl2-gfx" ] }
x86_64-unknown-linux-gnu = { dependencies = ["sdl2", "opencv"] }
x86_64-pc-windows-msvc = { triplet = "x64-windows-static", dependencies = ["sdl2", "zeromq"] }

Development dependencies

Setting the dev-dependencies key allows building libraries that are required by binaries in this crate. Only the packages in the dependencies key will be installed if cargo vcpkg is run on a crate that depends on this crate.

[package.metadata.vcpkg]
git = "https://github.com/microsoft/vcpkg"
rev = "4c1db68"
dependencies = ["sdl2"]
dev-dependencies = ["sdl2-image"]

[package.metadata.vcpkg.target]
x86_64-apple-darwin = { dev-dependencies = ["sdl2-gfx" ] }

Overlay triplets

Setting the overlay-triplets-path key allows you use custom triplet files in your build. The value of this key should be the path to a directory containing triplet files. These files will be made available during the vcpkg build through its --overlay-triplets argument.

[package.metadata.vcpkg]
git = "https://github.com/microsoft/vcpkg"
rev = "4c1db68"
dependencies = ["sdl2"]
overlay-triplets-path = "support/custom-triplets"

[package.metadata.vcpkg.target]
x86_64-pc-windows-msvc = { triplet = "x64-windows-static-release" }

Here, the repository should contain a file named support/custom-triplets/x64-windows-static-release.cmake.

Installation

Install by running

cargo install cargo-vcpkg

crates.io/vcpkg needs older Rust for compatibility with older projects, while cargo-vcpkg would like to track new versions for the latest features in Cargo.toml, hense the split of repos between components.

License

See LICENSE-APACHE, and LICENSE-MIT for details.

cargo-vcpkg's People

Contributors

fungos avatar kornelski avatar matrix-zhang avatar mcgoo avatar perlmint avatar pkgw avatar spl avatar waych avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cargo-vcpkg's Issues

Miss-use of the local cache when switching upstream URL.

With this modification and caching enabled, cargo vcpkg build seems to build with the new branch but on the old remote. I think the cache should be invalidated when either of them change.

From https://github.com/microsoft/vcpkg
   fa1bbe097..261c458af  master     -> origin/master
    Checkout rev sdl-hidapi
error: pathspec 'sdl-hidapi' did not match any file(s) known to git

Any way to speed up builds on Windows?

For Tectonic, the Windows vcpkg builds are now timing out about 75% of the time because of the 60-minute job time limit for the Azure Pipeline build agents that we use. The lion's share of that time is taken up by the cargo vcpkg build of Tectonic's dependencies. I don't suppose there are any options that we could add/activate that would reduce how long things take? In particular, in the past I've noticed that vcpkg sometime builds both debug and release versions of its outputs ... does that happen to be the case with cargo vcpkg build?

Build Errors due to HTTP response code being errors

Here is my cargo.toml file -

[package]
name = "rs-scanner"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
magic = "0.13.0"
rayon = "1.7.0"
snafu = "0.7.4"
vcpkg = "0.2.15"
walkdir = "2.3.3"

[package.metadata.vcpkg]
git = "https://github.com/microsoft/vcpkg"
rev = "4c1db68"
dependencies = ["libmagic"]

Here is what happens when I run cargo vcpkg -v build

PS C:\code-projects\rs-scanner> cargo vcpkg -v build
vcpkg root is C:\code-projects\rs-scanner\target\vcpkg
    Fetching vcpkg
Fetching origin
POST git-upload-pack (165 bytes)
From https://github.com/microsoft/vcpkg
 = [up to date]          master     -> origin/master
    Checkout rev 4c1db68
HEAD is now at 4c1db6840 [python3] Fix dynamic build error on Linux (#11489)
-- stdout --
Your feedback is important to improve Vcpkg! Please take 3 minutes to complete our survey by running: vcpkg contact --survey
Using local portfile versions. To update the local portfiles, use `git pull`.
No packages need updating.

-- stderr --

ExitStatus(ExitStatus(0))
  Installing libmagic libmagic
Your feedback is important to improve Vcpkg! Please take 3 minutes to complete our survey by running: vcpkg contact --survey
Computing installation plan...
The following packages will be built and installed:
    libmagic[core]:x86-windows
   Compiling libmagic (triplet x86-windows)
Starting package 1/1: libmagic:x86-windows
Building package libmagic[core]:x86-windows...
-- Using cached C:/code-projects/rs-scanner/target/vcpkg/downloads/file-file-a0d5b0e4e9f97d74a9911e95cedd579852e25398.tar.gz
-- Using source at C:/code-projects/rs-scanner/target/vcpkg/buildtrees/libmagic/src/9852e25398-4363addce8
-- Acquiring MSYS2...
-- Downloading https://sourceforge.net/projects/msys2/files/Base/x86_64/msys2-base-x86_64-20190524.tar.xz/download...
-- Downloading https://sourceforge.net/projects/msys2/files/Base/x86_64/msys2-base-x86_64-20190524.tar.xz/download... Failed. Status: 22;"HTTP response code said error"
-- Downloading http://repo.msys2.org/distrib/x86_64/msys2-base-x86_64-20190524.tar.xz...
-- Downloading http://repo.msys2.org/distrib/x86_64/msys2-base-x86_64-20190524.tar.xz... Failed. Status: 22;"HTTP response code said error"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:175 (message):

      Failed to download file.
      If you use a proxy, please set the HTTPS_PROXY and HTTP_PROXY environment
      variables to "https://user:password@your-proxy-ip-address:port/".
      Otherwise, please submit an issue at https://github.com/Microsoft/vcpkg/issues

Call Stack (most recent call first):
  scripts/cmake/vcpkg_acquire_msys.cmake:78 (vcpkg_download_distfile)
  scripts/cmake/vcpkg_configure_make.cmake:161 (vcpkg_acquire_msys)
  ports/libmagic/portfile.cmake:9 (vcpkg_configure_make)
  scripts/ports.cmake:90 (include)


Error: Building package libmagic:x86-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: libmagic:x86-windows
  Vcpkg version: 2020.02.04-nohash-external

Additionally, attach any relevant sections from the log files above.
cargo-vcpkg: failed

It tells me to update to latest portfiles. But I cannot run cargo vcpkg update because that is an invalid command. I don't have vcpkg installed globally and I'm using the cargo version to install libmagic for my project and use it only for the project. How do I achieve this?

cargo vcpkg build fails if `vcpkg.json` file is present as well

Edit: Of course I find the reason for it as soon as I open an issue. When a vcpkg.json file is present in the same folder as the Cargo.toml, the cargo vcpkg build process fails. I just renamed the manifest file to _vcpkg.json and now the command runs through without issue. I've updated the issue title to reflect this. Maybe it's worth to discuss this behavior.

Hey everyone 👋
I wanted to try out cargo vcpkg yet I fail to get it working with a small example project. I get the following output:

cargo vcpkg build
     Cloning https://github.com/microsoft/vcpkg
    Checkout branch master
     Pulling branch master
   Compiling vcpkg
  Installing sqlite3
-- stdout --

-- stderr --

cargo-vcpkg: failed

This is my Cargo.toml:

[package]
name = "vcpkg_sqlite3"
version = "0.1.0"
edition = "2018"

[build-dependencies]
vcpkg = { git = "https://github.com/GiGainfosystems/vcpkg-rs", branch = "manifest-mode" }

[dependencies]
rusqlite = "0.25.3"

[package.metadata.vcpkg]
git = "https://github.com/microsoft/vcpkg"
branch = "master"
dependencies = ["sqlite3"]

I am on macOS Big Sur (11.5.2) and I can try to provide information that could also be helpful.

Best regards,
Björn

cargo vcpkg build command errors out

I followed the instructions and installed cargo-vcpkg. As soon as I run cargo vcpkg build it errors out:

Fetching vcpkg
-- stdout --

-- stderr --
fatal: not a git repository (or any of the parent directories): .git

cargo-vcpkg: failed to run git fetch

I am in my root project folder which is a git repo and I followed every step.
What am I doing wrong?

`rev_tag_branch` Error handler

This is an occasional error, I manually git pull vcpkg and the problem disappeared.

This is my configuration at the time:

  • Cargo.toml
[dependencies.tectonic]
version = "0.8.0"

[package.metadata.vcpkg]
git = "https://github.com/microsoft/vcpkg"
branch = "master"

I think unwrap here is untrusted and requires error handling:

let rev_tag_branch = rev_tag_branch.unwrap();

$ RUST_BACKTRACE=full cargo vcpkg build
    Fetching vcpkg
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', C:\Users\ausu\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-vcpkg-0.1.6\src\main.rs:205:41
stack backtrace:
   0:     0x7ff7fc6bf84f - <unknown>
   1:     0x7ff7fc6db51a - <unknown>
   2:     0x7ff7fc6ba568 - <unknown>
   3:     0x7ff7fc6c1e46 - <unknown>
   4:     0x7ff7fc6c192c - <unknown>
   5:     0x7ff7fc6c24a5 - <unknown>
   6:     0x7ff7fc6c205f - <unknown>
   7:     0x7ff7fc6c0177 - <unknown>
   8:     0x7ff7fc6c1fe9 - <unknown>
   9:     0x7ff7fc6e8430 - <unknown>
  10:     0x7ff7fc6e837c - <unknown>
  11:     0x7ff7fc60df05 - <unknown>
  12:     0x7ff7fc6099c5 - <unknown>
  13:     0x7ff7fc61bd86 - <unknown>
  14:     0x7ff7fc5fdaec - <unknown>
  15:     0x7ff7fc6bf197 - <unknown>
  16:     0x7ff7fc610fc7 - <unknown>
  17:     0x7ff7fc6e2620 - <unknown>
  18:     0x7ff94e197034 - BaseThreadInitThunk
  19:     0x7ff94f2e2651 - RtlUserThreadStart

Better error reporting

As of the latest published version, when there's an error, there's no message/anything to help troubleshoot.

    Fetching vcpkg
    Checkout rev 57ae838
  Installing pkg1
-- stdout --

-- stderr --

cargo-vcpkg: failed

SDL build error on Windows Github Actions

Failed windows build:

Run actions-rs/cargo@v1
  with:
    command: vcpkg
    args: build --manifest-path gyromouse/Cargo.toml
    use-cross: false
C:\Rust\.cargo\bin\cargo.exe vcpkg build --manifest-path gyromouse/Cargo.toml
     Cloning https://github.com/microsoft/vcpkg
    Checkout rev a267ab118c09f56f3dae96c9a4b3410820ad2f0b
   Compiling vcpkg
  Installing sdl2
-- stdout --

-- stderr --

cargo-vcpkg: failed
Error: The process 'C:\Rust\.cargo\bin\cargo.exe' failed with exit code 1

Failed windows build (verbose):

Run actions-rs/cargo@v1
C:\Rust\.cargo\bin\cargo.exe vcpkg --verbose build --manifest-path gyromouse/Cargo.toml
vcpkg root is D:\a\joy\joy\target\vcpkg
     Cloning https://github.com/microsoft/vcpkg
Cloning into 'D:\a\joy\joy\target\vcpkg'...
Updating files:  42% (3347/7887)
Updating files: 100% (7887/7887), done.
    Checkout rev a267ab118c09f56f3dae96c9a4b3410820ad2f0b
Note: switching to 'a267ab118c09f56f3dae96c9a4b3410820ad2f0b'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at a267ab118 [ffmpeg] add -fPIC (#17298)
   Compiling vcpkg
Downloading https://github.com/microsoft/vcpkg-tool/releases/download/2021-02-24-d67989bce1043b98092ac45996a8230a059a2d7e/vcpkg.exe -> D:\a\joy\joy\target\vcpkg/vcpkg.exe
Done.

  Installing sdl2
Computing installation plan...
cargo-vcpkg: failed
Error: The process 'C:\Rust\.cargo\bin\cargo.exe' failed with exit code 1

No problem on linux and mac builds with same workflow: https://github.com/Yamakaky/joy/blob/master/.github/workflows/rust.yml. I don't have access to a windows computer so I'm not sure how to debug this, any idea? Does it look like a vcpkg bug?

"cargo-vcpkg: failed" on brotli

I have an issue where my windows 11 machine where it fails on brotli.

My cargo.toml looks like this

[dependencies]
specs = "0.18"
specs-derive = "0.4"

[dependencies.sdl2]
version = "0.35"
default-features = false
features = ["ttf","image","gfx","mixer","static-link","use-vcpkg"]

[package.metadata.vcpkg]
dependencies = ["sdl2", "sdl2-image[libjpeg-turbo,tiff,libwebp]", "sdl2-ttf", "sdl2-gfx", "sdl2-mixer"]
git = "https://github.com/microsoft/vcpkg"
rev = "261c458af6e3eed5d099144aff95d2b5035f656b"

[package.metadata.vcpkg.target]
x86_64-pc-windows-msvc = { triplet = "x64-windows-static-md" }

I added the comments from my windows 10 laptop when I installed it there.

I get following output in powershell

PS D:\Games\Xcom_clone\xcom-clone> cargo vcpkg build
    Fetching vcpkg
    Checkout rev 261c458af6e3eed5d099144aff95d2b5035f656b
  Installing sdl2 sdl2 sdl2-image[libjpeg-turbo,tiff,libwebp] sdl2-ttf sdl2-gfx sdl2-mixer
   Compiling brotli (triplet x64-windows-static-md)
-- stdout --

-- stderr --

cargo-vcpkg: failed

On my windows 10 machine the Compiling brotli (triplet x64-windows-static-md) dosen't even show up. So I don't really understand what I'm doing wrong. Any Ideas?

Is this project abandoned?

The latest commit is 2 years old and it doesn't seem to work with newer versions of vcpkg. I was planning to use it in a project, but I'm not sure it's a good idea.

How to use cargo-vcpkg inside library project

image

Put cargo vckpg build inside build script will cause:

error: failed to verify package tarball

Caused by:
  Source directory was modified by build.rs during cargo publish. Build scripts should not modify anything outside of OUT_DIR.
  Added: C:\repo\harfbuzz-bindings\target\package\harfbuzz-bindings-0.2.0\Cargo.lock

then how do I suppose to use cargo-vcpkg inside library project

Building project throws wayland error

I installed cargo-vcpkg.
This is my cargo.toml:

[package]
name = "gaemboi"
version = "0.1.0"
edition = "2021"

[dependencies]
rfd = "0.12.1"

[dependencies.sdl2]
version = "0.36"
features = ["ttf", "image", "static-link", "use-vcpkg"]

[package.metadata.vcpkg]
dependencies = ["sdl2", "sdl2-image[libjpeg-turbo,tiff,libwebp]", "sdl2-ttf"]
git = "https://github.com/microsoft/vcpkg"
rev = "4c1db68"

[package.metadata.vcpkg.target]
x86_64-pc-windows-msvc = { triplet = "x64-windows-static-md" }

Running 'cargo vcpkg build' works, but as soon as i run 'cargo build --release' it throws the following error:

error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/mario/.cargo/bin:/home/mario/go/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustcnTHvBd/symbols.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.00.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.01.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.02.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.03.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.04.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.05.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.06.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.07.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.08.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.09.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.10.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.11.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.12.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.13.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.14.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.gaemboi.fc1af7893ee82b56-cgu.15.rcgu.o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f.27a28h3vfvw1j1x0.rcgu.o" "-Wl,--as-needed" "-L" "/home/mario/dev/gaemboi/target/release/deps" "-L" "/home/mario/dev/gaemboi/target/vcpkg/installed/x64-linux/lib" "-L" "/home/mario/dev/gaemboi/target/vcpkg/installed/x64-linux/lib" "-L" "/home/mario/dev/gaemboi/target/vcpkg/installed/x64-linux/lib" "-L" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/mario/dev/gaemboi/target/release/deps/librfd-f02bc66c9a770b83.rlib" "/home/mario/dev/gaemboi/target/release/deps/libraw_window_handle-3028e4602fd934de.rlib" "/home/mario/dev/gaemboi/target/release/deps/libgtk_sys-02aa8684d2667265.rlib" "/home/mario/dev/gaemboi/target/release/deps/libatk_sys-41254e2550f73ac1.rlib" "/home/mario/dev/gaemboi/target/release/deps/libgdk_sys-9040f9c10b2e1e4c.rlib" "/home/mario/dev/gaemboi/target/release/deps/libpango_sys-1a320de458f10beb.rlib" "/home/mario/dev/gaemboi/target/release/deps/libgdk_pixbuf_sys-6eb3f385e9781ecb.rlib" "/home/mario/dev/gaemboi/target/release/deps/libgio_sys-801e00efaf37b5d8.rlib" "/home/mario/dev/gaemboi/target/release/deps/libcairo_sys-50aeb5ef138b2def.rlib" "/home/mario/dev/gaemboi/target/release/deps/libgobject_sys-0838f6af5c96c900.rlib" "/home/mario/dev/gaemboi/target/release/deps/libglib_sys-71cf54c3d415f320.rlib" "/home/mario/dev/gaemboi/target/release/deps/libsdl2-de3e0ba41fc327de.rlib" "/home/mario/dev/gaemboi/target/release/deps/libsdl2_sys-d6ccf5c754be6b0c.rlib" "/home/mario/dev/gaemboi/target/release/deps/libbitflags-2b96ad076e85afe9.rlib" "/home/mario/dev/gaemboi/target/release/deps/liblazy_static-513c96079fce9e8f.rlib" "/home/mario/dev/gaemboi/target/release/deps/liblibc-9f5c59feffd9e6b7.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-2d08990d644ac786.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-6f2d4ec7ff80253d.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-c194d68892442324.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-9a71c52c5946f83b.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-ae9aec4ce2dabc4f.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-6a207457d27610cc.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-fb1d2514710eef16.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-e36e7ed4b08caeac.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-9e8dafdf0a1b7ecd.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-b218f37fe3c9ce2e.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-20c30954fd9b5ef4.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-6d3dfaf536d51163.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-cb4ce50789112af8.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-9897980a3b548e05.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-b7bd4d010c784af2.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-6d4515df28ba3369.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-e28568c1a21499f7.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-eedf3675950a13c2.rlib" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-715e69127681e2e0.rlib" "-Wl,-Bdynamic" "-lgdk-3" "-lz" "-lharfbuzz" "-lpangocairo-1.0" "-lpango-1.0" "-latk-1.0" "-lcairo" "-lcairo-gobject" "-lgdk_pixbuf-2.0" "-lgio-2.0" "-lglib-2.0" "-lgobject-2.0" "-lgtk-3" "-lgobject-2.0" "-lglib-2.0" "-latk-1.0" "-lharfbuzz" "-lpangocairo-1.0" "-lpango-1.0" "-lgdk_pixbuf-2.0" "-lcairo-gobject" "-lcairo" "-lglib-2.0" "-lgobject-2.0" "-lgdk-3" "-lz" "-lgobject-2.0" "-lglib-2.0" "-lharfbuzz" "-lpango-1.0" "-lgobject-2.0" "-lglib-2.0" "-lgdk_pixbuf-2.0" "-lgobject-2.0" "-lglib-2.0" "-lgio-2.0" "-lcairo" "-lglib-2.0" "-lgobject-2.0" "-lglib-2.0" "-lgobject-2.0" "-lSDL2_image" "-lSDL2_ttf" "-lSDL2" "-lSDL2main" "-lfreetype" "-lpng" "-lpng16" "-lz" "-lbz2" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/mario/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/mario/dev/gaemboi/target/release/deps/gaemboi-1501b895c5478e5f" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs"
  = note: /usr/bin/ld: /home/mario/dev/gaemboi/target/vcpkg/installed/x64-linux/lib/libSDL2.a(SDL_waylandvideo.c.o): undefined reference to symbol 'wl_proxy_marshal_flags'
          /usr/bin/ld: /usr/lib/libwayland-client.so.0: error adding symbols: DSO missing from command line
          collect2: error: ld returned 1 exit status

  = note: 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#rustc-link-lib)

I am using Arch Linux with X11.
Does anyone know what to do? Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.