Skip to content
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

Building the project #9

Open
torkelrogstad opened this issue Dec 16, 2019 · 4 comments
Open

Building the project #9

torkelrogstad opened this issue Dec 16, 2019 · 4 comments
Assignees
Labels
Discussion Discussion for project doc documentations good first issue Good for newcomers

Comments

@torkelrogstad
Copy link

How do I build and run the project?

@vincenzopalazzo
Copy link
Owner

vincenzopalazzo commented Dec 16, 2019

Hi @torkelrogstad,

Sorry, I'm developing the documentation.

Before all, I don't know if SpyCBlock works on Windows, this is developing for work on Linux (Ubuntu/debian based); this work also on OSX.

OS Ubuntu/Debian based Binary

If you have the linux (ubuntu/debian) machine you can try to download the binary

Build SpyCBlock

For the moment the only method for install is with scripts contained inside the directory called installer or command line.
I hope to implement the complete installer with CMake in the future.

Build from scripts

Inside the directory installer exist some script for different type system build, like:

  • compile.sh: This script is for the first operation build, it will call the dependences.sh and update-submodule.sh; compile.sh create the new directory inside the root project called build;
  • compile-without-dependence.sh: this script suppose that the dependencies are installed and it makes the build directory with the executable;
  • compile-test.sh: TODO;
  • dependencies.sh: You can use this script to install the dependence, if it doesn't work see here to install dependence manually
  • update-submodule.sh: you can use this script for init the git submodule.

How to use the script

if you want to install all you can run the script ./compile.sh.

Build for console

To building the SpyCBlock without the test to console you must be run this command:

Dev dependence

  • sudo get update && apt-get install build-essential -y
  • sudo apt-get install zlib1g-dev -y
  • sudo apt-get install libncurses-dev -y
  • sudo apt install cmake -y
  • run the script ./update-submodule.sh

External dependence

The dependence Bitcoin-api-cpp is only if you want to create the graph of address, this serialization requires the complete node bitcoin core; but for the moment is necessary for build the project

Other problems?

you can use the IRC channel #spycblock-dev for a talk with me or you can send me a mail [email protected]

Other informations

Sorry if the system build of the project is difficulte, but I'm only on the developening.

Thanks for opening this issue.

@vincenzopalazzo vincenzopalazzo self-assigned this Dec 16, 2019
@vincenzopalazzo vincenzopalazzo added Discussion Discussion for project good first issue Good for newcomers labels Dec 16, 2019
@torkelrogstad
Copy link
Author

Thanks for responding quickly! I'm getting errors after running installer/compile.sh:

[  2%] Building CXX object CMakeFiles/SpyCBlock.dir/src/core/ParserMain.cpp.o
In file included from /home/torkel/dev/arcane/SpyCblock/src/core/SpyCBlock.h:11,
                 from /home/torkel/dev/arcane/SpyCblock/src/core/ParserMain.cpp:7:
/home/torkel/dev/arcane/SpyCblock/src/core/ConfiguratorSingleton.h:12:10: fatal error: ../include/Properties.h: No such file or directory
   12 | #include "../include/Properties.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/SpyCBlock.dir/build.make:63: CMakeFiles/SpyCBlock.dir/src/core/ParserMain.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/SpyCBlock.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

@vincenzopalazzo
Copy link
Owner

vincenzopalazzo commented Dec 17, 2019

Hi @torkelrogstad,

unfortunately, the script does not have the capacity to aborted after error; I think when you run the `./compile.sh` exist an error on the `./update-submodule.sh`, so you can run this command for analyzing the console. ## Without .compile.sh for install the dependence you can run the script

./dependencies.sh

With this script, you install the Gtest, Glog, RapidJSON, bitcoin-cpp-api.

PS: when you install the bitcoin-cpp-api it has need to this dependence, for ubuntu you can install it with this command

sudo apt-get install libjsonrpccpp-dev libjsonrpccpp-tools

after you ran the ./dependencies.sh without errors, you can run the ./update-submodule.sh.

after running ./update-submodule.sh without error, remove the build directory and remake it.

to end you can run cd build && cmake .. && make

Other

- Your compiler error is caused because inside the path `include/cpp-properties/include` don't exist the class - If you have any problem, you can contact me, we will try to run the installer together. ## Questions What is your OS?

@vincenzopalazzo
Copy link
Owner

vincenzopalazzo commented Dec 17, 2019

Hi @torkelrogstad,

Solutions

I have fixed the problem inside the project, sorry.
The problem is caused by my refused inside the my machine, on the new Ubuntu machine I find the problem and I try to fix it.

Is better run this command

rm -r SpyCblock && git clone https://github.com/vincenzopalazzo/SpyCblock.git && cd SpyCblock
cd installer && ./compile.sh

After the build

If you do build SpyCBlock, I think you have a need for some configuration information.

SpyCblock uses the java propriety file for configuring the analisis on the blk file.

Inside the directory build, you can find in addition to the executable two file configuration called

  • conf.properties: it contains all proprieties for the running SpyCblok.
  • conf-rpc.properties: it contains the only proprieties for work with the node bitcoin (is used only is you set the serialization of the address graph)

I think the comment inside the conf.propertie can help you with the configuration SpyCBlock.

Other

I hope this works well on your machine if no please be patient and help me to fix this problem. Thanks for your work

@vincenzopalazzo vincenzopalazzo added the doc documentations label Dec 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discussion Discussion for project doc documentations good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants