Open stefanottili opened 2 weeks ago
@stefanottili it doesn't looks like 9.0 would be supported at the moment, we would have to update SWIG as well (atleast to 4.2.1: https://www.swig.org/)
Can brew support installing a selected version? If so that is the easiest solution. I have no plan to deal with a tcl + swig upgrade.
yes, homebrew can have multiple tcl-tk versions installed.
E.g. git-gui still uses tcl-tk 8.6.
On homebrew it's installed as /opt/homebrew/top/tcl-tk@8@ -> ../Cellar/tcl-tk@8/8.6.15
brew uninstall tcl-tk
uninstalls tcl-tk 9.0, but it seems that yosys doesn't pick up tcl-tk@8
./build_openroad.sh --local
fails with
[INFO FLW-0017] Compiling Yosys.
$BREW_PREFIX is [/opt/homebrew/opt]
[ 16%] Building frontends/verilog/verilog_lexer.o
[ 26%] Building yosys-filterlib
[ 26%] Building share/gatemate/lut_tree_cells.genlib
ld: warning: ignoring duplicate libraries: '-lc++'
ld: library 'tcl8.6' not found
ln -s /opt/homebrew/opt/tcl-tk@8 /opt/homebew/opt/tclk-tk
gets yosys and openroad to build, but that's a hacky workaround
1) yosys needs to be taught about tcl-tk@8 on homebrew.
It might be able to use env-vars, have not checked yet, does anybody know ?
2) it seems that adding /opt/homebrew/opt/tcl-tk@8
to FindTCL.tcl might work for openroad without having to set TCL_LIB_PATHS
33 # tcl lib path guesses.
34 if (NOT TCL_LIB_PATHS)
35 if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
36 set(TCL_LIB_PATHS /usr/local/lib
37 /opt/homebrew/opt/tcl-tk/lib
38 /opt/homebrew/opt/tcl-tk@8/lib
39 /usr/local/opt/tcl-tk/lib
40 )
Describe the bug
brew upgrade
changed tcl-tk from 8.6 to 9.0, this broke the configure stepAdding
tcl90 tcl9.0
toset TCL_POSSIBLE_NAMES
in./cmake/FindTCL.cmake
allows configure to finish. It claims find the tcl lib, but not the tcl headers.Despite this, it compiles just fine. But at the end openroad fails to be linked.
/opt/homebrew/opt/tcl-tk/lib/libtcl9.0.dylib
is specified in the link command multiple times. See themake VERBOSE=1
output below.I didn't have to update TCL_POSSIBLE_NAMES in
sta/cmake/FindTCL.cmake
...Expected Behavior
Be able to link the openroad executable.
Environment
To Reproduce
brew upgrade ./build_openroad.sh --local --latest
Relevant log output
Screenshots
No response
Additional Context
No response