Is there a resource that could tell me what each dependency from the Building on Ubuntu page (
https://github.com/ethereum/cpp-ethereum/wiki/Building-on-Ubuntu) or
https://github.com/ethereum/webthree-umbrella/wiki/building corresponds to, in terms of the cmake flags, and which repo they come from (main vs llvm vs ethereum-*)?
Basically a break down of what is needed for what and what depends on what (repo:package) would be great, as it's a hard to tell as it is...
I got no response on the gitter chanel so I'm hoping I'll be more lucky here...
Thanks!
PS: I'm aware of the dot file that describes this:
http://imgur.com/BwKjPZ6
Comments
here's an overview:
ethereum/webthree-helpers:
Common build helpers for Ethereum Project's Web3 set of technologies
github.com/ethereum/libweb3core:
Common utility code for Ethereum Project's Web3 set of technologies (including p2p overlay networking)
github.com/ethereum/libethereum:
Ethereum blockchain and tools (ethkey, ethminer)
github.com/ethereum/solidity:
Solidity language components (the Ethereum contract-orientated programming language)
github.com/ethereum/webthree,
github.com/ethereum/web3.js:
Ethereum Project's Web3 software set with a JSONRPC and JS interface
(Whisper hybrid DHT/messaging system + Ethereum blockchain)
github.com/ethereum/mix:
Mix (the Web3 IDE)
github.com/ethereum/alethzero:
Ethereum/Web3 GUI clients & miners (Aleth* set of software)
Gav.
I really like the dot file (http://imgur.com/BwKjPZ6) actually, I would gladly augment it with that information later on!
libgmp-dev: libsecp256k1 -> libweb3core
libboost-all-dev: libweb3core (though not all modules are needed)
libcryptopp-dev: libweb3core, will be removed soon
libleveldb-dev: libweb3core
libminiupnpc-dev: libweb3core
libjsoncpp-dev: libweb3core
libcurl4-openssl-dev: webthree (i think - should check)
libjson-rpc-cpp-dev: webthree
libmicrohttpd-dev: webthree
libreadline-dev: webthree
libv8-dev: libjsconsole -> webthree
libedit-dev: is this even needed?
libargtable2-dev: is this even needed?
EVMJIT stuff (not required if building -DEVMJIT=0)
llvm-3.7-dev: libevmjit
Open CL stuff (not required if building -DETHASHCL=0)
mesa-common-dev
ocl-icd-libopencl1
opencl-headers
ocl-icd-dev
Performance stuff (not required if building -DPROFILING=0)
libgoogle-perftools-dev
GUI stuff (not required if building -DGUI=0)
qtbase5-dev
qt5-default
qtdeclarative5-dev
libqt5webkit5-dev
libqt5webengine5-dev
libncurses5-dev: not used.
It appears to have been added as a new dependency to evmjit in the past week or so. My build was failing on that project trying to link the edit library.
Finally, after Googling I found that libedit-dev is the source of that library.
EDIT: actually answering my own question, I'm getting errors from cmake that's telling me which ones are missing:
thread
date_time
system
regex
chrono
filesystem
unit_test_framework
program_options
random