Package Details: openroad-git r34136.5114b0e881-2

Git Clone URL: https://aur.archlinux.org/openroad-git.git (read-only, click to copy)
Package Base: openroad-git
Description: A framework for RTL synthesis
Upstream URL: https://theopenroadproject.org/
Keywords: eda
Licenses: BSD-3-Clause
Conflicts: openroad, opensta
Provides: openroad
Submitter: Sequencer
Maintainer: foobat
Last Packager: foobat
Votes: 0
Popularity: 0.000000
First Submitted: 2020-03-17 07:34 (UTC)
Last Updated: 2025-10-29 15:05 (UTC)

Latest Comments

1 2 Next › Last »

gonsolo commented on 2026-01-13 22:34 (UTC)

And don't rm -rf /usr/include/gtest which totally borks gtest!

gonsolo commented on 2026-01-13 22:34 (UTC)

Please apply this diff:

From cd61d26e920ae337ea51cea69c498fcf7b953f5a Mon Sep 17 00:00:00 2001
From: Gon Solo <gonsolo@gmail.com>
Date: Tue, 13 Jan 2026 23:32:39 +0100
Subject: [PATCH] Fixes.

---
 .SRCINFO |  2 +-
 PKGBUILD | 49 +++++++++++++++++++++++--------------------------
 2 files changed, 24 insertions(+), 27 deletions(-)

diff --git a/.SRCINFO b/.SRCINFO
index 8978b68..4f6a2a7 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
 pkgbase = openroad-git
    pkgdesc = A framework for RTL synthesis
-   pkgver = r34136.5114b0e881
+   pkgver = r36130.0c68cb378e
    pkgrel = 2
    url = https://theopenroadproject.org/
    arch = x86_64
diff --git a/PKGBUILD b/PKGBUILD
index 4228b99..083c1c1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,8 +1,9 @@
 # Maintainer: Shupei Fan <dymarkfan@outlook.com>
 # Contributor: Jiuyang Liu <jiuyang.liu@sifive.com>
+# Modified for SWIG 4.3/4.4 compatibility and GTest Fix

 pkgname=openroad-git
-pkgver=r34136.5114b0e881
+pkgver=r36130.0c68cb378e
 pkgrel=2
 pkgdesc='A framework for RTL synthesis'
 arch=('x86_64')
