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

Having trouble at branch rm-ubuf-master #959

Open
francisxu21 opened this issue Sep 3, 2020 · 3 comments
Open

Having trouble at branch rm-ubuf-master #959

francisxu21 opened this issue Sep 3, 2020 · 3 comments

Comments

@francisxu21
Copy link

I'm having trouble while compiling GarnetFlow repo at https://github.com/StanfordAHA/GarnetFlow. The error is like:

In file included from /GarnetFlow/scripts/coreir/src/../include/coreir/ir/common.h:4:0, from /GarnetFlow/scripts/coreir/src/../include/coreir.h:6, from /GarnetFlow/scripts/coreir/src/../include/coreir/passes/analysis/verilog.h:4, from /GarnetFlow/scripts/coreir/src/passes/analysis/verilog.cpp:2: /GarnetFlow/scripts/coreir/src/passes/analysis/verilog.cpp: In function 'std::vector<std::variant<std::unique_ptr<verilogAST::StructuralStatement, std::default_delete<verilogAST::StructuralStatement> >, std::unique_ptr<verilogAST::Declaration, std::default_delete<verilogAST::Declaration> > > > CoreIR::compile_module_body(CoreIR::RecordType*, CoreIR::ModuleDef*, bool)': /GarnetFlow/scripts/coreir/src/passes/analysis/verilog.cpp:779:44: error: base operand of '->' has non-pointer type 'std::variant<std::unique_ptr<verilogAST::Identifier, std::default_delete<verilogAST::Identifier> >, std::unique_ptr<verilogAST::Vector, std::default_delete<verilogAST::Vector> > >' ASSERT(instance_parameters[0].first->value == "value", ^ /GarnetFlow/scripts/coreir/src/../include/coreir/ir/fwd_declare.h:19:11: note: in definition of macro 'ASSERT' if (!(C)) { \ ^ /GarnetFlow/scripts/coreir/src/passes/analysis/verilog.cpp:785:44: error: base operand of '->' has non-pointer type 'std::variant<std::unique_ptr<verilogAST::Identifier, std::default_delete<verilogAST::Identifier> >, std::unique_ptr<verilogAST::Vector, std::default_delete<verilogAST::Vector> > >' ASSERT(instance_parameters[0].first->value == "hi", ^ /GarnetFlow/scripts/coreir/src/../include/coreir/ir/fwd_declare.h:19:11: note: in definition of macro 'ASSERT' if (!(C)) { \ ^ /GarnetFlow/scripts/coreir/src/passes/analysis/verilog.cpp:787:44: error: base operand of '->' has non-pointer type 'std::variant<std::unique_ptr<verilogAST::Identifier, std::default_delete<verilogAST::Identifier> >, std::unique_ptr<verilogAST::Vector, std::default_delete<verilogAST::Vector> > >' ASSERT(instance_parameters[1].first->value == "lo", ^ /GarnetFlow/scripts/coreir/src/../include/coreir/ir/fwd_declare.h:19:11: note: in definition of macro 'ASSERT' if (!(C)) { \ ^ make[2]: *** [src/CMakeFiles/coreir.dir/build.make:739: src/CMakeFiles/coreir.dir/passes/analysis/verilog.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/Makefile2:432: src/CMakeFiles/coreir.dir/all] Error 2 make: *** [Makefile:141: all] Error 2

My tools setting:

-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
Found PythonInterp: /usr/bin/python (found version "3.8.2")

I'm at branch rm-ubuf-master by the way.

@leonardt
Copy link
Collaborator

leonardt commented Sep 3, 2020

I suspect this is because the branch is checking out the latest master branch of verilogAST-cpp and the code base is not up to date (since the CMake logic to checkout a specific commit instead of master was added later). There are two options: (1) update the branch to the latest master by merging corier's master branch into rm-ubuf-master branch (recommended to prevent the branch from growing further out of date), (2) look at the latest commit on rm-ubuf-master, find a commit in the same date range in verilogAST-cpp, change "master" to that commit hash in CMakeLists.txt.in here: https://github.com/rdaly525/coreir/blob/rm-ubuf-master/CMakeLists.txt.in#L10 The hope would be that this branch should work with some older version of verilogAST-cpp.

Whoever is maintaining this branch should consider merging this into master to avoid future integration issues since it seems this branch has lived off the mainline for awhile now.

@rdaly525
Copy link
Owner

rdaly525 commented Sep 3, 2020

@francisxu21 my impression was that GarnetFlow was mostly deprecated in favor of https://github.com/StanfordAHA/aha which should be using the latest CoreIR. is that not the case?

@francisxu21
Copy link
Author

francisxu21 commented Sep 4, 2020

@francisxu21 my impression was that GarnetFlow was mostly deprecated in favor of https://github.com/StanfordAHA/aha which should be using the latest CoreIR. is that not the case?

It seems like its front end tool, halide-to-hardware still uses this branch. The bash file is like:

#!/bin/bash -e
SOURCE="${BASH_SOURCE[0]}"
REQUIREMENTS=`(dirname ${SOURCE})`/requirements.txt
if [ ! -d "coreir" ]; then
        # test of push ability
        # build coreir here
        #git clone --depth 1 --branch rm-ubuf https://github.com/rdaly525/coreir coreir
        git clone --depth 1 --branch rm-ubuf-master https://github.com/rdaly525/coreir coreir
        # there is a bug in ABI with regex
        # see https://github.com/rdaly525/coreir/issues/737
        #cd coreir && \
        #git apply /GarnetFlow/patches/coreir_path_cxxopt && \
        #cd ..
        cd coreir/build && cmake .. && make -j2 && cd ../../
else
        echo "Coreir already built"
fi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants