Coder Social home page Coder Social logo

Comments (21)

hololeap avatar hololeap commented on June 18, 2024 1

@solpeth I agree with @l29ah that this is a misconfigured system and a revbump isn't necessary. ::haskell needs to have a higher priority than ::gentoo to make any sense as an overlay, and everything seems to point to this being the default.


@solpeth hm, maybe I did set it at some point. I definitely don't remember doing that. Would it but set to something higher if one is on a hardened profile? Because I am on a hardened profile.

@alecStewart1 I don't have any proof one way or the other, but this seems highly unlikely to me. The answer could be as simple as you accidentally deleted the - from priority = -1000 when you were editing the file.

from gentoo-haskell.

alecStewart1 avatar alecStewart1 commented on June 18, 2024

@l29ah your commit for issue #1471 seemed to work but this didn't seem to work as I'm still getting:

Configuring integer-logarithms-1.0.3.1...

setup: Encountered missing or private dependencies:
base >=4.15 && <4.16, ghc-prim <0.8

 * ghc-pkg check: 'checking for other broken packages:'
 * ERROR: dev-haskell/integer-logarithms-1.0.3.1-r1::gentoo failed (configure phase):
 *   setup configure failed
 *
 * Call stack:
 *     ebuild.sh, line  136:  Called src_configure
 *   environment, line 1840:  Called haskell-cabal_src_configure '--flag=-check-bounds'
 *   environment, line 1515:  Called cabal-configure '--flag=-check-bounds'
 *   environment, line  570:  Called cabal-show-brokens-and-die 'setup configure failed'
 *   environment, line  642:  Called die
 * The specific snippet of code:
 *       die "$@"

from gentoo-haskell.

l29ah avatar l29ah commented on June 18, 2024

Sorry, i thought your issue is about ::haskell. This is not an issue tracker for ::gentoo packages.

from gentoo-haskell.

alecStewart1 avatar alecStewart1 commented on June 18, 2024

It is an issue for ::haskell. dev-haskell/integer-logaritms is a package in ::haskell.

I'm saying ee51c8f doesn't seem to fix the issue of dev-haskell/integer-logaritms failing to build.

from gentoo-haskell.

l29ah avatar l29ah commented on June 18, 2024

The quoted log features a ::gentoo package. Please provide the log for the ::haskell package.

from gentoo-haskell.

alecStewart1 avatar alecStewart1 commented on June 18, 2024

eix integer-logarithms:

* dev-haskell/integer-logarithms
     Available versions:  (~)1.0.3.1-r1(0/1.0.3.1)^t[1] 1.0.3.1-r1(0/1.0.3.1)^t {doc hoogle hscolour profile test}
     Homepage:            https://github.com/haskellari/integer-logarithms
     Description:         Integer logarithms

[1] "haskell" /var/db/repos/haskell

It's from the Haskell repo. Just like hledger:

eix hledger

* app-office/hledger [1]
     Available versions:  (~)1.30.1(0/1.30.1)^t {doc hoogle hscolour profile test}
     Homepage:            https://hledger.org
     Description:         Command-line interface for the hledger accounting system

* app-office/hledger-iadd [1]
     Available versions:  (~)1.3.18-r1(0/1.3.18)^t {doc hoogle hscolour profile test}
     Homepage:            https://github.com/hpdeifel/hledger-iadd#readme
     Description:         A terminal UI as drop-in replacement for hledger add

* app-office/hledger-interest [1]
     Available versions:  (~)1.6.5-r1
     Homepage:            https://github.com/peti/hledger-interest
     Description:         computes interest for a given account

* app-office/hledger-ui [1]
     Available versions:  (~)1.30 {+threaded}
     Homepage:            https://hledger.org
     Description:         Curses-style terminal interface for the hledger accounting system

* app-office/hledger-web [1]
     Available versions:  (~)1.30(0/1.30)^t {doc hoogle hscolour library-only profile test +threaded}
     Homepage:            https://hledger.org
     Description:         Web-based user interface for the hledger accounting system

* dev-haskell/hledger-lib [1]
     Available versions:  (~)1.30(0/1.30)^t {doc hoogle hscolour profile test}
     Homepage:            https://hledger.org
     Description:         A reusable library providing the core functionality of hledger

