Giter Club home page Giter Club logo

Comments (9)

MitchMG2 avatar MitchMG2 commented on June 7, 2024

Its even deeper than that. Apparently theres some error stemming from gi-pango 1.0.22 that was fixed in 1.0.23. That new version created a new package dependency called gi-harfbuzz which solves the harfbuzz errors that have popped up on google in the past week. But to get that running, a whole bunch of dependencies need to be updated. I spent almost two hours manually installing updated haskell dependencies to finally have a working build. I cant post a pull request or code since i dont know how to edit the dependencies on this project as a whole, and dont even remember half the haskell packages that required updating.

from linux_notification_center.

MyriaCore avatar MyriaCore commented on June 7, 2024

@mitchell-gil96 so you did get a build working? I've just started fiddling with things right now and I was sent right to stack hell lol.

from linux_notification_center.

MyriaCore avatar MyriaCore commented on June 7, 2024

I'm still rly new to haskell's build tools, so i try not to touch stack as much, but I'm getting a ton of errors relating to upgrades. For some reason, I'm getting a logic loop. When just adding gi-harfbuzz-0.0.3 and bumping gi-pango-1.0.22 to gi-pango-1.0.23, I get:

In the dependencies for gi-harfbuzz-0.0.3:
    haskell-gi-0.23.0 from stack configuration does not match >=0.24.1 && <0.25  (latest matching version is 0.24.4)
    haskell-gi-base-0.23.0 from stack configuration does not match >=0.24 && <0.25  (latest matching version is 0.24.2)
needed due to linux-notification-center-1.6.0 -> gi-harfbuzz-0.0.3

  * Recommended action: try adding the following to your extra-deps in /home/myriacore/Documents/Development/linux_notification_center/stack.yaml:

- haskell-gi-0.24.4@sha256:e25b7d5260397397f1ea2c9a9e5f0398d5f0b3d796457d37a2dca054f752ecd2,5241
- haskell-gi-base-0.24.2@sha256:fd9d2c45ff7d7389bd0bb4b0ba6f40ea4eea0a5da227b13ee86776b11f18db2f,2392

So, when I bump to haskell-gi-0.24.4 and haskell-gi-base-0.24.2, I get:

In the dependencies for gi-atk-2.0.21:
    haskell-gi-base-0.24.2 from stack configuration does not match >=0.23 && <0.24  (latest matching version is 0.23.0)
needed due to linux-notification-center-1.6.0 -> gi-atk-2.0.21

Some different approaches to resolving this:

  * Set 'allow-newer: true' in /home/myriacore/.stack/config.yaml to ignore all version constraints and build anyway.

  * Recommended action: try adding the following to your extra-deps in /home/myriacore/Documents/Development/linux_notification_center/stack.yaml:

- ansi-terminal-0.11@sha256:97470250c92aae14c4c810d7f664c532995ba8910e2ad797b29f22ad0d2d0194,3307
- haskell-gi-base-0.23.0@sha256:6c90f3e710921e7884a86fb53bf4b4e50a178f61e3a4ea365a1aa9deba30a075,2341

So if I follow the recommended action, I go right back to square one. Not sure how to resolve this, usually I think this happens when something with the resolver is yucky, or when you were getting too overzealous with constraints in the project.cabal file.

I'm not sure why these constraints are here, or if they can be safely removed.

from linux_notification_center.

MitchMG2 avatar MitchMG2 commented on June 7, 2024

i did but i spent two hours doing exactly that and bumping a whole bunch of packages on stack, plus setting lts to latest "16.something" and dealing with all those dependencies in stack.yaml and the cabal file. I dont know anything about haskell or stack which makes it even more annoying.

Edit:
haskell-gi-base-0.24.2 from stack configuration does not match >=0.23 && <0.24 (latest matching version is 0.23.0)
needed due to linux-notification-center-1.6.0 -> gi-atk-2.0.21

basically its telling you you need a newer gi-atk, then from there its gonna point you to gi-gtk, gi-gdk, then gi-cairo etc etc etc, it becomes quite the long rabbit hole.

from linux_notification_center.

MitchMG2 avatar MitchMG2 commented on June 7, 2024

I also found that deleting the entirety of the .stack home folder, removing stack and the billion haskell dependecies that come with it, re-installing and starting from scratch will work on the older build thats on AUR from feburary wayyyyy back. Didnt work for this build unles i did the package stack hell

from linux_notification_center.

MyriaCore avatar MyriaCore commented on June 7, 2024

I really don't like touching the lts as much, since usually the gi-* move pretty fast, and I don't want the existing code / imports to break. However, if u got it working, I'll see if I can get more nuclear with the lts bump, since I only really bumped from 12.16 or so something to like 12.29.

It'd be super cool if you could send snippets of the cabal and stack files u ended up with, so I can try to replicate your setup @mitchell-gil96

from linux_notification_center.

MitchMG2 avatar MitchMG2 commented on June 7, 2024

Believe it or not, i actually deleted my git clone build in favor of the older AUR version from feburary, including removing stack and starting from scratch. I no longer have the files.

But my work was basically going in this order.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=968729
Debian report giving similar error posted 10 days ago, and the solution seemingly being gi-pango 1.0.23

https://aur.archlinux.org/packages/deadd-notification-center/
AUR bug report from 6 days ago with the same pango/harfbuzz error.

I then went to the cabal and stack.yml files in source code of this project, went through every build dependency, googled it to find the latest version.
Ex: gi-gtk https://hackage.haskell.org/package/gi-gtk
Then renamed the version number in the stack and cabal files.

each time an error presents, it tells you what file is basically to old and just modify the stack.yml file accordingly.

It became a hot mess very quickly and i spent two hours going through dependencies. It got to the pont where i was modifying haskell package numbers like network, network-bsd, time, dbus, etc etc.

Someone who knows stack and haskell could probably come up with a farrrr more elegant solution than the archaic approach I took. I have zero experience with haskell. I basically got to where i was by treating stack like i would with pip in python, plus google-fu.

But the core of the problem for me and a few of the links i provided seems to be gi-pango 1.0.22.

Please take everything i said with a grain of salt due to my zero background in haskell.

from linux_notification_center.

MyriaCore avatar MyriaCore commented on June 7, 2024

For any users stuck with this issue, see #92 for a temporary workaround

from linux_notification_center.

phuhl avatar phuhl commented on June 7, 2024

There was a PR merged, that hopefully fixed this. If it did not, please reopen

from linux_notification_center.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.