# Building pijul for target x86_64-pc-windows-msvc with vcpkg

vcpkg dropped support for MSVC 2017 and requires MSVC 2019. Packages required to install are `llvm[clang]`, `nettle`, `openssl`, `libsodium`.

I set environments:

``````set VCPKGRS_DYNAMIC=1
set SODIUM_LIB_DIR=%VCPKG_ROOT%\installed\x64-windows\lib\
set LLVM_CONFIG_PATH=%VCPKG_ROOT%\installed\x64-windows\bin\llvm-config.exe
``````

Next I’ve downloaded pijul from https://crates.io/api/v1/crates/pijul/0.12.2/download and patched to use https://gitlab.com/sequoia-pgp/nettle-sys/-/merge_requests/5

All dependencies include `libpijul` are building but `pijul` itself produce error:

``````error[E0599]: no method named `add_identity` found for unit type `()` in the cur
rent scope
--> src\commands\ssh_auth_attempts.rs:220:48
|
220 |                         return Either::A(agent.add_identity(&key, cons).fr
om_err().and_then(
|                                                ^^^^^^^^^^^^ method not fou
nd in `()`
``````

Also I cann’t correctly build `thrussh-libsodium` `0.1.4` so I need pijul to use `0.2.0` version.

What about to make a minor update for old 0.21 `thrussh` to use 0.2.0 `thrussh-libsodium` which supports windows?

I’ve managed to build `pijul-0.12.2` for `x86_64-pc-windows-msvc`.

I had to patch `nettle-sys`, `cryptovec-0.5.3`, `thrussh-libsodium-0.2.0`, `thrussh-keys-0.11.9`, `thrussh-0.21.5`, and `pijul-0.12.2`, but it works and I can download repositories from the nest via SSH.