OpenROAD-flow-scripts
OpenROAD-flow-scripts copied to clipboard
Error occurred while building
Subject
[Build] for compilation-related issues.
Describe the bug
I am using Ubuntu 20.04 and build is failing. It seems like something wrong with the spdlog/fmt.h.
Expected Behavior
Build successfully
Environment
[WARNING] Your current OpenROAD version is outdated.
It is recommened to pull the latest changes.
If problem persists, file a github issue with the re-producible test case.
kernel: Linux 5.15.0-73-generic
os: Ubuntu 20.04.6 LTS (Focal Fossa)
cmake version 3.24.2
-- The CXX compiler identification is GNU 9.4.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- OpenROAD version: v2.0-8836-g0ea657420
-- System name: Linux
-- Compiler: GNU 9.4.0
-- Build type: RELEASE
-- Install prefix: /usr/local
-- C++ Standard: 17
-- C++ Standard Required: ON
-- C++ Extensions: OFF
-- Found GTest: /usr/lib/x86_64-linux-gnu/libgtest.a
-- The C compiler identification is GNU 9.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test C_COMPILER_SUPPORTS__-Wall
-- Performing Test C_COMPILER_SUPPORTS__-Wall - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wall
-- Performing Test CXX_COMPILER_SUPPORTS__-Wall - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-array-bounds
-- Performing Test C_COMPILER_SUPPORTS__-Wno-array-bounds - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-array-bounds
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-array-bounds - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-nonnull
-- Performing Test C_COMPILER_SUPPORTS__-Wno-nonnull - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-nonnull
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-nonnull - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-maybe-uninitialized
-- Performing Test C_COMPILER_SUPPORTS__-Wno-maybe-uninitialized - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-maybe-uninitialized
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-maybe-uninitialized - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format-overflow
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format-overflow - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format-overflow
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format-overflow - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-variable
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-variable - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-variable
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-variable - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-function
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-function - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-function
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-function - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-write-strings
-- Performing Test C_COMPILER_SUPPORTS__-Wno-write-strings - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-write-strings
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-write-strings - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-sign-compare
-- Performing Test C_COMPILER_SUPPORTS__-Wno-sign-compare - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-sign-compare
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-sign-compare - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-deprecated
-- Performing Test C_COMPILER_SUPPORTS__-Wno-deprecated - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-deprecated
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-deprecated - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-c++11-narrowing
-- Performing Test C_COMPILER_SUPPORTS__-Wno-c++11-narrowing - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-c++11-narrowing
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-c++11-narrowing - Failed
-- Performing Test C_COMPILER_SUPPORTS__-Wno-register
-- Performing Test C_COMPILER_SUPPORTS__-Wno-register - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-register
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-register - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format - Success
-- Performing Test C_COMPILER_SUPPORTCMake Error at src/stt/CMakeLists.txt:38 (find_package):
Could not find a package configuration file provided by "LEMON" with any of
the following names:
LEMONConfig.cmake
lemon-config.cmake
lemonConfig.cmake
lemon-config.cmake
Add the installation prefix of "LEMON" to CMAKE_PREFIX_PATH or set
"LEMON_DIR" to a directory containing one of the above files. If "LEMON"
provides a separate development package or SDK, be sure it has been
installed.
S__-Wno-reserved-user-defined-literal
-- Performing Test C_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal - Failed
-- Performing Test C_COMPILER_SUPPORTS__-fpermissive
-- Performing Test C_COMPILER_SUPPORTS__-fpermissive - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-fpermissive
-- Performing Test CXX_COMPILER_SUPPORTS__-fpermissive - Success
-- Performing Test C_COMPILER_SUPPORTS__-x
-- Performing Test C_COMPILER_SUPPORTS__-x - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-x
-- Performing Test CXX_COMPILER_SUPPORTS__-x - Failed
-- Performing Test C_COMPILER_SUPPORTS__c++
-- Performing Test C_COMPILER_SUPPORTS__c++ - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__c++
-- Performing Test CXX_COMPILER_SUPPORTS__c++ - Failed
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-but-set-variable
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-but-set-variable - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-but-set-variable
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-but-set-variable - Success
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl.h
-- TCL readline library: /usr/lib/x86_64-linux-gnu/libtclreadline.so
-- TCL readline header: /usr/include/x86_64-linux-gnu
-- Found SWIG: /usr/bin/swig4.0 (found suitable version "4.0.1", minimum required is "3.0")
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0")
-- boost: 1.71.0
-- Found Python3: /usr/include/python3.8 (found version "3.8.10") found components: Development Development.Module Development.Embed
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Found Threads: TRUE
-- spdlog: 1.5.0
-- Found BISON: /usr/bin/bison (found version "3.5.1")
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- STA version: 2.4.0
-- STA git sha: 2609cc89eeb02a06ceca1890624d4fa1932d930b
-- System name: Linux
-- Compiler: GNU 9.4.0
-- Build type: RELEASE
-- Build CXX_FLAGS: -O3 -DNDEBUG
-- Install prefix: /usr/local
-- Found FLEX: /usr/bin/flex (found version "2.6.4")
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl.h
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- SSTA: 0
-- STA executable: /home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/sta/app/sta
-- Configuring incomplete, errors occurred!
To Reproduce
When I using: git clone https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts cd OpenROAD-flow-scripts ./build_openroad.sh
Relevant log output
[ 1%] Built target Munkres
[ 1%] Built target ifp_py
[ 1%] Built target utl_lib
[ 1%] Built target utl_py
Consolidate compiler generated dependencies of target lef
Consolidate compiler generated dependencies of target utl
Consolidate compiler generated dependencies of target zutil
[ 3%] Built target lef
[ 3%] Built target utl
Consolidate compiler generated dependencies of target ParquetFP
[ 4%] Built target zutil
Consolidate compiler generated dependencies of target def
Consolidate compiler generated dependencies of target lefout
[ 4%] Automatic MOC and UIC for target gui
[ 6%] Built target lefout
[ 6%] Built target def
[ 6%] Built target gui_autogen
Consolidate compiler generated dependencies of target CFileUtilsTest
[ 7%] Built target ParquetFP
Consolidate compiler generated dependencies of target defout
[ 7%] Linking CXX executable CFileUtilsTest
[ 7%] Built target defout
Consolidate compiler generated dependencies of target OpenSTA
/usr/bin/ld: libutl_lib.a(CFileUtils.cpp.o): in function `void spdlog::logger::log_<fmt::v7::basic_string_view<char>, char const*, char const*, int, int>(spdlog::source_loc, spdlog::level::level_enum, fmt::v7::basic_string_view<char> const&, char const* const&, char const* const&, int const&, int const&)':
CFileUtils.cpp:(.text._ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iiEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_[_ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iiEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_]+0x126): undefined reference to `fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<char> >, char>::iterator fmt::v7::detail::vformat_to<char>(fmt::v7::detail::buffer<char>&, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<fmt::v7::type_identity<char>::type> >, fmt::v7::type_identity<char>::type> >)'
/usr/bin/ld: CFileUtils.cpp:(.text._ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iiEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_[_ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iiEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_]+0x15b): undefined reference to `spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v7::basic_string_view<char>, spdlog::level::level_enum, fmt::v7::basic_string_view<char>)'
/usr/bin/ld: libutl_lib.a(CFileUtils.cpp.o): in function `void spdlog::logger::log_<fmt::v7::basic_string_view<char>, char const*, char const*, int>(spdlog::source_loc, spdlog::level::level_enum, fmt::v7::basic_string_view<char> const&, char const* const&, char const* const&, int const&)':
CFileUtils.cpp:(.text._ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_[_ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_]+0x108): undefined reference to `fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<char> >, char>::iterator fmt::v7::detail::vformat_to<char>(fmt::v7::detail::buffer<char>&, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<fmt::v7::type_identity<char>::type> >, fmt::v7::type_identity<char>::type> >)'
/usr/bin/ld: CFileUtils.cpp:(.text._ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_[_ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_]+0x13d): undefined reference to `spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v7::basic_string_view<char>, spdlog::level::level_enum, fmt::v7::basic_string_view<char>)'
/usr/bin/ld: libutl_lib.a(CFileUtils.cpp.o): in function `void spdlog::logger::log_<fmt::v7::basic_string_view<char>, char const*, char const*, int, unsigned long, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(spdlog::source_loc, spdlog::level::level_enum, fmt::v7::basic_string_view<char> const&, char const* const&, char const* const&, int const&, unsigned long const&, unsigned long const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
CFileUtils.cpp:(.text._ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_immNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_[_ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_immNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_]+0x16a): undefined reference to `fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<char> >, char>::iterator fmt::v7::detail::vformat_to<char>(fmt::v7::detail::buffer<char>&, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<fmt::v7::type_identity<char>::type> >, fmt::v7::type_identity<char>::type> >)'
/usr/bin/ld: CFileUtils.cpp:(.text._ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_immNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_[_ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_immNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_]+0x19f): undefined reference to `spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v7::basic_string_view<char>, spdlog::level::level_enum, fmt::v7::basic_string_view<char>)'
/usr/bin/ld: libutl_lib.a(CFileUtils.cpp.o): in function `void spdlog::logger::log_<fmt::v7::basic_string_view<char>, char const*, char const*, int, unsigned long>(spdlog::source_loc, spdlog::level::level_enum, fmt::v7::basic_string_view<char> const&, char const* const&, char const* const&, int const&, unsigned long const&)':
CFileUtils.cpp:(.text._ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_imEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_[_ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_imEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_]+0x127): undefined reference to `fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<char> >, char>::iterator fmt::v7::detail::vformat_to<char>(fmt::v7::detail::buffer<char>&, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<fmt::v7::type_identity<char>::type> >, fmt::v7::type_identity<char>::type> >)'
/usr/bin/ld: CFileUtils.cpp:(.text._ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_imEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_[_ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_imEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_]+0x15c): undefined reference to `spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v7::basic_string_view<char>, spdlog::level::level_enum, fmt::v7::basic_string_view<char>)'
/usr/bin/ld: libutl_lib.a(ScopedTemporaryFile.cpp.o): in function `utl::ScopedTemporaryFile::~ScopedTemporaryFile() [clone .part.0]':
ScopedTemporaryFile.cpp:(.text+0x3e0): undefined reference to `fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<char> >, char>::iterator fmt::v7::detail::vformat_to<char>(fmt::v7::detail::buffer<char>&, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<fmt::v7::type_identity<char>::type> >, fmt::v7::type_identity<char>::type> >)'
/usr/bin/ld: ScopedTemporaryFile.cpp:(.text+0x41f): undefined reference to `spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v7::basic_string_view<char>, spdlog::level::level_enum, fmt::v7::basic_string_view<char>)'
/usr/bin/ld: ScopedTemporaryFile.cpp:(.text+0x549): undefined reference to `fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<char> >, char>::iterator fmt::v7::detail::vformat_to<char>(fmt::v7::detail::buffer<char>&, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<fmt::v7::type_identity<char>::type> >, fmt::v7::type_identity<char>::type> >)'
/usr/bin/ld: ScopedTemporaryFile.cpp:(.text+0x588): undefined reference to `spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v7::basic_string_view<char>, spdlog::level::level_enum, fmt::v7::basic_string_view<char>)'
/usr/bin/ld: libutl_lib.a(ScopedTemporaryFile.cpp.o): in function `utl::ScopedTemporaryFile::ScopedTemporaryFile(utl::Logger*)':
ScopedTemporaryFile.cpp:(.text+0x8b3): undefined reference to `fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<char> >, char>::iterator fmt::v7::detail::vformat_to<char>(fmt::v7::detail::buffer<char>&, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<fmt::v7::type_identity<char>::type> >, fmt::v7::type_identity<char>::type> >)'
/usr/bin/ld: ScopedTemporaryFile.cpp:(.text+0x8fa): undefined reference to `spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v7::basic_string_view<char>, spdlog::level::level_enum, fmt::v7::basic_string_view<char>)'
/usr/bin/ld: ScopedTemporaryFile.cpp:(.text+0xa1c): undefined reference to `fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<char> >, char>::iterator fmt::v7::detail::vformat_to<char>(fmt::v7::detail::buffer<char>&, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<fmt::v7::type_identity<char>::type> >, fmt::v7::type_identity<char>::type> >)'
/usr/bin/ld: ScopedTemporaryFile.cpp:(.text+0xa63): undefined reference to `spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v7::basic_string_view<char>, spdlog::level::level_enum, fmt::v7::basic_string_view<char>)'
/usr/bin/ld: libutl_lib.a(ScopedTemporaryFile.cpp.o): in function `void spdlog::logger::log_<fmt::v7::basic_string_view<char>, char const*, char const*, int, char [4096]>(spdlog::source_loc, spdlog::level::level_enum, fmt::v7::basic_string_view<char> const&, char const* const&, char const* const&, int const&, char const (&) [4096])':
ScopedTemporaryFile.cpp:(.text._ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iA4096_cEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_[_ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iA4096_cEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_]+0x11f): undefined reference to `fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<char> >, char>::iterator fmt::v7::detail::vformat_to<char>(fmt::v7::detail::buffer<char>&, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<fmt::v7::type_identity<char>::type> >, fmt::v7::type_identity<char>::type> >)'
/usr/bin/ld: ScopedTemporaryFile.cpp:(.text._ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iA4096_cEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_[_ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iA4096_cEEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_]+0x15b): undefined reference to `spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v7::basic_string_view<char>, spdlog::level::level_enum, fmt::v7::basic_string_view<char>)'
/usr/bin/ld: libutl_lib.a(Logger.cpp.o): in function `utl::Logger::flushMetrics()':
Logger.cpp:(.text+0x16df): undefined reference to `fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<char> >, char>::iterator fmt::v7::detail::vformat_to<char>(fmt::v7::detail::buffer<char>&, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<fmt::v7::type_identity<char>::type> >, fmt::v7::type_identity<char>::type> >)'
/usr/bin/ld: Logger.cpp:(.text+0x1730): undefined reference to `spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v7::basic_string_view<char>, spdlog::level::level_enum, fmt::v7::basic_string_view<char>)'
/usr/bin/ld: Logger.cpp:(.text+0x1839): undefined reference to `fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<char> >, char>::iterator fmt::v7::detail::vformat_to<char>(fmt::v7::detail::buffer<char>&, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<fmt::v7::type_identity<char>::type> >, fmt::v7::type_identity<char>::type> >)'
/usr/bin/ld: Logger.cpp:(.text+0x188a): undefined reference to `spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v7::basic_string_view<char>, spdlog::level::level_enum, fmt::v7::basic_string_view<char>)'
/usr/bin/ld: libutl_lib.a(Logger.cpp.o): in function `void spdlog::logger::log_<fmt::v7::basic_string_view<char>, char const*, char const*, int, char const*>(spdlog::source_loc, spdlog::level::level_enum, fmt::v7::basic_string_view<char> const&, char const* const&, char const* const&, int const&, char const* const&)':
Logger.cpp:(.text._ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iS7_EEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_[_ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iS7_EEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_]+0x120): undefined reference to `fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<char> >, char>::iterator fmt::v7::detail::vformat_to<char>(fmt::v7::detail::buffer<char>&, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<std::back_insert_iterator<fmt::v7::detail::buffer<fmt::v7::type_identity<char>::type> >, fmt::v7::type_identity<char>::type> >)'
/usr/bin/ld: Logger.cpp:(.text._ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iS7_EEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_[_ZN6spdlog6logger4log_IN3fmt2v717basic_string_viewIcEEJPKcS7_iS7_EEEvNS_10source_locENS_5level10level_enumERKT_DpRKT0_]+0x15c): undefined reference to `spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v7::basic_string_view<char>, spdlog::level::level_enum, fmt::v7::basic_string_view<char>)'
/usr/bin/ld: libutl_lib.a(Metrics.cpp.o): in function `utl::MetricsEntry::assembleJSON(std::__cxx11::list<utl::MetricsEntry, std::allocator<utl::MetricsEntry> > const&)':
Metrics.cpp:(.text+0x22c): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view<char>, fmt::v7::format_args)'
collect2: error: ld returned 1 exit status
Screenshots
No response
Additional Context
No response
Try steps from here: https://openroad-flow-scripts.readthedocs.io/en/latest/user/BuildWithDocker.html
Seems you missed --recursive
Sry, I forgot to type --recursive
in my expression. I have solved the error about the "lemon-config" . After running setup.sh successfully, I cloned the OpenRoad.git and tried to build it. But I ran into a new problem as shown below:
`CMake Error at src/mpl2/CMakeLists.txt:42 (find_package):
By not providing "Findortools.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "ortools", but
CMake did not find one.
Could not find a package configuration file provided by "ortools" with any of the following names:
ortoolsConfig.cmake
ortools-config.cmake
Add the installation prefix of "ortools" to CMAKE_PREFIX_PATH or set "ortools_DIR" to a directory containing one of the above files. If "ortools" provides a separate development package or SDK, be sure it has been installed. `
After running setup.sh successfully, I cloned the OpenRoad.git and tried to build it.
Don't understand your steps. Why you're cloning OpenROAD.git
again? Where it is mentioned?
I am also having issues building with docker:
#0 730.6 [ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/bufferTreeDescriptor.cpp.o
#0 731.0 [ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/gui_autogen/3YJK5W5UP7/qrc_resource.cpp.o
#0 733.6 [ 78%] Linking CXX static library gui.a
#0 733.8 [ 78%] Built target gui
#0 733.8 gmake: *** [Makefile:146: all] Error 2
------
Dockerfile.builder:14
--------------------
12 | WORKDIR /OpenROAD-flow-scripts
13 |
14 | >>> RUN ./build_openroad.sh --no_init --local --threads ${numThreads}
15 |
--------------------
ERROR: failed to solve: process "/bin/sh -c ./build_openroad.sh --no_init --local --threads ${numThreads}" did not complete successfully: exit code: 2
@RaidToRadar How many threads used for the installation? Can you share command used?
I used all 4 and I have allocate 4 cores to the vbox. This is the command that I followed:
export OS_NAME=ubuntu22.04
git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts
cd OpenROAD-flow-scripts
./etc/DockerHelper.sh create -target=dev -os=$OS_NAME
./etc/DockerHelper.sh create -target=builder -os=$OS_NAME
The error arises on while running the builder DockerHelper.sh
Can you try with single thread?
./etc/DockerHelper.sh create -target=builder -os=$OS_NAME -threads=1
The same error is prompted
#0 4060.2 [ 95%] Built target parseTest
#0 4060.2 [ 95%] Building CXX object src/odb/test/cpp/CMakeFiles/OdbGTests.dir/TestDbWire.cc.o
#0 4062.0 [ 95%] Building CXX object src/odb/test/cpp/CMakeFiles/OdbGTests.dir/TestAbstractLef.cc.o
#0 4062.0 /OpenROAD-flow-scripts/tools/OpenROAD/src/odb/test/cpp/TestAbstractLef.cc:13:10: fatal error: gmock/gmock.h: No such file or directory
#0 4062.0 13 | #include "gmock/gmock.h"
#0 4062.0 | ^~~~~~~~~~~~~~~
#0 4062.0 compilation terminated.
#0 4062.0 gmake[2]: *** [src/odb/test/cpp/CMakeFiles/OdbGTests.dir/build.make:90: src/odb/test/cpp/CMakeFiles/OdbGTests.dir/TestAbstractLef.cc.o] Error 1
#0 4062.0 gmake[1]: *** [CMakeFiles/Makefile2:2303: src/odb/test/cpp/CMakeFiles/OdbGTests.dir/all] Error 2
#0 4062.0 gmake: *** [Makefile:146: all] Error 2
------
Dockerfile.builder:14
--------------------
12 | WORKDIR /OpenROAD-flow-scripts
13 |
14 | >>> RUN ./build_openroad.sh --no_init --local --threads ${numThreads}
15 |
--------------------
ERROR: failed to solve: process "/bin/sh -c ./build_openroad.sh --no_init --local --threads ${numThreads}" did not complete successfully: exit code: 2
vboxuser@vbox-inator:~/OpenROAD-flow-scripts$
attach build_openroad.log
@RaidToRadar The error is not same, reported by owner of this issue. It is similar to this issue and got resolved: https://github.com/The-OpenROAD-Project/OpenROAD/issues/3520 So do clean build again with following steps:
git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts
cd OpenROAD-flow-scripts
./build_openroad.sh --clean --latest --threads 1
If there is an issue, open a new issue with the build_openroad.log
Okay thank you, perhaps my issue is that I was attempting to build it with ubuntu22.04. It was able to build with the centos version.
After running setup.sh successfully, I cloned the OpenRoad.git and tried to build it.
Don't understand your steps. Why you're cloning
OpenROAD.git
again? Where it is mentioned?
Sry, I didn't explain clearly. Forget about the previous bug. I have successfully built the Openroad.git and now I'm trying to build the Openroad-flow-scripts.git. After finish running sudo ./setup.sh
, here is the error occurred while running ./build_openroad.sh --local
.
[ 78%] Swig compile src/partitionmgr.i for tcl
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/odb/test/cpp/TestAbstractLef.cc:13:10: fatal error: gmock/gmock.h: No such file or directory
13 | #include "gmock/gmock.h"
| ^~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/odb/test/cpp/CMakeFiles/OdbGTests.dir/build.make:90: src/odb/test/cpp/CMakeFiles/OdbGTests.dir/TestAbstractLef.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2303: src/odb/test/cpp/CMakeFiles/OdbGTests.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Consolidate compiler generated dependencies of target mpl2_lib
[ 78%] Built target dpo
[ 78%] Built target mpl2_lib
Consolidate compiler generated dependencies of target grt_lib
Consolidate compiler generated dependencies of target gui
Unable to open file /home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/build/src/par/CMakeFiles/par.dir/partitionmgr.i.d: Permission denied
make[2]: *** [src/par/CMakeFiles/par.dir/build.make:76: src/par/CMakeFiles/par.dir/partitionmgrTCL_wrap.cxx] Error 1
make[1]: *** [CMakeFiles/Makefile2:4809: src/par/CMakeFiles/par.dir/all] Error 2
[ 78%] Built target grt_lib
[ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/search.cpp.o
Unable to open file /home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/build/src/par/CMakeFiles/par_py.dir/partitionmgr-py.i.d: Permission denied
make[2]: *** [src/par/CMakeFiles/par_py.dir/build.make:76: src/par/CMakeFiles/par_py.dir/partitionmgr-pyPYTHON_wrap.cxx] Error 1
make[1]: *** [CMakeFiles/Makefile2:4847: src/par/CMakeFiles/par_py.dir/all] Error 2
[ 78%] Built target libabc
In file included from /home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:33:
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.h:264:10: error: ‘mutex’ in namespace ‘std’ does not name a type
264 | std::mutex shapes_init_mutex_;
| ^~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.h:41:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
40 | #include "odb/dbBlockCallBackObj.h"
+++ |+#include <mutex>
41 | #include "odb/geom.h"
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.h:267:10: error: ‘mutex’ in namespace ‘std’ does not name a type
267 | std::mutex fills_init_mutex_;
| ^~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.h:267:5: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
267 | std::mutex fills_init_mutex_;
| ^~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.h:270:10: error: ‘mutex’ in namespace ‘std’ does not name a type
270 | std::mutex insts_init_mutex_;
| ^~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.h:270:5: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
270 | std::mutex insts_init_mutex_;
| ^~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.h:273:10: error: ‘mutex’ in namespace ‘std’ does not name a type
273 | std::mutex blockages_init_mutex_;
| ^~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.h:273:5: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
273 | std::mutex blockages_init_mutex_;
| ^~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.h:276:10: error: ‘mutex’ in namespace ‘std’ does not name a type
276 | std::mutex obstructions_init_mutex_;
| ^~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.h:276:5: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
276 | std::mutex obstructions_init_mutex_;
| ^~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.h:279:10: error: ‘mutex’ in namespace ‘std’ does not name a type
279 | std::mutex rows_init_mutex_;
| ^~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.h:279:5: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
279 | std::mutex rows_init_mutex_;
| ^~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp: In member function ‘void gui::Search::updateShapes(odb::dbBlock*)’:
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:251:8: error: ‘lock_guard’ is not a member of ‘std’
251 | std::lock_guard<std::mutex> lock(data.shapes_init_mutex_);
| ^~~~~~~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:39:1: note: ‘std::lock_guard’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
38 | #include "dbShape.h"
+++ |+#include <mutex>
39 |
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:251:24: error: ‘mutex’ is not a member of ‘std’
251 | std::lock_guard<std::mutex> lock(data.shapes_init_mutex_);
| ^~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:251:24: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:251:41: error: ‘struct gui::Search::BlockData’ has no member named ‘shapes_init_mutex_’; did you mean ‘shapes_init_’?
251 | std::lock_guard<std::mutex> lock(data.shapes_init_mutex_);
| ^~~~~~~~~~~~~~~~~~
| shapes_init_
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:251:31: error: ‘lock’ was not declared in this scope; did you mean ‘lockf’?
251 | std::lock_guard<std::mutex> lock(data.shapes_init_mutex_);
| ^~~~
| lockf
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp: In member function ‘void gui::Search::updateFills(odb::dbBlock*)’:
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:290:8: error: ‘lock_guard’ is not a member of ‘std’
290 | std::lock_guard<std::mutex> lock(data.fills_init_mutex_);
| ^~~~~~~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:290:8: note: ‘std::lock_guard’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:290:24: error: ‘mutex’ is not a member of ‘std’
290 | std::lock_guard<std::mutex> lock(data.fills_init_mutex_);
| ^~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:290:24: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:290:41: error: ‘struct gui::Search::BlockData’ has no member named ‘fills_init_mutex_’; did you mean ‘fills_init_’?
290 | std::lock_guard<std::mutex> lock(data.fills_init_mutex_);
| ^~~~~~~~~~~~~~~~~
| fills_init_
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:290:31: error: ‘lock’ was not declared in this scope; did you mean ‘lockf’?
290 | std::lock_guard<std::mutex> lock(data.fills_init_mutex_);
| ^~~~
| lockf
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp: In member function ‘void gui::Search::updateInsts(odb::dbBlock*)’:
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:310:8: error: ‘lock_guard’ is not a member of ‘std’
310 | std::lock_guard<std::mutex> lock(data.insts_init_mutex_);
| ^~~~~~~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:310:8: note: ‘std::lock_guard’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:310:24: error: ‘mutex’ is not a member of ‘std’
310 | std::lock_guard<std::mutex> lock(data.insts_init_mutex_);
| ^~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:310:24: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:310:41: error: ‘struct gui::Search::BlockData’ has no member named ‘insts_init_mutex_’; did you mean ‘insts_init_’?
310 | std::lock_guard<std::mutex> lock(data.insts_init_mutex_);
| ^~~~~~~~~~~~~~~~~
| insts_init_
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:310:31: error: ‘lock’ was not declared in this scope; did you mean ‘lockf’?
310 | std::lock_guard<std::mutex> lock(data.insts_init_mutex_);
| ^~~~
| lockf
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp: In member function ‘void gui::Search::updateBlockages(odb::dbBlock*)’:
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:329:8: error: ‘lock_guard’ is not a member of ‘std’
329 | std::lock_guard<std::mutex> lock(data.blockages_init_mutex_);
| ^~~~~~~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:329:8: note: ‘std::lock_guard’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:329:24: error: ‘mutex’ is not a member of ‘std’
329 | std::lock_guard<std::mutex> lock(data.blockages_init_mutex_);
| ^~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:329:24: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:329:41: error: ‘struct gui::Search::BlockData’ has no member named ‘blockages_init_mutex_’; did you mean ‘blockages_init_’?
329 | std::lock_guard<std::mutex> lock(data.blockages_init_mutex_);
| ^~~~~~~~~~~~~~~~~~~~~
| blockages_init_
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:329:31: error: ‘lock’ was not declared in this scope; did you mean ‘lockf’?
329 | std::lock_guard<std::mutex> lock(data.blockages_init_mutex_);
| ^~~~
| lockf
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp: In member function ‘void gui::Search::updateObstructions(odb::dbBlock*)’:
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:346:8: error: ‘lock_guard’ is not a member of ‘std’
346 | std::lock_guard<std::mutex> lock(data.obstructions_init_mutex_);
| ^~~~~~~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:346:8: note: ‘std::lock_guard’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:346:24: error: ‘mutex’ is not a member of ‘std’
346 | std::lock_guard<std::mutex> lock(data.obstructions_init_mutex_);
| ^~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:346:24: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:346:41: error: ‘struct gui::Search::BlockData’ has no member named ‘obstructions_init_mutex_’; did you mean ‘obstructions_init_’?
346 | std::lock_guard<std::mutex> lock(data.obstructions_init_mutex_);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| obstructions_init_
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:346:31: error: ‘lock’ was not declared in this scope; did you mean ‘lockf’?
346 | std::lock_guard<std::mutex> lock(data.obstructions_init_mutex_);
| ^~~~
| lockf
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp: In member function ‘void gui::Search::updateRows(odb::dbBlock*)’:
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:363:8: error: ‘lock_guard’ is not a member of ‘std’
363 | std::lock_guard<std::mutex> lock(data.rows_init_mutex_);
| ^~~~~~~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:363:8: note: ‘std::lock_guard’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:363:24: error: ‘mutex’ is not a member of ‘std’
363 | std::lock_guard<std::mutex> lock(data.rows_init_mutex_);
| ^~~~~
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:363:24: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:363:41: error: ‘struct gui::Search::BlockData’ has no member named ‘rows_init_mutex_’; did you mean ‘rows_init_’?
363 | std::lock_guard<std::mutex> lock(data.rows_init_mutex_);
| ^~~~~~~~~~~~~~~~
| rows_init_
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/gui/src/search.cpp:363:31: error: ‘lock’ was not declared in this scope; did you mean ‘lockf’?
363 | std::lock_guard<std::mutex> lock(data.rows_init_mutex_);
| ^~~~
| lockf
make[2]: *** [src/gui/CMakeFiles/gui.dir/build.make:288: src/gui/CMakeFiles/gui.dir/src/search.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:5017: src/gui/CMakeFiles/gui.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
And here is the output of ./etc/Env.sh
in /tools/Openroad. Could you give me some help?
[WARNING] Your current OpenROAD version is outdated.
It is recommened to pull the latest changes.
If problem persists, file a github issue with the re-producible test case.
kernel: Linux 5.15.0-76-generic
os: Ubuntu 20.04.6 LTS (Focal Fossa)
cmake version 3.24.2
-- The CXX compiler identification is GNU 9.4.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- OpenROAD version: v2.0-8836-g0ea657420
-- System name: Linux
-- Compiler: GNU 9.4.0
-- Build type: RELEASE
-- Install prefix: /usr/local
-- C++ Standard: 17
-- C++ Standard Required: ON
-- C++ Extensions: OFF
-- Found GTest: /usr/lib/x86_64-linux-gnu/libgtest.a
-- The C compiler identification is GNU 9.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test C_COMPILER_SUPPORTS__-Wall
-- Performing Test C_COMPILER_SUPPORTS__-Wall - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wall
-- Performing Test CXX_COMPILER_SUPPORTS__-Wall - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-array-bounds
-- Performing Test C_COMPILER_SUPPORTS__-Wno-array-bounds - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-array-bounds
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-array-bounds - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-nonnull
-- Performing Test C_COMPILER_SUPPORTS__-Wno-nonnull - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-nonnull
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-nonnull - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-maybe-uninitialized
-- Performing Test C_COMPILER_SUPPORTS__-Wno-maybe-uninitialized - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-maybe-uninitialized
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-maybe-uninitialized - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format-overflow
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format-overflow - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format-overflow
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format-overflow - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-variable
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-variable - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-variable
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-variable - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-function
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-function - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-function
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-function - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-write-strings
-- Performing Test C_COMPILER_SUPPORTS__-Wno-write-strings - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-write-strings
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-write-strings - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-sign-compare
-- Performing Test C_COMPILER_SUPPORTS__-Wno-sign-compare - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-sign-compare
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-sign-compare - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-deprecated
-- Performing Test C_COMPILER_SUPPORTS__-Wno-deprecated - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-deprecated
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-deprecated - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-c++11-narrowing
-- Performing Test C_COMPILER_SUPPORTS__-Wno-c++11-narrowing - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-c++11-narrowing
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-c++11-narrowing - Failed
-- Performing Test C_COMPILER_SUPPORTS__-Wno-register
-- Performing Test C_COMPILER_SUPPORTS__-Wno-register - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-register
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-register - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal
-- Performing Test C_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal - Failed
-- Performing Test C_COMPILER_SUPPORTS__-fpermissive
-- Performing Test C_COMPILER_SUPPORTS__-fpermissive - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-fpermissive
-- Performing Test CXX_COMPILER_SUPPORTS__-fpermissive - Success
-- Performing Test C_COMPILER_SUPPORTS__-x
-- Performing Test C_COMPILER_SUPPORTS__-x - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-x
-- Performing Test CXX_COMPILER_SUPPORTS__-x - Failed
-- Performing Test C_COMPILER_SUPPORTS__c++
-- Performing Test C_COMPILER_SUPPORTS__c++ - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__c++
-- Performing Test CXX_COMPILER_SUPPORTS__c++ - Failed
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-but-set-variable
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-but-set-variable - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-but-set-variable
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-but-set-variable - Success
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl.h
-- TCL readline library: /usr/lib/x86_64-linux-gnu/libtclreadline.so
-- TCL readline header: /usr/include/x86_64-linux-gnu
-- Found SWIG: /usr/bin/swig4.0 (found suitable version "4.0.1", minimum required is "3.0")
-- Found Boost: /usr/local/lib/cmake/Boost-1.76.0/BoostConfig.cmake (found version "1.76.0")
-- boost: 1.76.0
-- Found Python3: /usr/include/python3.8 (found version "3.8.10") found components: Development Development.Module Development.Embed
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Found Threads: TRUE
-- spdlog: 1.8.1
-- Found BISON: /usr/bin/bison (found version "3.5.1")
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- STA version: 2.4.0
-- STA git sha: 2609cc89eeb02a06ceca1890624d4fa1932d930b
-- System name: Linux
-- Compiler: GNU 9.4.0
-- Build type: RELEASE
-- Build CXX_FLAGS: -O3 -DNDEBUG
-- Install prefix: /usr/local
-- Found FLEX: /usr/bin/flex (found version "2.6.4")
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl.h
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- SSTA: 0
-- STA executable: /home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/sta/app/sta
-- GPU is not enabled
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl.h
-- Found re2: /opt/or-tools/lib/cmake/re2/re2Config.cmake (found version "9.0.0")
-- Found Clp: /opt/or-tools/lib/cmake/Clp/ClpConfig.cmake (found version "1.17.7")
-- Found Cbc: /opt/or-tools/lib/cmake/Cbc/CbcConfig.cmake (found version "2.10.7")
-- Found Eigen3: /usr/local/share/eigen3/cmake/Eigen3Config.cmake (found version "3.3.9")
-- Found SCIP: /opt/or-tools/lib/cmake/scip/scip-config.cmake (found version "8.0.1")
-- GUI is enabled
-- Charts widget is not enabled
-- Found Boost: /usr/local/lib/cmake/Boost-1.76.0/BoostConfig.cmake (found version "1.76.0") found components: serialization
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Could NOT find VTune (missing: VTune_LIBRARIES VTune_INCLUDE_DIRS)
-- Found Boost: /usr/local/lib/cmake/Boost-1.80.0/BoostConfig.cmake (found suitable version "1.80.0", minimum required is "1.78")
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl.h
-- Found Boost: /usr/local/lib/cmake/Boost-1.80.0/BoostConfig.cmake (found version "1.80.0") found components: serialization system thread
-- Found Boost: /usr/local/lib/cmake/Boost-1.80.0/BoostConfig.cmake (found version "1.80.0")
-- TCL readline enabled
-- Tcl Extended disabled
-- Python3 enabled
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/tmp.TwkXfFR1XE
Please try with ./build_openroad.sh --local --latest
Here is the output of ./build_openroad.sh --local --latest
. It didn't make any difference.
[ 78%] Swig compile src/partitionmgr.i for tcl
Unable to open file /home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/build/src/par/CMakeFiles/par.dir/partitionmgr.i.d: Permission denied
make[2]: *** [src/par/CMakeFiles/par.dir/build.make:76: src/par/CMakeFiles/par.dir/partitionmgrTCL_wrap.cxx] Error 1
make[1]: *** [CMakeFiles/Makefile2:4974: src/par/CMakeFiles/par.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/staGui.cpp.o
/home/lengyuhao/OpenROAD-flow-scripts/tools/OpenROAD/src/mpl2/src/rtl_mp.cpp:127:1: fatal error: opening dependency file CMakeFiles/mpl2_lib.dir/src/rtl_mp.cpp.o.d: Permission denied
127 | } // namespace mpl2
| ^
compilation terminated.
make[2]: *** [src/mpl2/CMakeFiles/mpl2_lib.dir/build.make:76: src/mpl2/CMakeFiles/mpl2_lib.dir/src/rtl_mp.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4589: src/mpl2/CMakeFiles/mpl2_lib.dir/all] Error 2
[ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/staGuiInterface.cpp.o
[ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/timingWidget.cpp.o
[ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/drcWidget.cpp.o
[ 78%] Linking CXX static library libFastRoute4.1.a
[ 78%] Built target FastRoute4.1
[ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/ruler.cpp.o
[ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/heatMap.cpp.o
[ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/heatMapSetup.cpp.o
[ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/heatMapPlacementDensity.cpp.o
[ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/browserWidget.cpp.o
[ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/globalConnectDialog.cpp.o
[ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/clockWidget.cpp.o
[ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/colorGenerator.cpp.o
[ 78%] Building CXX object src/gui/CMakeFiles/gui.dir/src/bufferTreeDescriptor.cpp.o
[ 78%] Linking CXX static library gui.a
[ 78%] Built target gui
[ 78%] Linking CXX static library _odb_py.a
[ 78%] Built target odb_py
[ 78%] Linking CXX static library odbtcl.a
[ 78%] Built target odbtcl
make: *** [Makefile:146: all] Error 2
@lllyuhao Do not mix up docker and local installation in same directory. See in the above thread, user able to complete docker based installation successfully. So try in new directory with clean build again, with docker based to avoid dependency issues.
cd
mkdir ORFS && cd ORFS
git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts
cd OpenROAD-flow-scripts
./build_openroad.sh --clean --latest --threads 1
Also can you confirm is docker able to run without sudo access. Check with below command
docker run hello-world
I have always tried local installation and never tried docker installation.
@lllyuhao
As per To Reproduce
you mentioned during issue creation
git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts
cd OpenROAD-flow-scripts
./build_openroad.sh
It is for docker based installation. Also I do not found word, you tried local installation in above thread.
If you tried local installation mean, did you completed sudo ./setup.sh
for dependency installer successfully?
Try these again:
git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts
cd OpenROAD-flow-scripts
sudo ./setup.sh
./build_openroad.sh --local --latest --clean --threads 1