There is indeed a mistake in find_package usage (in CMakelist.txt),
whose correct syntax is:
find_package(<package> [version] [REQUIRED])
and not:
find_package(<package> [REQUIRED] [version])
(maybe the new cmake is less forgiving...)
The proper fix has been already committed upstream, but no new release
is available yet; so we have to add a temporary patch.
diff attached, please let me know if it's OK.
Copying ports@
On 31/12/2020 13:38, Christian Weisgerber wrote:
In my lastest amd64 bulk build, cad/opensta failed to build.
This looks like it may have been triggered by the cmake 3.19.1 update.
------------------------------------------------------------------------
Building on amd64-1 under cad/opensta
BDEPENDS =
[devel/cmake;devel/cudd;devel/swig;devel/bison;devel/ninja;lang/tcl/8.6]
DIST = [cad/opensta:OpenSTA-2.2.0.tar.gz]
FULLPKGNAME = opensta-2.2.0
RDEPENDS = [devel/cudd;lang/tcl/8.6]
(Junk lock obtained for amd64-1 at 1609392157.61)
Running depends in cad/opensta at 1609392157.67
last junk was in x11/kde-applications/kblackbox
/usr/sbin/pkg_add -aI -Drepair cudd-3.0.0p0 swig-3.0.12p1 tcl-8.6.8p2
was: /usr/sbin/pkg_add -aI -Drepair bison-3.3.2p2 cmake-3.19.1v0 cudd-3.0.0p0
ninja-1.10.2 swig-3.0.12p1 tcl-8.6.8p2
/usr/sbin/pkg_add -aI -Drepair cudd-3.0.0p0 swig-3.0.12p1 tcl-8.6.8p2
New and changed readme(s):
/usr/local/share/doc/pkg-readmes/tcl-8.6
--- +tcl-8.6.8p2 -------------------
You may wish to add /usr/local/lib/tcl/tcl8.6/man to /etc/man.conf
Running show-prepare-results in cad/opensta at 1609392166.03
===> cad/opensta
===> opensta-2.2.0 depends on: bison-* -> bison-3.3.2p2
===> opensta-2.2.0 depends on: swig-* -> swig-3.0.12p1
===> opensta-2.2.0 depends on: tcl->=8.6,<8.7 -> tcl-8.6.8p2
===> opensta-2.2.0 depends on: cmake-* -> cmake-3.19.1v0
===> opensta-2.2.0 depends on: ninja->=1.5.1 -> ninja-1.10.2
===> opensta-2.2.0 depends on: cudd-* -> cudd-3.0.0p0
===> Verifying specs: c++ c++abi pthread tcl86 c m z cudd
===> found c++.5.0 c++abi.3.0 pthread.26.1 tcl86.1.8 c.96.0 m.10.1 z.5.0
cudd.0.0
bison-3.3.2p2
cmake-3.19.1v0
cudd-3.0.0p0
ninja-1.10.2
swig-3.0.12p1
tcl-8.6.8p2
(Junk lock released for amd64-1 at 1609392166.90)
distfiles size=4873166
Running patch in cad/opensta at 1609392166.96
===> cad/opensta
===> Checking files for opensta-2.2.0
`/usr/ports/distfiles/OpenSTA-2.2.0.tar.gz' is up to date.
(SHA256) OpenSTA-2.2.0.tar.gz: OK
===> Extracting for opensta-2.2.0
===> Patching for opensta-2.2.0
===> Compiler link: clang -> /usr/bin/clang
===> Compiler link: clang++ -> /usr/bin/clang++
===> Compiler link: cc -> /usr/bin/cc
===> Compiler link: c++ -> /usr/bin/c++
Running configure in cad/opensta at 1609392167.68
===> cad/opensta
===> Generating configure for opensta-2.2.0
===> Configuring for opensta-2.2.0
cd /usr/obj/ports/opensta-2.2.0/OpenSTA-2.2.0/etc && perl -pi -e '$. == 1 &&
s!/\S*(?:/env\s+|bin/)(?:tcl|wi)sh\S*(\s+.+)?$!/usr/local/bin/tclsh8.6$1!;' -e '$. >= 3 && $. <= 30 &&
s!exec\s+(?:tcl|wi)sh.*$!exec /usr/local/bin/tclsh8.6 "\$0" \${1+"\$@"}!;' -e 'close ARGV if eof;' TclEncode.tcl
SwigCleanup.tcl
cd /usr/obj/ports/opensta-2.2.0/OpenSTA-2.2.0/test && perl -pi -e '$. == 1 &&
s!/\S*(?:/env\s+|bin/)(?:tcl|wi)sh\S*(\s+.+)?$!/usr/local/bin/tclsh8.6$1!;' -e '$. >= 3 && $. <= 30 &&
s!exec\s+(?:tcl|wi)sh.*$!exec /usr/local/bin/tclsh8.6 "\$0" \${1+"\$@"}!;' -e 'close ARGV if eof;' regression
-- The CXX compiler identification is Clang 10.0.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/obj/ports/opensta-2.2.0/bin/c++ -
skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- STA version: 2.2.0
-- STA git sha: GITDIR-NOTFOUND
-- System name: OpenBSD
-- Compiler: Clang 10.0.1
-- Build type: Release
-- Build CXX_FLAGS:
-- STA CXX_FLAGS:
-- Install prefix: /usr/local
-- Found FLEX: /usr/bin/flex (found version "2.5.39")
-- Found BISON: /usr/local/bin/bison (found version "3.3.2")
CMake Error at
/usr/local/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:218
(message):
Could NOT find SWIG (missing: 3.0) (found version "3.0.12")
Call Stack (most recent call first):
/usr/local/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:577
(_FPHSA_FAILURE_MESSAGE)
/usr/local/share/cmake/Modules/FindSWIG.cmake:138
(find_package_handle_standard_args)
CMakeLists.txt:294 (find_package)
-- Configuring incomplete, errors occurred!
See also "/usr/obj/ports/opensta-2.2.0/build-amd64/CMakeFiles/CMakeOutput.log".
*** Error 1 in cad/opensta (/usr/ports/infrastructure/mk/bsd.port.mk:2889
'do-configure': @cd /usr/obj/ports/opensta-2.2.0/build-amd64 && /u...)
*** Error 2 in cad/opensta (/usr/ports/infrastructure/mk/bsd.port.mk:2909
'/usr/obj/ports/opensta-2.2.0/build-amd64/.configure_done': @cd /u...)
*** Error 2 in cad/opensta (/usr/ports/infrastructure/mk/bsd.port.mk:2587
'configure': @lock=opensta-2.2.0; export _LOCKS_HELD=" opensta-2....)
===> Exiting cad/opensta with an error
*** Error 1 in /usr/ports (infrastructure/mk/bsd.port.subdir.mk:137
'configure': @: ${echo_msg:=echo}; : ${target:=configure}; for i in ; ...)
Ended at 1609392168.65
Error: job failed with 512 on amd64-1 at 1609392168
--
Alessandro De Laurenzis
[mailto:jus...@atlantide.mooo.com]
Web: http://www.atlantide.mooo.com
LinkedIn: http://it.linkedin.com/in/delaurenzis
Index: Makefile
===================================================================
RCS file: /cvs/ports/cad/opensta/Makefile,v
retrieving revision 1.8
diff -u -p -u -p -r1.8 Makefile
--- Makefile 25 Sep 2020 19:00:10 -0000 1.8
+++ Makefile 1 Jan 2021 13:38:30 -0000
@@ -5,6 +5,7 @@ COMMENT = Parallax Static Timing Analyze
GH_ACCOUNT = The-OpenROAD-Project
GH_PROJECT = OpenSTA
GH_TAGNAME = v2.2.0
+REVISION = 0
PKGNAME = ${DISTNAME:L}
CATEGORIES = cad
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: patches/patch-CMakeLists_txt
diff -N patches/patch-CMakeLists_txt
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-CMakeLists_txt 1 Jan 2021 13:38:30 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: CMakeLists.txt
+--- CMakeLists.txt.orig
++++ CMakeLists.txt
+@@ -291,7 +291,7 @@ add_flex_bison_dependency(SdfLex SdfParser)
+
+ ################################################################
+
+-find_package(SWIG REQUIRED 3.0)
++find_package(SWIG 3.0 REQUIRED)
+ include(UseSWIG)
+
+ set(STA_SWIG_FILE app/StaApp.i)