Comments (14)
Btw, make check
runs until it needs bluetcl
from bsc.
That's great news! I haven't been actively working on a macOS build, but I'd certainly like to have one. Thanks for exploring this. At least we know we're moving in the right direction.
from bsc.
The libbdpi.so
issue is due to a bug in the build system when using the STP no-op stub. I have a fix for it.
I think having macOS (and eventually: windows!) builds is a noble goal. It's probably worth having bluetcl
in working order. Are you using tcl from something like homebrew? I'm not sure the best way to install tcl/tk/itcl/itk is, but that's the most important step at this point...
from bsc.
from bsc.
I'll try packaging itk/itcl for homebrew.
from bsc.
Turns out that MacOS's builtin tcl already has itk/itcl at /System/Library/Tcl/8.5. Perhaps it is best to try to use them instead of the homebrew versions.
from bsc.
I completely finished make STP_STUB=1
with system tcl/tk plus built-from-source itcl/itk.
System itcl/itk won't work because they don't come with stublib.
When make check
, run into this error:
Checking bsc compiles
bsc -sim FibOne.bsv
Elaborated module file created: mkFibOne.ba
Checking compile for Bluespec simulator
bsc -sim -o mkFibOne.bexe -e mkFibOne mkFibOne.ba
Bluesim object created: mkFibOne.{h,o}
Bluesim object created: model_mkFibOne.{h,o}
Simulation shared library created: mkFibOne.bexe.so
Simulation executable created: mkFibOne.bexe
./mkFibOne.bexe > smoke_test_bluesim.out
called Tcl_FindHashEntry on deleted table
called Tcl_FindHashEntry on deleted table
/bin/sh: line 1: 4762 Abort trap: 6 ./mkFibOne.bexe > smoke_test_bluesim.out
make[1]: *** [smoke_test_bluesim] Error 134
make: *** [check] Error 2
from bsc.
I removed the stublibs from the Makefile to use the system itcl/itk and it compiled fine. I did run into the same error you see. But when I looked at examples/smoke_test/smoke_test_bluesim.out, the output is all there, so mkFibOne.bexe
crashed only at the end. The error message seems quite common and people are blaming Tcl 8.5 and recommend trying 8.6 (https://groups.google.com/forum/#!topic/comp.lang.tcl/BKexjImWklo)
from bsc.
Now I can complete make
, with some small patches on Makefiles and stp.
It seems the only major issue is that bluetcl will report an error on exit.
from bsc.
Just for reference, the Tcl_Exit bug in question is this one: https://sourceforge.net/p/tcl/bugs/4043/
from bsc.
I got a Github action to build on MacOS 10.15: https://github.com/mtikekar/bsc/tree/mtikekar-macos. You can download the inst directory from https://github.com/mtikekar/bsc/actions/runs/49104659 and try it out. You'll need brew install tcl-tk
(version 8.6.10) to run.
from bsc.
Nice progress!
from bsc.
PR #98 gets BSC (with real STP) to compile on MacOS and adds it to CI. I'd appreciate if folks could review that PR and add any comments. I'd like to merge that PR, if there's consensus.
from bsc.
This is working on HEAD now, so I'll close the issue. Thanks everyone!
from bsc.
Related Issues (20)
- Bluesim leaves junk in loaded registers if the full range of hex digits isn't specified HOT 3
- uppercase names not allowed in interface property `arg_names` HOT 4
- bsc ignores `always_ready` when checking for duplicate wires
- module verilog does not allow sharing ports among conflicting methods
- Improve the mechanism for testing Bluespec Inc bug 1490 HOT 3
- `-dparsed` output produces invalid register updates with BSV HOT 2
- `-dparsed` produces invalid BSV module function that takes another module as an argument HOT 2
- Missing `Ord Bool` instance HOT 7
- Static check of file descriptor argument to tasks like $fgetc HOT 3
- Testsuite reports an error getting BSC version HOT 2
- Internal Compiler Error when quoting a character value. HOT 4
- Bluesim's symbol-probing interface has wrong values for FIFO
- Unresolved numeric contexts that should be resolvable HOT 6
- Verilog import fails in macro substitution HOT 2
- Unexpected syntax error HOT 1
- expandPorts.tcl has hardcoded paths which do not exist. HOT 1
- Unexpected behavior in Stmt sequence when using par HOT 2
- Bluesim divide-by-zero behavior is inconsistent on arm64 HOT 2
- Type synonyms with phantom parameters can lead to strange behaviors (E.g., compiler hang) HOT 4
- doc example for mkUniqueWrapper2 HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bsc.