# Installing tidal from source on archlinux

**URL:** <https://uzu.lurk.org/t/installing-tidal-from-source-on-archlinux/2448>\
**Category:** TidalCycles\
**Tags:** installation\
**Created:** [16 November 2020 07:55 UTC](https://uzu.lurk.org/t/installing-tidal-from-source-on-archlinux/2448 "2020-11-16T07:55:05Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![tgirod](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/t/35a633/32.png) [@tgirod](https://uzu.lurk.org/u/tgirod)\
**Post date:** [16 November 2020 07:55 UTC](https://uzu.lurk.org/t/installing-tidal-from-source-on-archlinux/2448/1 "2020-11-16T07:55:06Z")

</div>

Hi!

Recently I tried to install tidal from sources in order to test unreleased features (looking at you, `extract`).

Unfortunately I could not make it work. Apparently, the way haskell libraries are packaged on archlinux is rather involved (and way above my head). Here is a snippet from the official `haskell-tidal` package:

```haskell
  runhaskell Setup configure -O \
                             --enable-shared \
                             --enable-executable-dynamic \
                             --disable-library-vanilla \
                             --prefix=/usr \
                             --docdir="/usr/share/doc/${pkgname}" \
                             --enable-tests \
                             --dynlibdir=/usr/lib \
                             --libsubdir=\$compiler/site-local/\$pkgid

```

So I've made a few modifications to the official `haskell-tidal` arch package so it installs from git master instead of realease 1.6.1. It is here, if anyone is interested.

[https://aur.archlinux.org/packages/haskell-tidal-git/](https://aur.archlinux.org/packages/haskell-tidal-git/)

For further reference, here is the error I get when trying to install from source:

```haskell
$ cabal install --lib
cabal: Could not resolve dependencies:
[__0] trying: tidal-1.6.2 (user goal)
[__1] trying: bifunctors-5.5.8/installed-G2ohmCwfIb36bk3sGXZFKJ (dependency of
tidal)
[__2] trying: template-haskell-2.16.0.0/installed-2.16.0.0 (dependency of
bifunctors)
[__3] trying: base-4.14.1.0/installed-4.14.1.0 (dependency of tidal)
[__4] next goal: tidal-parse (user goal)
[__4] rejecting: tidal-parse-0.0.1 (conflict: bifunctors =>
template-haskell==2.16.0.0/installed-2.16.0.0, tidal-parse =>
template-haskell>=2.10.0.0 && <2.15)
[__4] fail (backjumping, conflict set: bifunctors, tidal-parse)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: tidal, base, bifunctors,
template-haskell, tidal-parse
Try running with --minimize-conflict-set to improve the error message.

```

---

<div class="post-metadata">

**Author:** ![jwaldmann](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/j/977dab/32.png) [@jwaldmann](https://uzu.lurk.org/u/jwaldmann)\
**Post date:** [15 December 2020 19:49 UTC](https://uzu.lurk.org/t/installing-tidal-from-source-on-archlinux/2448/2 "2020-12-15T19:49:11Z")

</div>

Could you resolve this? Is this about how to modify the arch linux package (then: can you build the unmodified package?) or how to build on your own? (then: try adding `--allow-newer` to `cabal install --lib`)

Of course that's risky (not reproducible) because it will use libary versions that `cabal` thinks are "newest" at build time. In fact, not necessarily "use" but "consider for dependency resolution".

---

<div class="post-metadata">

**Author:** ![tgirod](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/t/35a633/32.png) [@tgirod](https://uzu.lurk.org/u/tgirod)\
**Post date:** [17 December 2020 11:39 UTC](https://uzu.lurk.org/t/installing-tidal-from-source-on-archlinux/2448/3 "2020-12-17T11:39:18Z")

</div>

No I could not solve the problem. My haskell knowledge is old and rusty, and my cabal knowledge completely inexistent ...

---

<div class="post-metadata">

**Author:** ![usrfriendly](https://uzu.lurk.org/user_avatar/uzu.lurk.org/usrfriendly/32/2394_2.png) [@usrfriendly](https://uzu.lurk.org/u/usrfriendly)\
**Post date:** [21 December 2020 08:27 UTC](https://uzu.lurk.org/t/installing-tidal-from-source-on-archlinux/2448/4 "2020-12-21T08:27:36Z")

</div>

Arch has the issue where it packages Haskell stuff to compile dynamically. The only way I found around it back when I was installing Tidal from source on it (before there was an offcial package) was to install ghc-pristine from the AUR and point cabal to use the ghc symlink as the compiler. [I basically did it straight out of the wiki.](https://wiki.archlinux.org/index.php/Haskell#Static_linking)

---

<div class="post-metadata">

**Author:** ![tgirod](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/t/35a633/32.png) [@tgirod](https://uzu.lurk.org/u/tgirod)\
**Post date:** [22 December 2020 12:05 UTC](https://uzu.lurk.org/t/installing-tidal-from-source-on-archlinux/2448/5 "2020-12-22T12:05:30Z")

</div>

thanks for the info, it explains a lot!
