Closed proppy closed 1 year ago
This renames disable-mpl2.patch
to disable-mpl2-and-par.patch
inside meta.yaml
, but doesn't change the filename. Is there another patchfile that's missing?
This renames disable-mpl2.patch to disable-mpl2-and-par.patch inside meta.yaml, but doesn't change the filename. Is there another patchfile that's missing?
Ah yes, nice catch!
@xobs update, PTAL
The file exists now, but there is still no change when building on osx-arm64:
-- Found FLEX: $BUILD_PREFIX/bin/flex (found version "2.6.4")
-- TCL library: TCL_LIBRARY-NOTFOUND
-- TCL header: TCL_HEADER-NOTFOUND
-- SSTA: 0
-- STA executable: $SRC_DIR/src/sta/app/sta
-- GPU is not enabled
CMake Error at src/par/CMakeLists.txt:44 (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.
-- Configuring incomplete, errors occurred!
See also "$SRC_DIR/build/CMakeFiles/CMakeOutput.log".
See also "$SRC_DIR/build/CMakeFiles/CMakeError.log".
@xobs another good catch :) https://github.com/hdl/conda-eda/pull/294/commits/b7c364a43f8675fcf60f21dc910e802a8a0fffc2 should address this.
It gets slightly further! Now it dies on openmp not existing as a dependency,
My current patch looks like:
diff --git a/pnr/openroad/meta.yaml b/pnr/openroad/meta.yaml
index f052c91..c30a479 100644
--- a/pnr/openroad/meta.yaml
+++ b/pnr/openroad/meta.yaml
@@ -41,12 +41,14 @@ requirements:
- python
- libboost 1.73
- eigen 3.3
- - spdlog 1.8.1
+ - spdlog 1.11
- readline
- tk
- zlib
- fmt
- - libgomp
+ - libgomp [not osx]
+ - libprotobuf [osx]
+ - llvm-openmp [osx]
run:
# missing run_exports
- {{ pin_compatible('libboost', min_pin='x.x', max_pin='x.x') }}
Now it's looking for vtune, which I guess is an Intel product? No surprise that doesn't exist for arm64...
Does it work with the non -openmpm
version of llvm
?
If I remove llvm-llvm-openmp
then it complains about libopenmp not existing. Adding that as a dependency allows it to get further.
My mistake, the vtune error was directly above a boost error. Boost is listed as 1.73 but the oldest version is 1.78. Let me keep going...
It looks like there's a file in utl
that still requires boost 1.78, but conda only provides 1.73:
diff --git a/pnr/openroad/boost-set-version.patch b/pnr/openroad/boost-set-version.patch
index d9f8066..6accd56 100644
--- a/pnr/openroad/boost-set-version.patch
+++ b/pnr/openroad/boost-set-version.patch
@@ -11,3 +11,16 @@ index 293ea212c..425d1ca4b 100755
message(STATUS "boost: ${Boost_VERSION}")
find_package(Python3 COMPONENTS Development REQUIRED)
option(BUILD_PYTHON "Build the Python3 interface" ON)
+diff --git a/src/utl/CMakeLists.txt b/src/utl/CMakeLists.txt
+index a795da4d1..db52c9dd4 100644
+--- a/src/utl/CMakeLists.txt
++++ b/src/utl/CMakeLists.txt
+@@ -35,7 +35,7 @@
+
+ include("openroad")
+
+-find_package(Boost 1.78 REQUIRED)
++find_package(Boost 1.73 REQUIRED)
+
+ swig_lib(NAME utl
+ NAMESPACE utl
@xobs reworked the patches to remove boost 1.78 requirements (span
was only used in a test), see: https://github.com/hdl/conda-eda/pull/294/commits/c1c9d9b1df33289c2ba9402df411497fffca1730#diff-7f8bcde4a2b216107b41a1d494d696f6c9f62379bdbd55db93b259cc54aa91b0
This builds on osx-arm64 with the following patch:
diff --git a/pnr/openroad/build.sh b/pnr/openroad/build.sh
index 125619d..7134c03 100644
--- a/pnr/openroad/build.sh
+++ b/pnr/openroad/build.sh
@@ -22,5 +22,5 @@ cmake -B build -DCMAKE_INSTALL_PREFIX=$PREFIX .
cmake --build build -j $CPU_COUNT --target install
cd $SRC_DIR
-cmake -B build -DCMAKE_FIND_ROOT_PATH="$BUILD_PREFIX;$PREFIX" -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=ONLY -DUSE_SYSTEM_BOOST=ON -DINSTALL_LIBOPENSTA=OFF -DBUILD_GUI=OFF -DBUILD_MPL2=OFF -DBUILD_PAR=OFF -DCMAKE_INSTALL_PREFIX=$PREFIX .
+cmake -B build -DTCL_LIB_PATHS="$BUILD_PREFIX;$PREFIX" -DCMAKE_FIND_ROOT_PATH="$BUILD_PREFIX;$PREFIX" -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=ONLY -DUSE_SYSTEM_BOOST=ON -DINSTALL_LIBOPENSTA=OFF -DBUILD_GUI=OFF -DBUILD_MPL2=OFF -DBUILD_PAR=OFF -DCMAKE_INSTALL_PREFIX=$PREFIX .
cmake --build build -j $CPU_COUNT --target install
diff --git a/pnr/openroad/meta.yaml b/pnr/openroad/meta.yaml
index 2c26d3e..9fc58ff 100644
--- a/pnr/openroad/meta.yaml
+++ b/pnr/openroad/meta.yaml
@@ -41,12 +41,13 @@ requirements:
- python
- libboost 1.73
- eigen 3.3
- - spdlog 1.8.1
+ - spdlog 1.9
- readline
- tk
- zlib
- fmt
- - libgomp
+ - libgomp [not osx]
+ - llvm-openmp [osx]
run:
# missing run_exports
- {{ pin_compatible('libboost', min_pin='x.x', max_pin='x.x') }}
However, when I install the resulting package it installs spd-1.11.0, which doesn't work:
❯ openroad -version (eda)
dyld[6457]: Library not loaded: @rpath/libspdlog.1.dylib
Referenced from: <3648B3B4-D7C9-36C1-84CA-6AF9A987C84E> /opt/homebrew/Caskroom/miniconda/base/envs/eda/bin/openroad
Reason: tried: '/opt/or-tools/lib64/libspdlog.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/or-tools/lib64/libspdlog.1.dylib' (no such file), '/opt/or-tools/lib/libspdlog.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/or-tools/lib/libspdlog.1.dylib' (no such file), '/opt/homebrew/Caskroom/miniconda/base/envs/eda/bin/../lib/libspdlog.1.dylib' (no such file), '/opt/or-tools/lib64/libspdlog.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/or-tools/lib64/libspdlog.1.dylib' (no such file), '/opt/or-tools/lib/libspdlog.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/or-tools/lib/libspdlog.1.dylib' (no such file), '/opt/homebrew/Caskroom/miniconda/base/envs/eda/bin/../lib/libspdlog.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS@rpath/libspdlog.1.dylib' (no such file), '/opt/or-tools/lib64/libspdlog.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/or-tools/lib64/libspdlog.1.dylib' (no such file), '/opt/or-tools/lib/libspdlog.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/or-tools/lib/libspdlog.1.dylib' (no such file), '/opt/homebrew/Caskroom/miniconda/base/envs/eda/bin/../lib/libspdlog.1.dylib' (no such file), '/opt/or-tools/lib64/libspdlog.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/or-tools/lib64/libspdlog.1.dylib' (no such file), '/opt/or-tools/lib/libspdlog.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/or-tools/lib/libspdlog.1.dylib' (no such file), '/opt/homebrew/Caskroom/miniconda/base/envs/eda/bin/../lib/libspdlog.1.dylib' (no such file), '/usr/local/lib/libspdlog.1.dylib' (no such file), '/usr/lib/libspdlog.1.dylib' (no such file, not in dyld cache)
fish: Job 1, 'openroad -version' terminated by signal SIGABRT (Abort)
Installing spdlog=1.9
fixes the issue:
❯ conda install spdlog=1.9 (eda)
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /opt/homebrew/Caskroom/miniconda/base/envs/eda
added / updated specs:
- spdlog=1.9
The following packages will be DOWNGRADED:
fmt 9.1.0-h48ca7d4_0 --> 8.1.1-h525c30c_1
spdlog 1.11.0-h48ca7d4_0 --> 1.9.2-h525c30c_0
Proceed ([y]/n)?
Downloading and Extracting Packages
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
sean in 🌐 Garlemald in conda-eda on fix-openroad [$!?] via 🅒 eda took 4s
❯ openroad -version (eda)
5c85b36f8d50975d4e57af6678a0bbfe62046f0e
sean in 🌐 Garlemald in conda-eda on fix-openroad [$!?] via 🅒 eda
❯
We can apply those patches in another PR. For now, LGTM!
rebased and squashed.
host
dependenciespar
(similar to #259)