# The right way to update tidal on linux

**URL:** <https://uzu.lurk.org/t/the-right-way-to-update-tidal-on-linux/3334>\
**Category:** Uncategorized\
**Created:** [19 July 2021 06:45 UTC](https://uzu.lurk.org/t/the-right-way-to-update-tidal-on-linux/3334 "2021-07-19T06:45:47Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ndr\_brt](https://uzu.lurk.org/user_avatar/uzu.lurk.org/ndr_brt/32/396_2.png) [@ndr\_brt](https://uzu.lurk.org/u/ndr_brt)\
**Post date:** [19 July 2021 06:45 UTC](https://uzu.lurk.org/t/the-right-way-to-update-tidal-on-linux/3334/1 "2021-07-19T06:45:47Z")

</div>

Don't know, I've been using tidal for years, but I'm not able to update it!

The combination:

```haskell
cabal update
cabal install --lib tidal

```

tells me:

```haskell
Resolving dependencies...
Up to date

```

While if i try the "classic" `cabal install tidal` I get:

```haskell
Downloading tidal-1.7.8
Downloaded tidal-1.7.8
Starting tidal-1.7.8 (lib)
Building tidal-1.7.8 (lib)
Installing tidal-1.7.8 (lib)
Completed tidal-1.7.8 (lib)
Warning:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: Installation might not be completed as desired! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Without flags, the command "cabal install" doesn't expose libraries in a
usable manner. You might have wanted to run "cabal install --lib tidal".

```

But if I try again `cabal install --lib tidal` I get the same result as before.  
Seems like with the `--lib` flag it can't see the new version.

I know I can clear everything from ghc and cabal but I'm really curious how it works so we can improve the documentation

---

<div class="post-metadata">

**Author:** ![cleary](https://uzu.lurk.org/user_avatar/uzu.lurk.org/cleary/32/177_2.png) [@cleary](https://uzu.lurk.org/u/cleary)\
**Post date:** [19 July 2021 06:48 UTC](https://uzu.lurk.org/t/the-right-way-to-update-tidal-on-linux/3334/2 "2021-07-19T06:48:34Z")

</div>

Which distro/version?

---

<div class="post-metadata">

**Author:** ![ndr\_brt](https://uzu.lurk.org/user_avatar/uzu.lurk.org/ndr_brt/32/396_2.png) [@ndr\_brt](https://uzu.lurk.org/u/ndr_brt)\
**Post date:** [19 July 2021 06:59 UTC](https://uzu.lurk.org/t/the-right-way-to-update-tidal-on-linux/3334/3 "2021-07-19T06:59:33Z")

</div>

ubuntu 21.04  
cabal 3.4.0.0  
ghc 9.0.1

---

<div class="post-metadata">

**Author:** ![ndr\_brt](https://uzu.lurk.org/user_avatar/uzu.lurk.org/ndr_brt/32/396_2.png) [@ndr\_brt](https://uzu.lurk.org/u/ndr_brt)\
**Post date:** [19 July 2021 08:37 UTC](https://uzu.lurk.org/t/the-right-way-to-update-tidal-on-linux/3334/4 "2021-07-19T08:37:59Z")

</div>

I tried specifying the version and I got:

```haskell
cabal install --lib tidal-1.7.8
          
Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] next goal: tidal (user goal)
[__0] rejecting: tidal-1.7.8 (constraint from user target requires ==1.7.7)
[__0] rejecting: tidal-1.7.7, tidal-1.7.6, tidal-1.7.5, tidal-1.7.4,
tidal-1.7.3, tidal-1.7.2, tidal-1.7.1, tidal-1.7, tidal-1.6.1, tidal-1.6.0,
tidal-1.5.2, tidal-1.5.1, tidal-1.5.0, tidal-1.4.9, tidal-1.4.8, tidal-1.4.7,
tidal-1.4.6, tidal-1.4.5, tidal-1.4.4, tidal-1.4.3, tidal-1.4.2, tidal-1.4.1,
tidal-1.4.0, tidal-1.3.0, tidal-1.2.1, tidal-1.2.0, tidal-1.1.2, tidal-1.1.1,
tidal-1.1.0, tidal-1.0.14, tidal-1.0.13, tidal-1.0.12, tidal-1.0.11,
tidal-1.0.10, tidal-1.0.9, tidal-1.0.8, tidal-1.0.7, tidal-1.0.6, tidal-1.0.5,
tidal-1.0.4, tidal-1.0.3, tidal-1.0.2, tidal-1.0.1, tidal-1.0.0, tidal-0.9.10,
tidal-0.9.9, tidal-0.9.8, tidal-0.9.7, tidal-0.9.6, tidal-0.9.5, tidal-0.9.4,
tidal-0.9.3, tidal-0.9.2, tidal-0.9.1, tidal-0.9, tidal-0.8.2, tidal-0.8.1,
tidal-0.8, tidal-0.7.1, tidal-0.7, tidal-0.6, tidal-0.5.3, tidal-0.5.2,
tidal-0.5.1, tidal-0.5, tidal-0.4.36, tidal-0.4.35, tidal-0.4.34,
tidal-0.4.33, tidal-0.4.32, tidal-0.4.31, tidal-0.4.30, tidal-0.4.29.1,
tidal-0.4.29, tidal-0.4.28, tidal-0.4.27, tidal-0.4.26, tidal-0.4.24,
tidal-0.4.23, tidal-0.4.21, tidal-0.4.20, tidal-0.4.19, tidal-0.4.17,
tidal-0.4.16, tidal-0.4.15, tidal-0.4.14, tidal-0.4.13, tidal-0.4.12,
tidal-0.4.11, tidal-0.4.10, tidal-0.4.9, tidal-0.4.8, tidal-0.4.7,
tidal-0.4.6, tidal-0.4.5, tidal-0.4.4, tidal-0.4.3, tidal-0.4.2, tidal-0.4.1,
tidal-0.4, tidal-0.3.9, tidal-0.3.8, tidal-0.3.7, tidal-0.3.6, tidal-0.3.5,
tidal-0.3.4, tidal-0.3.3, tidal-0.3.2, tidal-0.3.1, tidal-0.3, tidal-0.2.13,
tidal-0.2.11, tidal-0.2.10, tidal-0.2.9, tidal-0.2.7, tidal-0.2.6,
tidal-0.2.4, tidal-0.2.3, tidal-0.2.2.8, tidal-0.2.2.7, tidal-0.2.2.6,
tidal-0.2.2, tidal-0.2.1, tidal-0.2, tidal-0.1.0.1, tidal-0.1 (constraint from
user target requires ==1.7.8)
[__0] fail (backjumping, conflict set: tidal)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: tidal

```

What does `constraint from user target requires ==1.7.7` mean?

---

<div class="post-metadata">

**Author:** ![ndr\_brt](https://uzu.lurk.org/user_avatar/uzu.lurk.org/ndr_brt/32/396_2.png) [@ndr\_brt](https://uzu.lurk.org/u/ndr_brt)\
**Post date:** [19 July 2021 08:43 UTC](https://uzu.lurk.org/t/the-right-way-to-update-tidal-on-linux/3334/5 "2021-07-19T08:43:30Z")

</div>

Resolved.

I removed the row referencing `tidal-1.7.7` from `.ghc/x86_64-linux-9.0.1/environments/default`  
Ran `cabal install --lib tidal` again.  
Happiness!

Would be interesting find a way to make cabal do that automatically.

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [20 July 2021 11:08 UTC](https://uzu.lurk.org/t/the-right-way-to-update-tidal-on-linux/3334/6 "2021-07-20T11:08:59Z")

</div>

The problem is that the new `cabal install` doesn't really work for our use case (installing a library and using it in an interpreter). It also gets confused if you mix the old `v1-install` commands. There is a lot of discussion and work about how to fix this, but so far there isn't a fix without installing extra experimental commands etc. So for now I stick with the v1- commands.

---

<div class="post-metadata">

**Author:** ![cleary](https://uzu.lurk.org/user_avatar/uzu.lurk.org/cleary/32/177_2.png) [@cleary](https://uzu.lurk.org/u/cleary)\
**Post date:** [22 July 2021 01:36 UTC](https://uzu.lurk.org/t/the-right-way-to-update-tidal-on-linux/3334/7 "2021-07-22T01:36:58Z")

</div>

Sorry for the late reply - I've had no dramas sticking with the `cabal install tidal` usage in my installer, I suspect that @yaxu 's comment about keeping it consistent is probably key (which I do, cause the installer does the work for me)
