Pacman Won't Update nheko Due to Unresolved Library Dependency Issue #168

Closed
opened 2023-02-22 13:03:29 +01:00 by N3k0-san · 13 comments

The nheko matrix client won't update due to claiming that it can't resolve a library even though the buildbot claims it has built the latest nheko version "0.11.2-1.1"

resolving dependencies...
warning: cannot resolve "libmatrix_client.so=0.9.2-64", a dependency of "nheko"
:: The following package cannot be upgraded due to unresolvable dependencies:
      nheko

:: Do you want to skip the above package for this upgrade? [y/N]
The nheko matrix client won't update due to claiming that it can't resolve a library even though the buildbot claims it has built the latest nheko version "0.11.2-1.1" ``` resolving dependencies... warning: cannot resolve "libmatrix_client.so=0.9.2-64", a dependency of "nheko" :: The following package cannot be upgraded due to unresolvable dependencies: nheko :: Do you want to skip the above package for this upgrade? [y/N] ```
Owner

Seems to be fine for me. libmatrix_client.so=0.9.2-64 resolves to mtxclient, so this was the culprit, but that failed to build and should not come from ALHP anyways.

Seems to be fine for me. `libmatrix_client.so=0.9.2-64` resolves to `mtxclient`, so this was the culprit, but that failed to build and should not come from ALHP anyways.
Author

Then... why is nheko an ALHP repo package if its dependencies (mtxclient) aren't being built/supported?

Then... why is nheko an ALHP repo package if its dependencies (mtxclient) aren't being built/supported?
Owner

We have loads of packages wich dependencies fail to build and are provided from normal repositories. That's quite normal at this point. And there is no drawback either, why wouldn't you want to have as much packages as possible build with v3? If we go a route were we remove all upstream dependents of a failed package as well we wont have many packages left in the ALHP repos.

We have loads of packages wich dependencies fail to build and are provided from normal repositories. That's quite normal at this point. And there is no drawback either, why wouldn't you want to have as much packages as possible build with v3? If we go a route were we remove all upstream dependents of a failed package as well we wont have many packages left in the ALHP repos.
Author

We have loads of packages wich dependencies fail to build and are provided from normal repositories.

Except mtxclient isn't even from upstream; it's an AUR package.

And there is no drawback either

