-
Notifications
You must be signed in to change notification settings - Fork 6.3k
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
Unable to load librocksdbjni-win64.dll in windows10 #2531
Comments
@ashkrit The file public class LoadTest {
public static void main(final String args[]) {
System.loadLibrary("librocksdbjni-win64");
}
} Then to compile and run it:
|
I can confirm the issue. Everything newer than 5.3.6 (which is the last working version) starting with 5.4.5 (including the latest version 5.6.1) fails with a message like
If I use the older versions (like 5.3.6), there's no output. I'm running Win 10 Version 10.0.15063. |
@qzo Please see my comment above |
I have read your comment many times. Not sure what else I can do, there's no more output. As I said, the behavior is different between 5.3.6 (and older versions, which work) and 5.4.5 (and later versions, which don't work). |
@qzo Thanks for your patience, I just tested again. I need to revise the library name in the code above. Also |
Your new version of the Just in case: I have latest Visual C++ redistributables (2017 for x86 and x64, 2013 for x86 and x64 and some older versions; trying to install 2015 only results in an error message "another version of this product is already installed"). |
@qzo Does |
Also, could you try |
No, I haven't tried dumpbin yet, since I'll probably need to install Visual Studio - I'll do it later, if needed. But I've attached some output from Dependency Walker. I've tried it earlier, but found out, that the API-MS-WIN* errors are probably misleading: |
@qzo I am wondering if it is the version of the C++ redistributable that you have. RocksJava is built using Visual Studio 2015. On my Windows system I have C++ redistributables 2012, 2013 and 2015. Perhaps you could try uninstalling 2017, installing 2015 and then re-installing 2017? I believe this issue also describes that problem - #2622 I also updated the Wiki with a note here - https://github.com/facebook/rocksdb/wiki/RocksJava-Basics#maven-windows |
Didn't help. After uninstalling 2017 redistributables, I got a different error (with the same stacktrace): Then after installing 2015 redistributables, I again got Then I checked "Programs and Features" in Control Panel and 2015 redistributables are again missing from the list... I'll try dumpbin tomorrow. EDIT: I ran dumpbin: C:>"c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX64\x86\dumpbin.exe" /DEPENDENTS c:\temp\rocksdb\librocksdbjni-win64.dll Dump of file c:\temp\rocksdb\librocksdbjni-win64.dll File Type: DLL Image has the following dependencies:
Summary
|
I have exactly the same problem described by qzo |
@vadsh Did you try installing the C++ 2015 redistributable package from Microsoft? |
@adamretter When I try to install C++ 2015 redistributable from this link provided by you in another thread 6 days ago: from installation log: Exactly as qzo did. The latest version I've managed to compile without errors and use is 5.2.1 |
@adamretter |
I have the same issue on Windows 7. Using the test code that @adamretter provided, it loads for 5.3.6, but does not load with 5.4.5 or after. |
I am not sure how I can help further with this, as I am unable to reproduce the issue here. If anyone can tell me how to start step-by-step with a clean Windows 10 installation and reproduce the issue with Visual Studio 2015, I would be willing to follow the steps exactly, if I can reproduce it, we can likely fix it. |
I can't help you with Windows 10 repro steps, but I can say that I tried it on another, much cleaner, Windows 7 machine and had the same issue, even after building rocksdb locally. Works fine on Linux for me though. I will be getting a Windows 10 machine in the next month or two and I'll give it a try on that. |
@adamretter |
Same here, at least I can confirm 5.3.6 works, 5.9.2 does not on Microsoft Windows [Version 10.0.16299.192] with Microsoft Visual C++ Redistributable 2015(x64) |
So apparently DependencyWalker doesn't work on 'modern' windows machine, which is why it reports that it can't find all the standard DLLs such as 'API-MS-WIN-CORE-APIQUERY-L1-1-0.DLL'. The problem/solution is described here. Using the recommended Dependencies tool it reports that no DLLs are missing for RocksDB: I'm going to keep digging away but it doesn't look like the problem is a missing DLL issue for 5.9.2 on Windows 10.0.16299.192. Edit: As mentioned by @qzo 5.3.6 works fine on the same machine. It stops working in 5.4.5 onwards (the next version available in MavenLink). |
Also experiencing this on a stock Windows 10 install. Any updates or hints? Absolutely blocking. |
I couldn't find a work-around for the latest version.
Unless you absolutely need to use the newer versions the only "solution"
seems to be to use version 5.3.6. I was able to pin the dependency to that
version without seemingly any impact.
…On 16 Feb 2018 05:06, "Peter Davis" ***@***.***> wrote:
Also experiencing this on a stock Windows 10 install. Any updates or
hints? Absolutely blocking.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2531 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACkrCQBZERt0pAPriE85_C9Xf7ikBlVNks5tVQzXgaJpZM4OLnst>
.
|
Can confirm still happening on a Windows 10 machine. Only way I could load the library was using version 5.3.6 as listed above |
I retried this today with RocksDB version 5.17.2 on Windows 10 Pro Version 1809 Build 17736.316 and it works. Either the problem was fixed or my specific setup works for some reason. Of course I needed to install https://www.microsoft.com/en-us/download/details.aspx?id=48145 for RocksDB to work at all under Windows. |
For some previous versions a dependency on AVX2 exetensions crept in. More recently we are building a more CPU portable version for RocksJava. |
5.17.2 works for me as well, thank you. I'm on Ivy Bridge (no AVX2) btw. |
I am using 5.4.5 version or rocksdb on windows 10 https://mvnrepository.com/artifact/org.rocksdb/rocksdbjni/5.4.5
It fails with below error:
Has anybody faced similar issue on windows ?
The text was updated successfully, but these errors were encountered: