Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
openroad [2026/02/12 14:48] – openroad bazel fixed beckmanfopenroad [2026/02/19 09:16] (current) – bazel beckmanf
Line 10: Line 10:
 Bazel promises reproducable builds which I liked. I tried it on a virtual (via UTM) debian 13 (trixie) arm64 machine. The openroad binary is a gui application which relies on qt. It seems quite difficult to have system independent gui application. OpenROAD uses prebuild libraries, for example the xcd libraries which are from [[https://github.com/The-OpenROAD-Project/qt_bazel_prebuilts/tree/main/interface_libs|OpenROADS qt_bazel_prebuilts/interface_libs]]. It turns out that prebuild libraries are build in a ubuntu docker container and the copied to the repository. Therefore they are x86_64 and do not work on the arm64 machine. Bazel promises reproducable builds which I liked. I tried it on a virtual (via UTM) debian 13 (trixie) arm64 machine. The openroad binary is a gui application which relies on qt. It seems quite difficult to have system independent gui application. OpenROAD uses prebuild libraries, for example the xcd libraries which are from [[https://github.com/The-OpenROAD-Project/qt_bazel_prebuilts/tree/main/interface_libs|OpenROADS qt_bazel_prebuilts/interface_libs]]. It turns out that prebuild libraries are build in a ubuntu docker container and the copied to the repository. Therefore they are x86_64 and do not work on the arm64 machine.
  
-I gave up on that one for the time being.+== Install bazelisk == 
 + 
 +See: https://github.com/bazelbuild/bazelisk/releases/tag/v1.28.1 
 + 
 +for the different systemsFor debian linux on x86_64 machines do: 
 + 
 +<code> 
 +wget https://github.com/bazelbuild/bazelisk/releases/download/v1.28.1/bazelisk-amd64.deb 
 +sudo dpkg -i bazelisk-amd64.deb 
 +</code> 
 + 
 + 
 +== Build and Run openroad in cmdline mode == 
 + 
 +The will build and run the openroad tool in cmdline mode. 
 +<code> 
 +bazelisk run //:openroad 
 +</code> 
 + 
 +== Build and run in gui mode == 
 + 
 +<code> 
 +bazelisk run --//platform=gui //:openroad -- -gui 
 +</code> 
 + 
 +== Run the regression test via bazel == 
 + 
 +The following command will run all tests which are defined in the 
 +src folder. The three dots are real.  
 +<code> 
 +bazelisk test src/... 
 +</code> 
 + 
 +== Run one test from the regression == 
 + 
 +<code> 
 +bazelisk test src/gpl/test:simple01-tcl_test 
 +</code>
  
 === Install via cmake === === Install via cmake ===
Line 28: Line 65:
  
 </code> </code>
 +
 +=== Regression Test ===
 +
 +To be sure that the compiled tools are actually working as expected on possibly different platforms, a regression test is a good idea. The [[https://github.com/The-OpenROAD-Project/OpenROAD/blob/master/README.md|README.md]] mentions some tests. Run: 
 +
 +<code>
 +./test/regression flow
 +ctest --test-dir build -j 8
 +</code>
 +
 +
 +=== Build Results ===
 +
 +Some collected build results:
 +
 +[[or_buildresults|OpenROAD Build Results]]
  • openroad.1770904084.txt.gz
  • Last modified: 2026/02/12 14:48
  • by beckmanf