CMake Error CUDD_LIB NOTFOUND
Describe the bug
How do i fix the following please ?
When installing openroad from source, i get the error below when executing:
cmake ..
CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: CUDD_LIB linked by target "OpenSTA" in directory /tools/downloads/OpenROAD/src/sta
-- Generating done (0.2s) CMake Generate step failed. Build files cannot be regenerated correctly.
Ps. I managed to run the install dependancies script fine.
Expected Behavior
install without errors
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 4.18.0-477.27.1.el8_8.x86_64
os: Rocky Linux 8.10 (Green Obsidian)
cmake version 3.26.5
-- The CXX compiler identification is GNU 8.5.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- OpenROAD version: v2.0-13269-g2c2f9599a
-- System name: Linux
-- Compiler: GNU 8.5.0
-- Build type: RELEASE
-- Install prefix: /usr/local
-- C++ Standard: 17
-- C++ Standard Required: ON
-- C++ Extensions: OFF
-- The C compiler identification is GNU 8.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found Python: /bin/python3.11 (found version "3.11.9") found components: Interpreter
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- 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__-std=c++17
-- Performing Test C_COMPILER_SUPPORTS__-std=c++17 - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-std=c++17
-- Performing Test CXX_COMPILER_SUPPORTS__-std=c++17 - Success
-- 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/lib64/libtcl.so
-- TCL header: /usr/include/tcl.h
-- TCL readline library: /usr/lib64/libtclreadline.so
-- TCL readline header: /usr/include
-- Found SWIG: /usr/local/bin/swig (found suitable version "4.1.0", minimum required is "4.0")
-- Using SWIG >= 4.1.0 -flatstaticmethod flag for python
-- Found Boost: /usr/local/lib/cmake/Boost-1.80.0/BoostConfig.cmake (found version "1.80.0")
-- boost: 1.80.0
-- Found Python3: /usr/include/python3.11 (found version "3.11.9") found components: Development Development.Module Development.Embed
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.11")
-- spdlog: 1.8.1
-- Found BISON: /bin/bison (found version "3.0.4")
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- STA version: 2.6.0
-- STA git sha: aafee90f8a21bf7867cef2e159929440cf45b2e5
-- System name: Linux
-- Compiler: GNU 8.5.0
-- Build type: RELEASE
-- Build CXX_FLAGS: -O3 -DNDEBUG
-- Install prefix: /usr/local
-- Found FLEX: /bin/flex (found version "2.6.1")
-- TCL library: /usr/lib64/libtcl.so
-- TCL header: /usr/include/tcl.h
-- TCL readline library: /usr/lib64/libtclreadline.so
-- TCL readline header: /usr/include/tclreadline.h
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- CUDD library: not found
-- SSTA: 0
-- Found SWIG: /usr/local/bin/swig (found suitable version "4.1.0", minimum required is "3.0")
-- STA executable: /tools/downloads/OpenROAD/src/sta/app/sta
-- Found re2: /opt/or-tools/lib64/cmake/re2/re2Config.cmake (found version "9.0.0")
-- Found Clp: /opt/or-tools/lib64/cmake/Clp/ClpConfig.cmake (found version "1.17.7")
-- Found Cbc: /opt/or-tools/lib64/cmake/Cbc/CbcConfig.cmake (found version "2.10.7")
-- Found SCIP: /opt/or-tools/lib/cmake/scip/scip-config.cmake (found version "8.0.1")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- GPU is not enabled
-- TCL library: /usr/lib64/libtcl.so
-- TCL header: /usr/include/tcl.h
-- GUI is enabled
-- Charts widget is not enabled
-- Found Boost: /usr/local/lib/cmake/Boost-1.80.0/BoostConfig.cmake (found version "1.80.0") found components: serialization
-- Could NOT find VTune (missing: VTune_LIBRARIES VTune_INCLUDE_DIRS)
-- Found Boost: /usr/local/lib/cmake/Boost-1.80.0/BoostConfig.cmake (found suNumber of processor cores: 32
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDD_LIB
linked by target "OpenSTA" in directory /tools/downloads/OpenROAD/src/sta
CMake Generate step failed. Build files cannot be regenerated correctly.
itable version "1.80.0", minimum required is "1.78")
-- TCL library: /usr/lib64/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")
-- Found Eigen3: /usr/local/share/eigen3/cmake/Eigen3Config.cmake (found version "3.4.1")
-- TCL readline enabled
-- Tcl Extended disabled
-- Python3 enabled
-- Configuring done (2.8s)
-- Generating done (0.2s)
To Reproduce
git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD.git cd OpenROAD git checkout 2c2f9599amkdir build && cd build cmake ..
Relevant log output
No response
Screenshots
No response
Additional Context
No response
You need to run the dependency installer.
Good morning Matt,
As mention in my post, i managed to run the dependency installer with a few tweaks to get it running on Rocky 8.11
Can you please point me specifically to which dependancy is required ?
CUDD
CUDD
Hi matt,
I just realised why i couldn't find the CUDD section in the dependancy installer. The reason is when i clone the repo, i check out a previous version of OR (due to the compatibility issues we were facing with python + openlane + yosys), and the dependancy installer has obviously been updated since that commit with the CUDD requirement, and therefore obviously not installing.
This leads to the bigger question, regarding tagging and stable releases of OpenRoad. Is that on your roadmap ? Anything i can help with /contribute to ?
FYI, By reverting to a previous commit of OpenRoad but not the submodules of 'module/OpenSTA' and 'src/abc' i ended up compiling without the required dependancies. Now i assume i have to find the submodule commits that relate to the OpenRoad commit which didnt need these updated dependancies. Your invaluable feedback / input would be greatly appreciated !
Best, Faisal
Ps. FYI, I managed to run through the latest dependancy installer but when i try to make-compile the previous version of OpenRoad, i get the following error
/tools/downloads/OpenROAD/src/gui/src/clockWidget.cpp: In member function ?gui::ClockNodeGraphicsViewItem* gui::ClockTreeView::addLeafToScene(qreal, const gui::ClockTreeView::PinArrival&, sta::dbNetwork*)?: /tools/downloads/OpenROAD/src/gui/src/clockWidget.cpp:1170:70: warning: ?sta::RiseFallMinMax sta::LibertyPort::clockTreePathDelays() const? is deprecated [-Wdeprecated-declarations] sta::RiseFallMinMax insDelays = libPort->clockTreePathDelays(); ^ In file included from /tools/downloads/OpenROAD/src/gui/src/clockWidget.cpp:61: /tools/downloads/OpenROAD/src/sta/include/sta/Liberty.hh:832:18: note: declared here RiseFallMinMax clockTreePathDelays() const attribute ((deprecated)); ^~~~~~~~~~~~~~~~~~~ [ 71%] Building CXX object src/gui/CMakeFiles/gui.dir/src/gui_utils.cpp.o [ 71%] Building CXX object src/gui/CMakeFiles/gui.dir/src/colorGenerator.cpp.o [ 71%] Building CXX object src/gui/CMakeFiles/gui.dir/src/bufferTreeDescriptor.cpp.o [ 71%] Building CXX object src/gui/CMakeFiles/gui.dir/src/chartsWidget.cpp.o [ 71%] Building CXX object src/gui/CMakeFiles/gui.dir/gui_autogen/3YJK5W5UP7/qrc_resource.cpp.o [ 71%] Linking CXX static library gui.a [ 71%] Built target gui make[2]: *** No rule to make target '/tools/downloads/OpenROAD/src/sta/tcl/Graph.tcl', needed by 'src/dbSta/src/dbSta-tclInitVar.cc'. Stop. make[1]: *** [CMakeFiles/Makefile2:3808: src/dbSta/src/CMakeFiles/dbSta.dir/all] Error 2 make: *** [Makefile:146: all] Error 2
git submodule update --recursive should get the right commit.
There is no plan for formal releases as we don't have the bandwidth to patch older releases. We only provide support at head. Of course you are free to use any commit you wish.
Thanks Matt. That really helped point me in the right direction !
For anyones reference:
My mistake was recursively cloning the repo, then checking out the commit version.
> git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD.git
> git checkout 2c2f9599a
The correct method is:
git clone https://github.com/The-OpenROAD-Project/OpenROAD.git git checkout 2c2f9599a git submodule update --init --recursive
I'm getting the same cmake error on the latest commit. I've followed all steps from https://openroad-flow-scripts.readthedocs.io/en/latest/user/BuildLocally.html
This is the exact sequence of steps..
git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD.git
cd OpenROAD
sudo ./etc/DependencyInstaller.sh -base
./etc/DependencyInstaller.sh -common -local
./etc/Build.sh
I see this in the cmake log
-- TCL readline enabled
-- Tcl Extended disabled
-- Python3 enabled
-- Configuring done (2.9s)
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDD_LIB
linked by target "OpenSTA" in directory /zfsspare/opt/OpenROAD/src/sta
-- Generating done (0.9s)
Ok so I think a broken apt package path in sources.list.d was messing the build script. I fixed that and with the -all option it worked. I still can't get -local to work correctly. I think the docs page should say cd build; sudo make install to be clear about the exact set of steps. But overall it's quite well-documented. Looking forward to using it.