Note: previous LMDB (0.9.18) is over 3 years old now.
Here is the changelog from 0.9.18 until now:
```
LMDB 0.9 Change Log
LMDB 0.9.23 Release (2018/12/19)
ITS#8756 Fix loose pages in dirty list
ITS#8831 Fix mdb_load flag init
ITS#8844 Fix mdb_env_close in forked process
Documentation
ITS#8857 mdb_cursor_del doesn't invalidate cursor
ITS#8908 GET_MULTIPLE etc don't change passed in key
LMDB 0.9.22 Release (2018/03/22)
Fix MDB_DUPSORT alignment bug (ITS#8819)
Fix regression with new db from 0.9.19 (ITS#8760)
Fix liblmdb to build on Solaris (ITS#8612)
Fix delete behavior with DUPSORT DB (ITS#8622)
Fix mdb_cursor_get/mdb_cursor_del behavior (ITS#8722)
LMDB 0.9.21 Release (2017/06/01)
Fix xcursor after cursor_del (ITS#8622)
LMDB 0.9.20 (Withdrawn)
Fix mdb_load with escaped plaintext (ITS#8558)
Fix mdb_cursor_last / mdb_put interaction (ITS#8557)
LMDB 0.9.19 Release (2016/12/28)
Fix mdb_env_cwalk cursor init (ITS#8424)
Fix robust mutexes on Solaris 10/11 (ITS#8339)
Tweak Win32 error message buffer
Fix MDB_GET_BOTH on non-dup record (ITS#8393)
Optimize mdb_drop
Fix xcursors after mdb_cursor_del (ITS#8406)
Fix MDB_NEXT_DUP after mdb_cursor_del (ITS#8412)
Fix mdb_cursor_put resetting C_EOF (ITS#8489)
Fix mdb_env_copyfd2 to return EPIPE on SIGPIPE (ITS#8504)
Fix mdb_env_copy with empty DB (ITS#8209)
Fix behaviors with fork (ITS#8505)
Fix mdb_dbi_open with mainDB cursors (ITS#8542)
Fix robust mutexes on kFreeBSD (ITS#8554)
Fix utf8_to_utf16 error checks (ITS#7992)
Fix F_NOCACHE on MacOS, error is non-fatal (ITS#7682)
Build
Make shared lib suffix overridable (ITS#8481)
Documentation
Cleanup doxygen nits
Note reserved vs actual mem/disk usage
LMDB 0.9.18 Release (2016/02/05)
Fix robust mutex detection on glibc 2.10-11 (ITS#8330)
Fix page_search_root assert on FreeDB (ITS#8336)
Fix MDB_APPENDDUP vs. rewrite(single item) (ITS#8334)
Fix mdb_copy of large files on Windows
Fix subcursor move after delete (ITS#8355)
Fix mdb_midl_shirnk off-by-one (ITS#8363)
Check for utf8_to_utf16 failures (ITS#7992)
Catch strdup failure in mdb_dbi_open
Build
Additional makefile var tweaks (ITS#8169)
Documentation
Add Getting Started page
Update WRITEMAP description
```
|
||
|---|---|---|
| contrib | ||
| resources | ||
| src | ||
| tests | ||
| utils | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| CMakeLists.txt | ||
| Makefile | ||
| README.md | ||
Building
Cloning
Be sure to properly clone the repository:
$ git clone --recursive https://github.com/hyle-team/zano.git
or, if already cloned:
$ cd zano/ && git submodule init && git submodule update
Dependencies
| component / version | minimum (not recommended but may work) |
recommended | most recent of what we have ever tested |
|---|---|---|---|
| gcc (Linux) | 5.4.0 | 7.2.0 | 8.3.0 |
| llvm/clang (Linux) | UNKNOWN | 7.0.1 | 8.0.0 |
| MSVC (Windows) | 2015 (14.0 update 1) | 2015 (14.0 update 3) | 2017 (15.5.7) |
| XCode (macOS) | 7.3.1 | 9.2 | 9.2 |
| CMake | 2.8.6 | 3.4.1 | 3.11.0 |
| Boost | 1.56 | 1.60 | 1.66 |
| Qt (only for GUI) | 5.8.0 | 5.9.1 | 5.10.1 |
Linux
Recommended OS version: Ubuntu 17.04 LTS.
-
For server version:
$ sudo apt-get install -y build-essential g++ python-dev autotools-dev libicu-dev libbz2-dev cmake git libboost-all-dev screen
For GUI version:
$ sudo apt-get install -y build-essential g++ python-dev autotools-dev libicu-dev libbz2-dev cmake git libboost-all-dev screen mesa-common-dev libglu1-mesa-dev qt5-default qtwebengine5-dev -
$ cd zano/ && make -j$(nproc) gui -
Look for the binaries, including the
ZanoGUI, in the build directory
Windows
Recommended OS version: Windows 7 x64.
- Install required prerequisites.
- Edit paths in
utils/configure_local_paths.cmd. - Run
utils/configure_win64_msvs2015_gui.cmdorutils/configure_win64_msvs2017_gui.cmdaccording to your MSVC version. - Go to the build folder and open generated Zano.sln in MSVC.
- Build.
In order to correctly deploy Qt GUI application you also need to do the following:
6. Copy Zano.exe to a folder (e.g. depoy).
7. Run PATH_TO_QT\bin\windeployqt.exe deploy/Zano.exe.
8. Copy folder \src\gui\qt-daemon\html to deploy\html.
macOS
Recommended OS version: macOS Sierra 10.12.6 x64.
- Install required prerequisites.
- Set environment variables as stated in
utils/macosx_build_config.command. mkdir build
cd build
cmake ..
make
To build GUI application:
- Create self-signing certificate via Keychain Access: a. Run Keychain Access. b. Choose Keychain Access > Certificate Assistant > Create a Certificate. c. Use “Zano” (without quotes) as certificate name. d. Choose “Code Signing” in “Certificate Type” field. e. Press “Create”, then “Done”. f. Make sure the certificate was added to keychain "System". If not—move it to "System". g. Double click the certificate you've just added, enter the trust section and under "When using this certificate" select "Always trust". h. Unfold the certificate in Keychain Access window and double click underlying private key "Zano". Select "Access Control" tab, then select "Allow all applications to access this item". Click "Save Changes".
- Revise building script, comment out unwanted steps and run it:
utils/build_script_mac_osx.sh - The application should be here:
/buid_mac_osx_64/release/src
Good luck!