B-Lang-org / bdw

BSC Development Workstation (BDW)
Other
27 stars 8 forks source link

build failure on macOS Ventura 13.6 #12

Open kiniry opened 10 months ago

kiniry commented 10 months ago

I attempted to build BDW this morning on my macOS 13.6 / x86 system.

I have both the built-in tcl/tk installed (it is version 8.5), as well as Homebrew's tcl/tk (version 8.6). tclselect reports that the 8.6 version is selected, and the Homebrew version is at the front of the path.

Attempting to build bdw results in an error in the src/tk subdirectory when running tclIndex.sh.

make -C tk             PREFIX=/Users/kiniry/Dropbox/GPT_for_hardware_design/bdw/inst install
make[2]: Entering directory '/Users/kiniry/Library/CloudStorage/Dropbox/GPT_for_hardware_design/bdw/src/tk'
TCLSH=bluetcl ./tclIndex.sh "msgbox.tcl tkfbox.tcl " ""
panic: InitTypes: failed to find the DictUpdateInfo AuxData type
make[2]: *** [Makefile:22: tclIndex] Abort trap: 6

Looking at the shell script, which includes a home-grown version of pkg_mkIndex, it looks like built-in symbols are causing a problem.

It isn't clear to me if/how building a package index is necessary for the rest of the BDW build. I'm afraid that I haven't used tcl/tk since 1995. From what I can see, neither the built-in and Homebrew tcl/tk installs actually come with pkg_mkIndex.

kiniry commented 10 months ago

It looks like pkg_mkIndex was deprecated some time ago, and there are/were complaints about its use/design.

The home-grown version included in BDW seems to be a mitigation for this. That said, the errors seem to relate to built-in Tcl types that I only see mentioned in the runtime.

quark17 commented 10 months ago

Hi Joe! Getting BDW working again on macOS is important to me, as is modernizing any old code. There was a discussion of this in the BSC repo, at b-lang-org/bsc#504. In one comment there are links to a fork containing commits to get things working. One thing that the fork does is to revert commit e76c56fc in BSC, which intentionally excludes Homebrew's tcl. However, as I reported a year ago, I tried it on my mac and it didn't work. I am using old hardware that isn't supported by newer macOS versions, so I'm currently at macOS 11.7.10.

Unfortunately, I'm not up to date on tcl/tk or on macOS development; hopefully someone else following along is able to offer some help.