harvard-acc / ALADDIN

A pre-RTL, power-performance model for fixed-function accelerators
Other
161 stars 54 forks source link

Compilation of Aladdin is not working as per instructions #22

Closed RazvanN7 closed 3 years ago

RazvanN7 commented 4 years ago

I've just installed Aladdin but I had some problems along the way. I think that if you add the following specifications to the installation guide it would make the life the users a lot easier:

  1. Offer links to zlib and clang+llvm [1][2].
  2. Specify that you need the zlib headers (e.g. install zlib via make install, otherwise the headers will not get registers and compilation of alladin will fail)
  3. Modify the makefile to compile without -Werror and -Wall as that will result in a failed compilation due to unused variables and deprecated features from boost.
  4. When creating the "aladdin" executable the boost library path is wrong: -L$(BOOST_ROOT)/lib should be replaced with -L$(BOOST_ROOT)/stage/lib, otherwise you end up with on error specifing that lboost_graph and lboost_regex are not found.

[1] http://www.zlib.net/zlib-1.2.11.tar.gz [2] http://releases.llvm.org/3.4/clang+llvm-3.4-x86_64-linux-gnu-ubuntu-13.10.tar.xz

xyzsam commented 4 years ago

Thanks for the feedback!

  1. We will add these links.
  2. make install is an assumed step of, well, installation of anything :)
  3. Are you using an old version of Boost? Under the Docker image, Aladdin compiles with -Werror and -Wall. These are highly recommended flags to use in virtually all circumstances - if you need to disable one particular warning, you can do that with -Wno-warning-name.
  4. You need to install Boost to a particular location, just like you do with the zlib headers. The -L$(BOOST_ROOT)/stage/lib directory pattern happens if you didn't actually finish the installation, so the libraries were simply "staged" there.