Installing reflex-dom likely to break ghcjs

313 views Asked by At

I am trying to install reflex and reflex-dom using cabal install I got the following error messages:

$ cabal install reflex-dom

...

cabal: The following packages are likely to be broken by the reinstalls:
lens-4.15.1
ghcjs-0.2.0
free-4.12.4
kan-extensions-5.0.1
adjunctions-4.3
Use --force-reinstalls if you want to install anyway.

ghcjs on GitHub is at 0.2.0 on the "master" branch and 0.2.1 on a branch called "dedupe". And I am also scared of breaking lens. Is there any way to install reflex and reflex-dom in a consistant way? Maybe I need to change the .cabal file


Here is the full response from terminal

$ cabal install reflex-dom

Resolving dependencies...
In order, the following would be installed:
bifunctors-5.3 (latest: 5.4.1) (via: reflex-dom-0.3 these-0.6.2.1 lens-4.13.2.1 free-4.12.4 semigroupoids-5.0.1 profunctors-5.2) (new version)
data-default-instances-base-0.1.0.1 (via: data-default-0.5.3) (new package)
data-default-0.5.3 (latest: 0.7.1.1) (via: reflex-dom-0.3) (new version)
dependent-sum-0.3.2.2 (latest: 0.4) (via: reflex-dom-0.3 reflex-0.4.0 dependent-sum-template-0.0.0.5 dependent-map-0.2.4.0) (new package)
dependent-map-0.2.4.0 (via: reflex-dom-0.3 reflex-0.4.0) (new package)
exception-transformers-0.4.0.5 (via: reflex-dom-0.3 reflex-0.4.0) (new package)
haskell-src-exts-1.17.1 (latest: 1.19.1) (via: reflex-0.4.0 haskell-src-meta-0.6.0.14) (new version)
haskell-src-meta-0.6.0.14 (latest: 0.7.0.1) (via: reflex-0.4.0) (new version)
profunctors-5.2 (via: these-0.6.2.1 lens-4.13.2.1 adjunctions-4.3 free-4.12.4) (reinstall) (changes: bifunctors-5.4.1 -> 5.3)
raw-strings-qq-1.1 (via: reflex-dom-0.3) (new package)
ref-tf-0.4.0.1 (via: reflex-dom-0.3 reflex-0.4.0) (new package)
semigroupoids-5.0.1 (latest: 5.1) (via: these-0.6.2.1 lens-4.13.2.1 kan-extensions-5.0.1 adjunctions-4.3 free-4.12.4) (new version)
free-4.12.4 (via: lens-4.13.2.1 kan-extensions-5.0.1 adjunctions-4.3) (reinstall) (changes: bifunctors-5.4.1 -> 5.3, semigroupoids-5.1 -> 5.0.1)
adjunctions-4.3 (via: kan-extensions-5.0.1) (reinstall) (changes: semigroupoids-5.1 -> 5.0.1)
kan-extensions-5.0.1 (via: lens-4.13.2.1) (reinstall) (changes: semigroupoids-5.1 -> 5.0.1)
lens-4.13.2.1 (latest: 4.15.1) (via: reflex-dom-0.3) (new version)
th-extras-0.0.0.4 (via: dependent-sum-template-0.0.0.5) (new package)
dependent-sum-template-0.0.0.5 (via: reflex-dom-0.3) (new package)
these-0.6.2.1 (latest: 0.7.3) (via: reflex-dom-0.3 reflex-0.4.0) (new package)
reflex-0.4.0 (via: reflex-dom-0.3) (new package)
utf8-string-1.0.1.1 (via: glib-0.13.4.1 cairo-0.13.3.1) (new package)
cairo-0.13.3.1 (via: webkitgtk3-0.14.2.1 gtk3-0.14.6 pango-0.13.3.1) (new package)
glib-0.13.4.1 (via: reflex-dom-0.3 webkitgtk3-javascriptcore-0.13.2.0 ghcjs-dom-0.2.4.0 webkitgtk3-0.14.2.1 gtk3-0.14.6 pango-0.13.3.1 gio-0.13.3.1) (new package)
gio-0.13.3.1 (via: gtk3-0.14.6) (new package)
pango-0.13.3.1 (via: webkitgtk3-0.14.2.1 gtk3-0.14.6) (new package)
gtk3-0.14.6 (via: reflex-dom-0.3 webkitgtk3-javascriptcore-0.13.2.0 ghcjs-dom-0.2.4.0 webkitgtk3-0.14.2.1) (new package)
webkitgtk3-0.14.2.1 (via: reflex-dom-0.3 webkitgtk3-javascriptcore-0.13.2.0 ghcjs-dom-0.2.4.0) (new package)
ghcjs-dom-0.2.4.0 (latest: 0.7.0.4) (via: reflex-dom-0.3) (new package)
webkitgtk3-javascriptcore-0.13.2.0 (latest: 0.14.2.1) (via: reflex-dom-0.3) (new package)
reflex-dom-0.3 (new package)
cabal: The following packages are likely to be broken by the reinstalls:
lens-4.15.1
ghcjs-0.2.0
Use --force-reinstalls if you want to install anyway.

and similar for installing reflex

$ cabal install reflex

Resolving dependencies...
In order, the following would be installed:
bifunctors-5.3 (latest: 5.4.1) (via: these-0.6.2.1 semigroupoids-5.0.1 profunctors-5.2) (new version)
dependent-sum-0.3.2.2 (latest: 0.4) (via: reflex-0.4.0 dependent-map-0.2.4.0) (new package)
dependent-map-0.2.4.0 (via: reflex-0.4.0) (new package)
exception-transformers-0.4.0.5 (via: reflex-0.4.0) (new package)
haskell-src-exts-1.17.1 (latest: 1.19.1) (via: reflex-0.4.0 haskell-src-meta-0.6.0.14) (new version)
haskell-src-meta-0.6.0.14 (latest: 0.7.0.1) (via: reflex-0.4.0) (new version)
profunctors-5.2 (via: these-0.6.2.1) (reinstall) (changes: bifunctors-5.4.1 -> 5.3)
ref-tf-0.4.0.1 (via: reflex-0.4.0) (new package)
semigroupoids-5.0.1 (latest: 5.1) (via: these-0.6.2.1) (new version)
these-0.6.2.1 (latest: 0.7.3) (via: reflex-0.4.0) (new package)
reflex-0.4.0 (new package)
cabal: The following packages are likely to be broken by the reinstalls:
lens-4.15.1
ghcjs-0.2.0
free-4.12.4
kan-extensions-5.0.1
adjunctions-4.3
Use --force-reinstalls if you want to install anyway.
1

There are 1 answers

1
Dave Compton On BEST ANSWER

The best way that I know of to install reflex and reflex-dom (and ghcjs too) in a consistent way on a linux environment is to follow the setup instructions on the reflex-platform readme .

The process amounts to cloning the reflex-platform repository and running a script, "try-reflex" from inside that repository. The try-reflex script starts a shell from which you can run ghcjs will full access to reflex/reflex-dom . This shell environment is independent of what you previously installed on your computer so you don't have to worry about messing up lenses or any other cabal package you already have in place.