[1] "haskell" /var/db/repos/haskell

And GHC:

eix ghc

[I] dev-lang/ghc
     Available versions:  (~)8.10.6-r3(0/8.10.6)^t[1] ~8.10.6-r3(0/8.10.6)^t **8.10.7-r2(0/8.10.7)^t[1] ~9.0.2-r3(0/9.0.2)^t (~)9.0.2-r4(0/9.0.2)^t[1] 9.0.2-r4(0/9.0.2)^t (~)9.2.7-r1(0/9.2.7)^t[1] (~)9.2.8(0/9.2.8)^t[1] **9.4.4(0/9.4.4)^t[1] **9.4.5(0/9.4.5)^t[1] {big-endian binary +doc elfutils ghcbootstrap ghcmakebinary +gmp llvm numa profile test unregisterised}
     Installed versions:  9.2.8(0/9.2.8)^t[1](10:55:13 AM 08/25/2023)(doc gmp -big-endian -binary -elfutils -ghcbootstrap -ghcmakebinary -llvm -numa -profile -test -unregisterised)
     Homepage:            https://www.haskell.org/ghc/
     Description:         The Glasgow Haskell Compiler

[1] "haskell" /var/db/repos/haskell

from gentoo-haskell.

alecStewart1 avatar alecStewart1 commented on June 18, 2024

https://packages.gentoo.org/packages/dev-haskell/integer-logarithms

Says it's maintained by Gentoo Haskell.

Is there some clashing package issue?

from gentoo-haskell.

solpeth avatar solpeth commented on June 18, 2024

@alecStewart1 I appreciate the find. Both packages list the exact same revision (-r1) yet they are different.

The ::haskell package incorporates all of the upstream revisions to versions bounds for base and ghc-prim, whereas the ::gentoo package is largely untouched.

For whatever reason (expected or not), your system is pulling in or retaining the ::gentoo package over the ::haskell package.

I'll move integer-logarithms in the ::haskell repo to -r2 which should force your system to pull that in.

Thanks for letting us know!

from gentoo-haskell.

l29ah avatar l29ah commented on June 18, 2024

I'll move integer-logarithms in the ::haskell repo to -r2 which should force your system to pull that in.

I don't think forcing an useless recursive rebuild of a bunch of packages for all users of ::haskell is a good policy for handling a misconfiguration (that will surely hit again) of one user's system.

from gentoo-haskell.

solpeth avatar solpeth commented on June 18, 2024

@l29ah, it is not ever the user's fault for enabling the ::haskell repo and consequently encountering an issue between the ::gentoo repo and the ::haskell repo. Everything should be automatic and just work.

The user has actually uncovered an issue that we will silently encounter again in the future. Not everyone reports bugs and some users may just give up all together instead of letting us know. So I'm glad we know about this.

It is technically correct to revbump, when you think about it. There are a few parts and our interoperation with ::gentoo is admittedly messy and contributes to the problem:

  • Attracting the ire of many a Gentoo dev we have silent dependencies in base, template-haskell etc. which Portage doesn't see, which we therefore do not revbump for, unlike RDEPENDs
  • We have no Gentoo devs that can keep ::gentoo as up to date as ::haskell
  • We pull in a hackage revision in ::haskell which doesn't touch RDEPENDs, and therefore does not require a revbump
  • When a user moves from ::gentoo only to ::gentoo + ::haskell, Portage sees no update for the package with the exact same revision in each repo. This is a problem, as it will silently fail as it did above.

The lesson here is we need to:

  • Keep ::gentoo more tightly in sync with ::haskell (virtually impossible without a Gentoo dev or someone who can dedicate more of their life to opening PRs)
  • Ensure we instruct Portage to update packages to the ::haskell version where they are materially more up-to-date, i.e. where there are hackage revisions to silent packages.

from gentoo-haskell.

l29ah avatar l29ah commented on June 18, 2024

It just works for me. The user has ::haskell repo priority set lower than ::gentoo, so ::gentoo packages are picked up instead and fail. Do you see a better fix for this problem than bumping the repo priority?

Revbumping for changed base deps in our case is pointless since it will get rebuilt due to subslot dep regardless.

