Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix GHA compilation on Windows #2

Open
aSemy opened this issue Jan 9, 2023 · 0 comments
Open

Fix GHA compilation on Windows #2

aSemy opened this issue Jan 9, 2023 · 0 comments

Comments

@aSemy
Copy link
Owner

aSemy commented Jan 9, 2023

I previously tried to get the Windows tests working #1. However, I was not able to make Kotlin correctly link the libs on Windows.

The C:\Users\runneradmin\.konan\dependencies\llvm-11.1.0-windows-x64-essentials/bin/clang++ command returned non-zero exit code: 1.
output:
lld: error: unable to find library -lrocksdb
clang++: error: linker command failed with exit code 1 (use -v to see invocation)

I'm open to trying to embed the libs using staticLibraries, but Kotlin/Native still had issues - something to do with the library not being encoded with the right version of gcc?

The C:\Users\runneradmin\.konan\dependencies\llvm-11.1.0-windows-x64-essentials/bin/clang++ command returned non-zero exit code: 1.
output:
lld-link: error: undefined symbol: std::__throw_bad_array_new_length()
>>> referenced by librocksdb.a(c.cc.obj):(rocksdb_approximate_memory_usage_create)
>>> referenced by librocksdb.a(c.cc.obj):(rocksdb::AdvancedColumnFamilyOptions::AdvancedColumnFamilyOptions(rocksdb::AdvancedColumnFamilyOptions const&))
>>> referenced by librocksdb.a(c.cc.obj):(rocksdb::AdvancedColumnFamilyOptions::AdvancedColumnFamilyOptions(rocksdb::AdvancedColumnFamilyOptions const&))
>>> referenced 404 more times

It's difficult to download libraries directly from msys2 because they are zstd encoded, and I had difficulty using the existing Java zstd libraries. https://github.com/luben/zstd-jni is compiled for an older version of Java, and Airlift ZstdDecompressor returned -1 for the decompressed size airlift/aircompressor#106.

Additionally, it would be best to be able to specifically set the RocksDB version, else KotRdb would have a random RocksDB version. The msys2 GHA does not allow for setting specific library versions msys2/setup-msys2#180.

This was referenced Jan 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant