Comments (5)
Bluespec had been building a "least-common denominator" release (not with GHC6 for years though) but gave that up and has been building separate releases for each of the supported OSes. Specifically, for various Debian and RHEL versions (which work respectively on Ubuntu and CentOS). The last release in 2019 was for Debian 8 and 9 and RHEL 7. Those were built using the GHC version installed on the OS. I think GHC 8.0 was the latest version being used in a release (we hadn't yet attempted a Debian10 release which is 8.4), though I'd run the source through 8.2, 8.4, and 8.8 compilers and added the if-defs needed to get it to compile.
from bsc.
In practice, for GHC, "Latest contemporary RHEL" + "Latest contemporary Debian" basically defined the lower bound for compilation support. Choosing one may be best. Many people substitute Debian with Ubuntu in this case. I think that's a good starting point, and soon enough Ubuntu 20.04 will be out.
More specifically, GHC 8.4 still sees a good amount of support since 8.10 hasn't come out yet, so I think that's an excellent starting point for compiler support, provided you're willing to go that far, and it means we should be able to use modern tooling and library versions without much hassle.
from bsc.
Just for my reference. GHC doesn't actually ship directly with RedHat Enterprise Linux 7, but it's part of the "EPEL" (Extra Packages for Enterprise Linux) repository. The version shipped there is GHC 7.6.3, so that's probably as old as we need to support.
http://mirror.arizona.edu/fedora-epel/7/x86_64/Packages/g/
https://www.haskell.org/downloads/linux#epel-for-rhelcentosetc
The good news is that means we get to use anything in the base libraries up to base-4.6
https://wiki.haskell.org/Base_package
Debian 8 is Jessie, and also packages GHC 7.6.3 https://packages.debian.org/jessie/ghc
Debian 9 is Stretch, which jumps to GHC 8.0.1 https://packages.debian.org/stretch/ghc
Debian 10 is Buster and moves up to GHC 8.4.4 https://packages.debian.org/buster/ghc
from bsc.
(I'll also note that if you're using Stack to provide your Haskell toolchain, the oldest working resolver they currently support is ghc-7.10.3 (and the newest right now is ghc-8.8.2)
ghc-7.8.4 exists too, but the version of cabal that comes with doesn't work properly.
from bsc.
On centos7, the default ghc version (7.6.3) doesn't build with the latest master. I had to upgrade to 8.0.2 to build successfully.
Steps:
yum install -y yum-plugin-copr
yum copr enable petersen/ghc-8.0.2
yum install -y ghc tk tk-devel tcl-devel tcl flex bison tcl-dev autoconf \
gperf git cabal-install gcc-c++ make cabal-install
cabal update
cabal install regex-compat syb old-time split
git clone https://github.com/B-Lang-org/bsc.git --recursive
cd bsc/
make all
make install
A note on centos installation would be good in the README.
from bsc.
Related Issues (20)
- CI should test BSC with newer GHC versions HOT 2
- ICE "inlining not complete" HOT 2
- SV preprocessor corner cases HOT 1
- Potential Bug in StmtFSM for-loop parsing HOT 3
- Using HLint
- SizeOf (in type of method with if-expression) remains after expanded (causing internal error) HOT 10
- STP_STUB option leads to build failure HOT 4
- Using the TEST_BSC_OPTIONS option leads to obvious testsuite failure
- YICES_STUB option leads to build failure HOT 3
- Properly support "enabled_when_ready" attribute for methods
- round robin not working in PAClib's unordered if-then-else HOT 1
- for make install-src i got this error can anyone help for this HOT 7
- The arg_names pragma for methods does not check length (in classic).
- Improve BH's module import to have more features like BSV's import-BVI
- Support a "clocked_by" syntax in BH module instantiations
- i got several error onthe installation process HOT 4
- Nondeterminism in ISyntax definition order
- bs classic: struct update syntax of struct from `import qualified` gives error for the wrong file. HOT 2
- Better distinguish between qualified imports and sub-imports
- assertion checks should have knowledge of rwire/creg internals HOT 5
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.