@@ -15,32 +16,31 @@ makedepends=('git' 'cmake' 'boost' 'swig' 'bison' 'flex')
 source=('git+https://github.com/The-OpenROAD-Project/OpenROAD.git'
         'git+https://github.com/The-OpenROAD-Project/OpenSTA.git'
         'git+https://github.com/The-OpenROAD-Project/abc.git'
-        'boost-system.patch'
-        )
-
-sha256sums=('SKIP'
-           'SKIP'
-           'SKIP'
-           '302de77a4ed4fa93a0586e0b42e5c98d750295e860dd575d8c129a4a5e0bcdec'
-           )
+        'boost-system.patch')
+sha256sums=('SKIP' 'SKIP' 'SKIP' '302de77a4ed4fa93a0586e0b42e5c98d750295e860dd575d8c129a4a5e0bcdec')

 pkgver() {
-  cd $srcdir/OpenROAD
+  cd "$srcdir/OpenROAD"
   printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
 }

 prepare() {
-  cd $srcdir/OpenROAD
+  cd "$srcdir/OpenROAD"
   git submodule init
-  git config submodule.module/OpenSTA.url $srcdir/OpenSTA
-  git config submodule.src/abc.url $srcdir/abc
+  git config submodule.module/OpenSTA.url "$srcdir/OpenSTA"
+  git config submodule.src/abc.url "$srcdir/abc"
   git -c protocol.file.allow=always submodule update
-  git apply $srcdir/boost-system.patch
+  
+  git apply "$srcdir/boost-system.patch"
+
+  find src/sta -name "*.i" -exec sed -i 's/\$function/\$action/g' {} +
 }

 build() {
-  cd $srcdir/OpenROAD
+  cd "$srcdir/OpenROAD"
+  # Wir schalten TESTING und UNIT_TESTS komplett aus, um gtest-Probleme zu vermeiden
   cmake -B build \
+    -DBUILD_TESTING=OFF \
     -DENABLE_TESTS=OFF \
     -DUSE_SYSTEM_ABC=OFF \
     -DUSE_SYSTEM_BOOST=ON \
@@ -52,18 +52,15 @@ build() {
   cmake --build build
 }

-# check() {
-# }
-
 package() {
-  cd $srcdir/OpenROAD
+  cd "$srcdir/OpenROAD"
   DESTDIR="$pkgdir" cmake --install build
-  # Remove gtest related files, which cause confilct
-  rm -r "$pkgdir"/usr/lib/cmake
-  rm -r "$pkgdir"/usr/lib/pkgconfig
-  rm -r "$pkgdir"/usr/include/gtest
-  rm -r "$pkgdir"/usr/include/gmock
-  rm "$pkgdir"/usr/lib/{libgmock.a,libgmock_main.a,libgtest.a,libgtest_main.a}
+
+  # Falls GTest-Dateien trotz BUILD_TESTING=OFF im pkgdir landen, entfernen wir sie hier,
+  # aber nur aus dem Paket-Verzeichnis, nicht vom echten System!
+  rm -rf "$pkgdir"/usr/lib/cmake/GTest 2>/dev/null || true
+  rm -rf "$pkgdir"/usr/include/gtest 2>/dev/null || true
+  rm -rf "$pkgdir"/usr/include/gmock 2>/dev/null || true
+  
   install -Dm644 "$srcdir/OpenROAD/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
 }
-
-- 
2.52.0

SameLeni commented on 2025-11-30 03:13 (UTC)

I recently tried building this on an updated Arch system and ran into a couple of issues that I managed to resolve locally. I wanted to share my findings to see if they could be incorporated into the PKGBUILD.

  1. SWIG Version: It appears that the latest swig (4.4.0) in the official repo causes build failures (likely due to issues with $function recognition). I found that downgrading to 4.3.1 resolves this problem.

  2. C++20 Compatibility: The system-provided coin-or-lemon (1.3.1) triggers compilation errors under C++20 (specifically regarding allocator::construct/destroy in array_map.h). I noticed that the OpenROAD project internally uses a forked version to fix this exact issue: https://github.com/The-OpenROAD-Project/lemon-graph.

Would it be possible to update the PKGBUILD to use the bundled (or forked) lemon source instead of the system one to avoid this error?

vani2620 commented on 2025-02-03 05:27 (UTC)

I keep getting file ownership conflicts with a package called "gtest" installed on my system. I'm running EndeavourOS. How would I go about resolving the conflict? I've never run into this issue before.

fansp commented on 2024-04-18 14:04 (UTC)

The issue seems to be introduced in https://github.com/swig/swig/commit/b91ffa5631eb049293d3478744606148c9726521

May you try the following patch as a quick workaround?

diff --git a/src/gui/src/tclCmdInputWidget.h b/src/gui/src/tclCmdInputWidget.h
index 13c3d7352..7f8ff9ab1 100644
--- a/src/gui/src/tclCmdInputWidget.h
+++ b/src/gui/src/tclCmdInputWidget.h
@@ -34,6 +34,10 @@

 #include <tcl.h>

+#ifndef TCL_SIZE_MAX
+typedef int Tcl_Size;
+#endif
+
 #include <QCompleter>
 #include <QMenu>
 #include <QPlainTextEdit>

sebinho commented on 2024-04-16 17:08 (UTC)

It seems to be related to the latest update of Swig. I am now at 6.1.2 and reverting back to 6.1.0 solves the issue.

sebinho commented on 2024-04-16 09:34 (UTC)

FYI, I get the same type of error when trying to manually build from sources...

sebinho commented on 2024-04-16 09:33 (UTC)

I have used this package to install OpenROAD like a month ago without issues. I had to reinstall the package after it started to fail for some odd reason.

Now I cannot reinstall OpenROAD using this package as I get the following errors.

[ 70%] Building CXX object src/gui/CMakeFiles/gui.dir/gui_autogen/mocs_compilation.cpp.o
In file included from /home/zed/.cache/yay/openroad-git/src/OpenROAD/build/src/gui/gui_autogen/UVLADIE3JM/../../../../../src/gui/src/tclCmdInputWidget.h:50,
                 from /home/zed/.cache/yay/openroad-git/src/OpenROAD/build/src/gui/gui_autogen/UVLADIE3JM/moc_tclCmdInputWidget.cpp:10,
                 from /home/zed/.cache/yay/openroad-git/src/OpenROAD/build/src/gui/gui_autogen/mocs_compilation.cpp:23:
/home/zed/.cache/yay/openroad-git/src/OpenROAD/build/src/gui/tclSwig.h: In function ‘int SWIG_Tcl_GetArgs(Tcl_Interp*, int, Tcl_Obj* const*, const char*, ...)’:
/home/zed/.cache/yay/openroad-git/src/OpenROAD/build/src/gui/tclSwig.h:1623:11: error: ‘Tcl_Size’ was not declared in this scope; did you mean ‘Tcl_Time’?
 1623 |           Tcl_Size *vlptr = (Tcl_Size *) va_arg(ap, void *);
      |           ^~~~~~~~
      |           Tcl_Time
/home/zed/.cache/yay/openroad-git/src/OpenROAD/build/src/gui/tclSwig.h:1623:21: error: ‘vlptr’ was not declared in this scope; did you mean ‘vptr’?
 1623 |           Tcl_Size *vlptr = (Tcl_Size *) va_arg(ap, void *);
      |                     ^~~~~
      |                     vptr
/home/zed/.cache/yay/openroad-git/src/OpenROAD/build/src/gui/tclSwig.h:1623:40: error: expected primary-expression before ‘)’ token
 1623 |           Tcl_Size *vlptr = (Tcl_Size *) va_arg(ap, void *);
      |                                        ^
make[2]: *** [src/gui/CMakeFiles/gui.dir/build.make:114: src/gui/CMakeFiles/gui.dir/gui_autogen/mocs_compilation.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:5642: src/gui/CMakeFiles/gui.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: openroad-git-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
openroad-git - exit status 4

Any clue what the problem is? Thanks

fansp commented on 2023-12-29 15:08 (UTC)

Thanks everyone! Now it works again.

CircuitCoder commented on 2023-12-27 01:00 (UTC)

I've made a PR to OpenROAD to fix its compatibility with fmtv10, which have been merged: https://github.com/The-OpenROAD-Project/OpenROAD/pull/4351

Now it should be possible to build from master without the patch.