Use vendor RocksDb dll on Windows. (#2341)

* Bump rocksdb version and update Makefile.

* Update readme.
This commit is contained in:
web3-developer 2024-06-13 10:10:53 +08:00 committed by GitHub
parent 5f44be1bcd
commit 060c759b01
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 16 additions and 8 deletions

View File

@ -224,7 +224,9 @@ libbacktrace:
ifneq ($(USE_SYSTEM_ROCKSDB), 0)
ifeq ($(OS), Windows_NT)
rocksdb: fetch-dlls
rocksdb:
+ vendor/nim-rocksdb/scripts/build_dlls_windows.bat && \
cp -a vendor/nim-rocksdb/build/librocksdb.dll build
else
rocksdb:
+ vendor/nim-rocksdb/scripts/build_static_deps.sh

View File

@ -127,20 +127,26 @@ installation directory to "C:\mingw-w64" and add it to your system PATH in "My
Computer"/"This PC" -> Properties -> Advanced system settings -> Environment
Variables -> Path -> Edit -> New -> C:\mingw-w64\mingw64\bin (it's "C:\mingw-w64\mingw32\bin" on 32-bit)
Install [Git for Windows](https://gitforwindows.org/) and use a "Git Bash" shell to clone and build Nimbus.
Install [Git for Windows](https://gitforwindows.org/) and use it to clone Nimbus.
Install [cmake](https://cmake.org/).
If you don't want to compile RocksDB and SQLite separately, you can fetch pre-compiled DLLs with:
After adding the Git bin directory to your path open a "Git Bash" shell:
```bash
mingw32-make fetch-dlls # this will place the right DLLs for your architecture in the "build/" directory
bash
```
You can now follow those instructions in the previous section by replacing `make` with `mingw32-make` (regardless of your 32-bit or 64-bit architecture):
After installing Mingw-w64 and adding it to your path you should have the `mingw32-make` tool available. Next create a link from `make` to `mingw32-make`:
```bash
mingw32-make nimbus # build the Nimbus binary
mingw32-make test # run the test suite
ln -s mingw32-make.exe make.exe
```
You can now follow those instructions in the previous section. For example:
```bash
make nimbus # build the Nimbus binary
make test # run the test suite
# etc.
```

2
vendor/nim-rocksdb vendored

@ -1 +1 @@
Subproject commit 138dadac9c8a46462059bc136c953bb2fa41fbbe
Subproject commit a84cf5b8960756acb9027a80ba2b1e7cd059e206