Because mtxclient an AUR package, the drawback is that the only way to update nheko, from the ALHP repo, is to compile it from the AUR
(the only reason why I'm in this situation is because I used to compile neko from the AUR but it was added here at some point)

why wouldn't you want to have as much packages as possible build with v3?

That's not to say it's unwelcome, on the contrary, nheko being a package here is nice but one obviously can't install nheko if if mtxclient isn't even in yhe repo; and frankly, I don't even understand how the build bot managed to compile nheko in the first place if it wasn't able to build the requisite updated mtxclient

All I'm saying is: if a package in the repo needs another package to function, it only makes sense that the dependency is available. Is that really so strange?

> We have loads of packages wich dependencies fail to build and are provided from normal repositories. Except mtxclient isn't even from upstream; it's an AUR package. > And there is no drawback either Because mtxclient an AUR package, the drawback is that the only way to update nheko, from the ALHP repo, is to compile it from the AUR (the only reason why I'm in this situation is because I used to compile neko from the AUR but it was added here at some point) > why wouldn't you want to have as much packages as possible build with v3? That's not to say it's unwelcome, on the contrary, nheko being a package here is nice but one obviously can't install nheko if if mtxclient isn't even in yhe repo; and frankly, I don't even understand how the build bot managed to compile nheko in the first place if it wasn't able to build the requisite updated mtxclient All I'm saying is: if a package in the repo needs another package to function, it only makes sense that the dependency is available. Is that really so strange?
Owner

We have loads of packages wich dependencies fail to build and are provided from normal repositories.

Except mtxclient isn't even from upstream; it's an AUR package.

It's not

All I'm saying is: if a package in the repo needs another package to function, it only makes sense that the dependency is available. Is that really so strange?

And how is that not the case here exactly?

> > > We have loads of packages wich dependencies fail to build and are provided from normal repositories. > > > > Except mtxclient isn't even from upstream; it's an AUR package. > > [It's not](https://archlinux.org/packages/community/x86_64/mtxclient/) > All I'm saying is: if a package in the repo needs another package to function, it only makes sense that the dependency is available. Is that really so strange? And how is that not the case here exactly?
Author

🤦‍♂️ This is odd; this is the second or third time I've had to use -Syyu to find out things like you just said...
I should probably start using that instead of -Syu at this point because I keep running into issues like this where I think something isn't in the repos when it really is

Sorry about that

🤦‍♂️ This is odd; this is the second or third time I've had to use `-Syyu` to find out things like you just said... I should probably start using that instead of `-Syu` at this point because I keep running into issues like this where I think something isn't in the repos when it really is Sorry about that
Owner

No problem. Maybe you should switch mirrors (for the Archlinux repos)? Normally that should not happen, since db's should be getting refreshed if the mirror sends a newer date in the HEAD request.

EDIT: I'm also hosting an Archmirror under https://arch.harting.dev/, if you want to try that one. That's where ALHP gets its building dependencies, so it should be pretty reliable.

No problem. Maybe you should switch mirrors (for the Archlinux repos)? Normally that should not happen, since db's should be getting refreshed if the mirror sends a newer date in the HEAD request. *EDIT*: I'm also hosting an Archmirror under https://arch.harting.dev/, if you want to try that one. That's where ALHP gets its building dependencies, so it should be pretty reliable.
anonfunc added the
support
label 2023-02-23 15:03:21 +01:00
Author

I've never added a mirror directly to the mirrorlist by hand before (I usually either use reflector or shiny-mirrors); I'm curious: does the order of the mirrors in the mirrorlist affect anything?

I've never added a mirror directly to the mirrorlist by hand before (I usually either use reflector or shiny-mirrors); I'm curious: does the order of the mirrors in the mirrorlist affect anything?
Owner

Yes. To my knowledge the top-most reachable mirror is the one the dbs are synced from (or compared to).

Yes. To my knowledge the top-most *reachable* mirror is the one the dbs are synced from (or compared to).
Author

Would it make any significant difference if I made it a separate mirrorlist a just placed it higher than the normal mirrorlist in pacman.conf? Since I figure having it be the top-most to sidestep reflector(etc) is the point? Or do you think they should still be in the same list? Because, if so, I'm trying to figure out how I'm going to keep the arch ALHP mirror at the top of the list

Edit:
Also, I'm getting these error when I put yours at the top of the vanilla Arch mirrorlist (pacman -Syyu):

error: failed retrieving file 'extra.db' from arch.harting.dev : The requested URL returned error: 404
error: failed retrieving file 'core.db' from arch.harting.dev : The requested URL returned error: 404
error: failed retrieving file 'community.db' from arch.harting.dev : The requested URL returned error: 404
Would it make any significant difference if I made it a separate mirrorlist a just placed it higher than the normal mirrorlist in pacman.conf? Since I figure having it be the top-most to sidestep reflector(etc) is the point? Or do you think they should still be in the same list? Because, if so, I'm trying to figure out how I'm going to keep the arch ALHP mirror at the top of the list Edit: Also, I'm getting these error when I put yours at the top of the vanilla Arch mirrorlist (`pacman -Syyu`): ``` error: failed retrieving file 'extra.db' from arch.harting.dev : The requested URL returned error: 404 error: failed retrieving file 'core.db' from arch.harting.dev : The requested URL returned error: 404 error: failed retrieving file 'community.db' from arch.harting.dev : The requested URL returned error: 404 ```
Owner

You need to properly format it. Should be something like:

Server = https://arch.harting.dev/$repo/os/$arch

The lists for ALHP and normal Arch mirrors are separate, so no need to worry about that.

You need to properly format it. Should be something like: ``` Server = https://arch.harting.dev/$repo/os/$arch ``` The lists for ALHP and normal Arch mirrors are separate, so no need to worry about that.
Author

Ah, I made the mistake of writing it out like this:
https://arch.harting.dev/archlinux/$repo/os/$arch
Rather than like this:
https://arch.harting.dev/$repo/os/$arch

Thanks for helping me out; sorry again for the trouble

Ah, I made the mistake of writing it out like this: `https://arch.harting.dev/archlinux/$repo/os/$arch` Rather than like this: `https://arch.harting.dev/$repo/os/$arch` Thanks for helping me out; sorry again for the trouble
Owner

@N3k0-san Sorry to already need to change something while I just recommended you that mirror, but you need to change its URL, since I needed to move stuff off that domain.

New mirror address:

Server = https://arch.alhp.dev/$repo/os/$arch
@N3k0-san Sorry to already need to change something while I just recommended you that mirror, but you need to change its URL, since I needed to move stuff off that domain. New mirror address: ``` Server = https://arch.alhp.dev/$repo/os/$arch
Sign in to join this conversation.
No description provided.