When a user moves from ::gentoo only to ::gentoo + ::haskell, Portage doesn't need to see any updates for already installed packages: if integer-logarithms-1.0.3.1 was already installed, there would be no issue like the above one.

from gentoo-haskell.

alecStewart1 avatar alecStewart1 commented on June 18, 2024

I'll move integer-logarithms in the ::haskell repo to -r2 which should force your system to pull that in.

I don't think forcing an useless recursive rebuild of a bunch of packages for all users of ::haskell is a good policy for handling a misconfiguration (that will surely hit again) of one user's system.

To clarify, I just followed what's here. Nothing about repo priority is mentioned there. If you search "gentoo haskell" it's very likely you'll get that official Gentoo wiki page before anything.

Another thing I noticed is that the README mentions the use of layman, which I think it's recommended (or at least when I installed Gentoo almost a year ago) that one uses app-eselect/eselect-repository.

from gentoo-haskell.

alecStewart1 avatar alecStewart1 commented on June 18, 2024

Also, and maybe this is just me, why does it make sense that one would put the ::haskell repo at a higher priority? It begs the question as to why I wouldn't set GURU's repo higher, and considering that @solpeth mentioned:

We have no Gentoo devs that can keep ::gentoo as up to date as ::haskell

Then a user risks installing potentially outdated packages, no? Or even newer/older versions of packages requiring the modification of package.accepted_keywords that a user might not want, or possible even new USE flags as well, no? I don't know how high of a possibility that is, though.

Really, I don't understand why there's a package for integer-logarithms in ::gentoo if the idea is that ::haskell should be where one would stop for Haskell packages, especially something so Haskell specific. But I haven't used Gentoo long so I'll defer to those with more expertise.

from gentoo-haskell.

solpeth avatar solpeth commented on June 18, 2024

@l29ah I take your point on repo priority being the main issue, here. I'm not sure why ::haskell is being deprioritised by default unless someone is manually deprioritising it (in which case you would be right to leave it at 'not our problem, defaults work')

@alecStewart1 the haskell ecosystem is finicky. It's best to enable the ::haskell repo in full and I think it should by default be prioritised over ::gentoo packages (although I'm now going to check that). ::gentoo falls out of date and is purposely a very limited subset of packages from ::haskell.

from gentoo-haskell.

alecStewart1 avatar alecStewart1 commented on June 18, 2024

@solpeth I'm guessing it's just what eselect-repository does. 🤷‍♂️ I didn't do any other configuration besides what's on the Gentoo Wiki.

from gentoo-haskell.

alecStewart1 avatar alecStewart1 commented on June 18, 2024

@solpeth yea, looking at the file /etc/portage/repos.conf/eselect-repo.conf none of the repos I've added over the past year have any priority set. I just changed all of them so I'll see if that also fixes my issue.

from gentoo-haskell.

solpeth avatar solpeth commented on June 18, 2024

@alecStewart1 by default ::Gentoo should be the lowest priority so I'm not sure why it didn't pull in the ::Haskell version of integer-logarithms (unless you already had it installed from ::Gentoo first).

from gentoo-haskell.

alecStewart1 avatar alecStewart1 commented on June 18, 2024

@solpeth It was set to 1000 in /etc/portage/repos.conf/gentoo.conf. I don't ever recall setting it to that.

from gentoo-haskell.

solpeth avatar solpeth commented on June 18, 2024

@alecStewart1 according to upstream documentation it should have been set to -1000 by default. Either that has changed or something else is up.

In any case, @l29ah you're right about the repo priorities and user configuration being the issue and I apologise for dismissing that earlier in the way I did. I don't know why the user's ::gentoo priority is set the way it is without their recollection.

from gentoo-haskell.

alecStewart1 avatar alecStewart1 commented on June 18, 2024

@solpeth hm, maybe I did set it at some point. I definitely don't remember doing that. Would it but set to something higher if one is on a hardened profile? Because I am on a hardened profile.

from gentoo-haskell.

hololeap avatar hololeap commented on June 18, 2024

FWIW, another user hit issues regarding repo priority and added this:

https://github.com/gentoo-haskell/gentoo-haskell#overlay-priority

This issue isn't specific to any one repo, though.

from gentoo-haskell.

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.