IoTone / TheShellProject

The Shell Project aims to build a viable general purpose blockchain written in Dlang, with attributes of security, ease of deployment, clear specification, ease of use for DAPPs, and multiple implementation interop
1 stars 1 forks source link

Running dub test for rocksdb integration fails #37

Closed pedroalvesbatista closed 6 years ago

pedroalvesbatista commented 6 years ago

The output of the error is the following :+1: No package file found in ./../../blockchain-sandbox/iotone.co/TheShellProject/shell-d/prototype/external/rocksdb/, expected one ofdub.json/dub.sdl/package.json

truedat101 commented 6 years ago

I'll verify, I've never tested on linux.

truedat101 commented 6 years ago

A bunch of path issues found.

truedat101 commented 6 years ago

@pedroalvesbatista please update and retry. The rocksdb build will take awhile. When the build is done, you need to find the librocksdb.so file and copy it into the prototype directory. Please confirm that this works for you.

truedat101 commented 6 years ago

@pedroalvesbatista please take care of this, making sure you can build, because we cannot continue to have the build broken. If you can't build then the code is only theoretical use.

pedroalvesbatista commented 6 years ago

I'm reviewing all the build issues, running the script worked fine, I also included the librocksdb.so into the protoype directory.

truedat101 commented 6 years ago

ok, so does:

dub test work without failure? If so, then rocksdb integration and libsodium is ok.

pedroalvesbatista commented 6 years ago

Yes, the integration is ok now ! I'll finish this issue

truedat101 commented 6 years ago

Hmm, not sure how this was building for you, I found several issues.

truedat101 commented 6 years ago

Let's leave stuff open until proven fixed / working / feature complete.

pedroalvesbatista commented 6 years ago

This still causes error, so we can deal with this as long we stay in the road ? I think the most crucial for the moment is the deimos.sodium integration to work fine because of the crypto stuff, the rocksdb we can stay a little off with it. Perhaps for proto3 we use it more directly.

truedat101 commented 6 years ago

@pedroalvesbatista can you please indicate what the error is?

First make sure you can build. dub build

should build. If you cannot build that is a different problem related to #38 .

Then run : dub test --compiler=gdc (or whatever compiler you use)

I expect that this should succeed, as I've tested on two different platforms. However, if you get errors, please post the errors. I cannot help if I cannot see the failures.

truedat101 commented 6 years ago

Failure related to #41, seems like gdc offers different problems, or actually, some of these packages aren't fully supported on non-windows platforms.

truedat101 commented 6 years ago

I think issues are resolved.

pedroalvesbatista commented 6 years ago

dub test Generating test runner configuration 'shell-d-test-library' for 'library' (library). Excluding package.d file from test due to https://issues.dlang.org/show_bug.cgi?id=11847 Performing "unittest" build using dmd for x86_64. rocksdb ~master: target for configuration "library" is up to date. shell-d ~master: building configuration "shell-d-test-library"... Running pre-build commands... Building the project Linking... To force a rebuild of up-to-date targets, run again with --force. Running ./shell-d-test-library ./shell-d-test-library: error while loading shared libraries: librocksdb.so.5: cannot open shared object file: No such file or director y Program exited with code 127

truedat101 commented 6 years ago

Ok, let me fix this.

truedat101 commented 6 years ago

Pushed a fix.

truedat101 commented 6 years ago

Problem on linux seems to be that it doesn't load the libraries properly. Not sure if this is a problem with how we build the rocksdb library, but I think perhaps we need to look for something else. Is there a pure D based database? I'll mark that for proto3.

truedat101 commented 6 years ago

Found the solution: