Currently pre-built binaries for the following platforms are provided:
- Ubuntu 18.04 (64-bit)
- macOS 10.15
- Windows Server 2019 (x64)
GTK+2 needs to be installed for these binaries to work.
On Windows, the MSYS2 is the recommended way to install GTK+2. In MSYS2 MINGW64 shell:
pacman -S $MINGW_PACKAGE_PREFIX-gtk2
then you can run the threadscope binary from the shell.
Use git clone
or cabal get threadscope
to get the source and move into the threadscope directory.
GTK+2 is required to be installed. On Ubuntu-like systems:
sudo apt install libgtk2.0-dev
Then you can build threadscope using cabal:
cabal v2-build # to only build the project, or
cabal v2-install # to build and install the binary
Or using stack:
stack build # to only build the project, or
stack install # to build and install the binary
GTK+ is required:
brew install gtk+
Then you can build threadscope using cabal:
cabal --project-file=cabal.project.osx v2-build # to only build the project, or
cabal --project-file=cabal.project.osx v2-install # to build and install the binary
Or using stack:
stack --stack-yaml=stack.osx.yaml build # to only build the project, or
stack --stack-yaml=stack.osx.yaml install # to install the binary
Chocolatey can be used to install GHC and MSYS2 is the recommended way to install GTK+.
choco install ghc
refreshenv
set PATH=C:\\msys64\\mingw64\\bin;C:\\msys64\\usr\\bin;%PATH%
pacman -Sy mingw-w64-x86_64-gtk2
then you can build threadscope using cabal:
cabal v2-build
Or you can use stack instead.
CAVEAT: gtk2 needs to be installed twice: one for stack's MSYS2 environment and another for local MSYS2 environment.
In command prompt:
stack setup
stack exec -- pacman --needed -Sy bash pacman pacman-mirrors msys2-runtime msys2-runtime-devel
stack exec -- pacman -Syu
stack exec -- pacman -Syuu
stack exec -- pacman -S base-devel mingw-w64-x86_64-pkg-config mingw-w64-x86_64-toolchain mingw-w64-x86_64-gtk2
stack install
Then in MSYS2 MINGW64 shell:
pacman -S $MINGW_PACKAGE_PREFIX-gtk2
echo 'export PATH=$APPDATA/local/bin:$PATH' >> .profile
source .profile
threadscope
Building using stack is not tested in CI. If you find any issues with building with stack, please update the instructions and send a PR.