Unable to build the compiler from source on Fedora

Hello! I want to get involved so I cloned the repository, and attempted to compile. I know most use Ubuntu but I have been on Fedora for going on 30 releases now, and it just feels natural.
I have tried to hack this but I reach the same dead-end every time. Is there a paste-bin somewhere I can post the cmake output? I can also append the compiler message I have seen numerous times now.

You can e.g. create a gist on github and post the link. But posting just the error you’re getting as the first step might be good enough to figure this out.

If you need help building the compiler, please drop in at the #solidity-dev channel on gitter.

Herein lies the rub:

Could NOT find Boost (missing: Boost_INCLUDE_DIR filesystem

I have never seen so many global variables. The boost .so files are in /usr/lib64. I have even created symbolic links in the solidity/ directory, since I saw somewhere cmake looks there first.

Last time I needed to point cmake at a custom boost install dir I solved it by adding these to the cmake command:

-DBOOST_ROOT:PATHNAME=your/boost/install/dir/ -DBoost_NO_BOOST_CMAKE=TRUE -DBoost_NO_SYSTEM_PATHS=TRUE

This was a local build though, with libs under lib/ in that directory and it was on macOS. Might or might not work in your system depending on how the installed files are laid out.

If it does not help, take a look at the docs for FindBoost.cmake to see what these options mean and what other options you could try. The above would work in a situation where cmake just can’t find the boost dir. If the problem is rather that it’s finding the headers but not libs or vice-versa, you could try using Boost_INCLUDE_DIRS and/or Boost_LIBRARY_DIRS instead.

Thank you, that gives me some ideas to follow-up. You are right about finding out more about the boost install.

For the record, I found this resource: Boost Getting Started on Unix Variants - 1.77.0 that turned out to be very helpful. In particular I realized it is best to download the tar-ball and compilt it, the rpm binaries are not adequate. Just FYI, when you extract the

tar.bz2

, there is a shell script in there you still need to run in order to build. Having done this, solidity compiled just fine. I decided to go ahead and follow the same reasoning for the z3 binary, and I proceeded to download the

tar.gz

and do the same.

1 Like