Posts Issued on June 10, 2024

bscのコンパイルとインストール

posted by sakurai on June 10, 2024 #813

bscのコンパイルとインストールをChatGPTの助けを借りながら実行しました。OSはFedora 40の場合です。

$ sudo dnf -y install ghc stack libX11-devel libXft-devel gperf bison flex itk-devel tk-devel itcl-devel tcl-devel g++ iverilog autoconf
$ git clone --recursive https://github.com/B-Lang-org/bsc.git bsc
$ cd bsc

bsc.cabalとstack.yamlを作成します。

$ echo "name:                bsc
version:             0.1.0.0
synopsis:            Brief description
description:         Longer description
license:             BSD3
author:              Author name
maintainer:          example@example.com
category:            Category
build-type:          Simple
cabal-version:       >=1.10
executable bsc
 main-is:             Main.hs
 build-depends:       base >=4.7 && <5
 hs-source-dirs:      src
 default-language:    Haskell2010" > bsc.cabal
$ echo "resolver: lts-18.0
    packages:
    - .
    extra-deps:
    - regex-compat-0.95.2.1
    - syb-0.7.2.4
    - old-time-1.1.0.4
    - split-0.2.5" > stack.yaml

Haskellのパッケージのバージョンを調べるためには、StackageHackageを利用します。ChatGPTに依頼しても調べて貰えます。

次にsrc/Main.hsが無いため作成します。

$ echo 'module Main where
    main :: IO ()
    main = putStrLn "Hello, BSC!"' > src/Main.hs

stackを用いて必要なライブラリをインストールします。

$ stack install regex-compat syb old-time split; stack update; stack build --only-dependencies; stack build
$ stack exec -- make install-src

これでコンパイルが始まるので、しばらく待ちます。終わったら以下のコマンドでインストールします。

$ sudo cp -r ./inst/bin/* /usr/local/bin/; sudo cp -r ./inst/lib/* /usr/local/lib/

何か不明な点があったらリファレンスマニュアルbsv例を調べてからフォーラムで質問します。


左矢前のブログ 次のブログ右矢