fjvallarino/monomer

Just informing on upstream issue (nanovg, GHC 9.4.x and later)

Closed this issue · 9 comments

nanovg is currently supporting Text less than 1.3, which means that 9.4.x GHC won't build monomer 1.5.x out of the box due to a dependency conflict. I'm not sure how to hack it so that later GHCs will work.

Monomer 1.4.x, of course, will still install on GHC 9.4.x, but not 9.6.x.

@liamzee the upper bounds for nanovg were updated but, for some reason, stack is not updating the local nanovg version. Building nanovg with the updated bounds work well. I'll look into it during the weekend.

If you're using Cabal, it will probably build after running cabal update.

Thanks for the update!

I think Text2.0 swapped everything from UTF-16 to UTF-8 by default, resulting in performance improvements but possible breakage. And as I've said with nanovg, I consider myself a noob, so I wasn't going to PR it.

mtl constraints on GHC 9.6.1 are now causing issues.

I just relaxed mtl's upper bound so it accepts 2.3.1. Let me know if it fixes the issue.

That version is not in the latest Stackage nightly, interestingly.

Well, I guess there's a reason it's not in the latest Stackage nightly (i.e, I'm told people working cutting edge often decide to wait until 9.x.2 before swapping over).

Semigroupoids is breaking on my machine, as in, it gets an instance error and won't compile. Interesting.

C:\cabal\logs\ghc-9.4.5\semigroupoids-6.0.0.1-75412d393f1e8b2dc49f10d849f1d8219c284abf.log
):
Preprocessing library for semigroupoids-6.0.0.1..
Building library for semigroupoids-6.0.0.1..
[ 1 of 27] Compiling Data.Functor.Extend ( src\Data\Functor\Extend.hs, dist\build\Data\Functor\Extend.o )
[ 2 of 27] Compiling Data.Semigroup.Foldable.Class ( src\Data\Semigroup\Foldable\Class.hs, dist\build\Data\Semigroup\Foldable\Class.o )
[ 3 of 27] Compiling Data.Traversable.Instances ( src\Data\Traversable\Instances.hs, dist\build\Data\Traversable\Instances.o )
[ 4 of 27] Compiling Semigroupoids.Internal ( src\Semigroupoids\Internal.hs, dist\build\Semigroupoids\Internal.o )
[ 5 of 27] Compiling Data.Functor.Bind.Class ( src\Data\Functor\Bind\Class.hs, dist\build\Data\Functor\Bind\Class.o )
[ 6 of 27] Compiling Data.Functor.Apply ( src\Data\Functor\Apply.hs, dist\build\Data\Functor\Apply.o )
[ 7 of 27] Compiling Data.Semigroup.Bifoldable ( src\Data\Semigroup\Bifoldable.hs, dist\build\Data\Semigroup\Bifoldable.o )
[ 8 of 27] Compiling Data.Functor.Contravariant.Divise ( src\Data\Functor\Contravariant\Divise.hs, dist\build\Data\Functor\Contravariant\Divise.o )
[ 9 of 27] Compiling Data.Functor.Contravariant.Decide ( src\Data\Functor\Contravariant\Decide.hs, dist\build\Data\Functor\Contravariant\Decide.o )
[10 of 27] Compiling Data.Functor.Contravariant.Conclude ( src\Data\Functor\Contravariant\Conclude.hs, dist\build\Data\Functor\Contravariant\Conclude.o )
[11 of 27] Compiling Data.Functor.Bind ( src\Data\Functor\Bind.hs, dist\build\Data\Functor\Bind.o )
[12 of 27] Compiling Data.Semigroupoid ( src\Data\Semigroupoid.hs, dist\build\Data\Semigroupoid.o )
[13 of 27] Compiling Data.Semigroupoid.Ob ( src\Data\Semigroupoid\Ob.hs, dist\build\Data\Semigroupoid\Ob.o )
[14 of 27] Compiling Data.Semigroupoid.Dual ( src\Data\Semigroupoid\Dual.hs, dist\build\Data\Semigroupoid\Dual.o )
[15 of 27] Compiling Data.Semigroupoid.Categorical ( src\Data\Semigroupoid\Categorical.hs, dist\build\Data\Semigroupoid\Categorical.o )
[16 of 27] Compiling Data.Groupoid ( src\Data\Groupoid.hs, dist\build\Data\Groupoid.o )
[17 of 27] Compiling Data.Isomorphism ( src\Data\Isomorphism.hs, dist\build\Data\Isomorphism.o )
[18 of 27] Compiling Data.Functor.Bind.Trans ( src\Data\Functor\Bind\Trans.hs, dist\build\Data\Functor\Bind\Trans.o )
[19 of 27] Compiling Data.Bifunctor.Apply ( src\Data\Bifunctor\Apply.hs, dist\build\Data\Bifunctor\Apply.o )
[20 of 27] Compiling Data.Functor.Alt ( src\Data\Functor\Alt.hs, dist\build\Data\Functor\Alt.o )
[21 of 27] Compiling Data.Semigroup.Foldable ( src\Data\Semigroup\Foldable.hs, dist\build\Data\Semigroup\Foldable.o )
[22 of 27] Compiling Data.Semigroup.Traversable.Class ( src\Data\Semigroup\Traversable\Class.hs, dist\build\Data\Semigroup\Traversable\Class.o )

