vorot93/libmdbx-rs

Re: Unable to compile on windows

Closed this issue ยท 11 comments

Originally posted here meilisearch/heed#107

Currently, https://github.com/Kerollmops/heed with mdbx backend is not compiling on windows. Also, @erthink pointed out that the issue might be in the bindings.

I am still new to rust but I am willing to help โœŒ๐Ÿป

@numToStr, You might want to ask @vorot93 about the availability/readiness of another libmdbx-to-Rust binding that (AFAIK) is being developed for Erigon project.

@erthink I think, I found it https://github.com/vorot93/mdbx-rs

Edit: but sadly it is not yet published.

I am open to pull requests, as I am not really using mdbx-rs for my own project, I could also give the ownership to anyone who want it.

@vorot93, I suggest you think about taking this project to yourself.
This seems reasonable if you expect me to solve erthink/libmdbx#200 and erthink/libmdbx#203.

@Kerollmops could you please transfer this repo to rust-ethereum then and give me the rights to publish mdbx-sys to crates.io?

I can't transfer it to the rust-ethereum organization directly, I don't have the right to create a public repository. I can transfer it to you if you have the right to create public repositories in the rust-ethereum organization, this way you can transfer it by yourself.

On the other hand, I sent you an invite to publish new releases of mdbx-sys on crates.io.

@Kerollmops yep, that would work too

Great work on mdbx-rs!

We consider replacing RocksDB with MDBX in Grandine. One of the criteria is the support of the all three Linux, macOS and Windows. Could you let me know when Windows support is planned? Or this is a very low priority?

@sauliusgrigaitis Windows is a low-priority target to me. Given that, the error looks trivial to fix, so let's see what can be done.

iquiw commented

I could build an app that depends on mdbx-sys through heed on Windows by using the build script.

fn main() {
    println!("cargo:rustc-link-lib=dylib=ntdll");
    println!("cargo:rustc-link-lib=dylib=user32");
}

Should work on Windows now