1
0
Fork 0
forked from lthn/blockchain
Secure. Scalable. Easy to Use
Find a file
0x914409F1 cca48ed718 contrib: update LMDB to 0.9.23, use submodule (#27)
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
```
2019-05-20 11:32:58 +02:00
contrib contrib: update LMDB to 0.9.23, use submodule (#27) 2019-05-20 11:32:58 +02:00
resources Moved sources to public repo 2018-12-27 18:50:45 +03:00
src contrib: update LMDB to 0.9.23, use submodule (#27) 2019-05-20 11:32:58 +02:00
tests coretests: wallet_unconfimed_tx_balance added (exposes a minor bug) 2019-05-06 19:36:16 +02:00
utils added gpg key 2019-05-17 15:25:47 +02:00
.gitattributes Moved sources to public repo 2018-12-27 18:50:45 +03:00
.gitignore Moved sources to public repo 2018-12-27 18:50:45 +03:00
.gitmodules contrib: update LMDB to 0.9.23, use submodule (#27) 2019-05-20 11:32:58 +02:00
CMakeLists.txt CMakeLists: split definitions and compile options for MSVC 2019-05-02 17:11:51 +03:00
Makefile Makefile: remove redundant GUI target 2019-03-14 23:26:50 +00:00
README.md contrib: update miniupnpc to 2.1, use submodule 2019-05-01 23:03:09 +00:00

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.

  1. 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

  2. $ cd zano/ && make -j$(nproc) gui

  3. Look for the binaries, including the Zano GUI, in the build directory

Windows

Recommended OS version: Windows 7 x64.

  1. Install required prerequisites.
  2. Edit paths in utils/configure_local_paths.cmd.
  3. Run utils/configure_win64_msvs2015_gui.cmd or utils/configure_win64_msvs2017_gui.cmd according to your MSVC version.
  4. Go to the build folder and open generated Zano.sln in MSVC.
  5. 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.

  1. Install required prerequisites.
  2. Set environment variables as stated in utils/macosx_build_config.command.
  3. mkdir build
    cd build
    cmake ..
    make

To build GUI application:

  1. 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".
  2. Revise building script, comment out unwanted steps and run it: utils/build_script_mac_osx.sh
  3. The application should be here: /buid_mac_osx_64/release/src

Good luck!