src\Data\Semigroup\Traversable\Class.hs:183:10: error: [GHC-39999]
* Could not deduce Foldable1 (IdentityT f)' arising from the superclasses of an instance declaration from the context: Traversable1 f bound by the instance declaration at src\Data\Semigroup\Traversable\Class.hs:183:10-53 * In the instance declaration for Traversable1 (IdentityT f)'
|
183 | instance Traversable1 f => Traversable1 (IdentityT f) where
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src\Data\Semigroup\Traversable\Class.hs:186:10: error: [GHC-39999]
* Could not deduce Foldable1 (Backwards f)' arising from the superclasses of an instance declaration from the context: Traversable1 f bound by the instance declaration at src\Data\Semigroup\Traversable\Class.hs:186:10-53 * In the instance declaration for Traversable1 (Backwards f)'
|
186 | instance Traversable1 f => Traversable1 (Backwards f) where
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src\Data\Semigroup\Traversable\Class.hs:189:10: error: [GHC-39999]
* Could not deduce Foldable1 (Lift f)' arising from the superclasses of an instance declaration from the context: Traversable1 f bound by the instance declaration at src\Data\Semigroup\Traversable\Class.hs:189:10-48 * In the instance declaration for Traversable1 (Lift f)'
|
189 | instance Traversable1 f => Traversable1 (Lift f) where
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src\Data\Semigroup\Traversable\Class.hs:193:10: error: [GHC-39999]
* Could not deduce Foldable1 (Reverse f)' arising from the superclasses of an instance declaration from the context: Traversable1 f bound by the instance declaration at src\Data\Semigroup\Traversable\Class.hs:193:10-51 * In the instance declaration for Traversable1 (Reverse f)'
|
193 | instance Traversable1 f => Traversable1 (Reverse f) where
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[25 of 27] Compiling Data.Functor.Plus ( src\Data\Functor\Plus.hs, dist\build\Data\Functor\Plus.o )
[26 of 27] Compiling Semigroupoids.Do ( src\Semigroupoids\Do.hs, dist\build\Semigroupoids\Do.o )
[27 of 27] Compiling Data.Semigroupoid.Static ( src\Data\Semigroupoid\Static.hs, dist\build\Data\Semigroupoid\Static.o )
Error: cabal-3.10.1.0.exe: Failed to build semigroupoids-6.0.0.1 (which is
required by exe:MinIdiomaticApp from MinIdiomaticApp-0.1.0.0). See the build
log above for details.

But this is on threaded, maybe I should try again without threaded, and perhaps without -O2, maybe it'll work then.

@liamzee that's the good thing about Stackage (the package set, without needing to use stack the tool), that you can expect that a specific version will build now and continue to build in the future.

Maybe there's a way you can fix those packages to previous versions, and still use GHC 9.6.1?

I guess this issue is "fixed" on Monomer's side. Let me know if there's something else that's causing trouble, otherwise we can close the issue.

@liamzee in fact, maybe it's a good idea that I return the restriction back to "mtl < 2.3" if it's causing build issues. Let me know if you manage to make it pass. Thanks!

Yeah, I think the restriction got moved back to mtl < 2.3 earlier? Thank you so much for the help with nanovg!

@liamzee no, I have not changed it yet. But it's true, for some reason the main Hackage page shows 2.3 as the upper bound, although when I try to edit the .cabal file it shows the correct value. I'll update it later.