Artix Linux Forum

Artix Linux => Package management => Topic started by: onekk on 06 September 2022, 19:27:22

Title: Problem with pacman.
Post by: onekk on 06 September 2022, 19:27:22
I have some problem with pacman, and probably is cused by the order on which packages are searched and installed.

I have

Code: [Select]

#[gremlins]
#Include = /etc/pacman.d/mirrorlist

[system]
Include = /etc/pacman.d/mirrorlist

[world]
Include = /etc/pacman.d/mirrorlist

#[galaxy-gremlins]
#Include = /etc/pacman.d/mirrorlist

[galaxy]
Include = /etc/pacman.d/mirrorlist


[universe]
  Server = https://universe.artixlinux.org/$arch
  Server = https://mirror1.artixlinux.org/universe/$arch
  Server = https://mirror.pascalpuffke.de/artix-universe/$arch
  Server = https://artixlinux.qontinuum.space/artixlinux/universe/os/$arch
  Server = https://mirror1.cl.netactuate.com/artix/universe/$arch
  Server = https://ftp.crifo.org/artix-universe/


[community]
Include = /etc/pacman.d/mirrorlist-arch

[extra]
Include = /etc/pacman.d/mirrorlist-arch



That i suppose it will gave precedence to universe from community and extra (that should be Arch Linux repo)

But I have some errors like:

Code: [Select]
attenzione: firefox: la versione installata (104.0.2-1) è più recente di quella presente in world (104.0.1-1)

That is telling that installed version is more recent than the version in world

and this error with inkscape:

Code: [Select]
inkscape: error while loading shared libraries: libinkscape_base.so: cannot open shared object file: No such file or directory

How can I solve the problem of the order and eventually fix the installation?

Regards

Carlo D.
Title: Re: Problem with pacman.
Post by: corysanin on 06 September 2022, 20:15:01
I think maybe you either downloaded Firefox 104.0.2-1 from Arch repos or gremlins in a previous version of your config..? Seems like that build of Firefox will be moved to world soon so I recommend ignoring that message.

As for Inkscape, it looks like that build is sad. Until it gets fixed you can rollback the update via your local pacman cache.
Title: Re: Problem with pacman.
Post by: tintin on 07 September 2022, 04:46:03
I don't know if this matters, but the wiki puts the Arch repositories you use in this order:
Code: [Select]
 # Arch
 [extra]
 Include = /etc/pacman.d/mirrorlist-arch

 [community]
 Include = /etc/pacman.d/mirrorlist-arch

Title: Re: Problem with pacman.
Post by: corysanin on 07 September 2022, 07:35:27
That is correct. And Arch repos should be after the Artix repos. Just as you have in your first post.
Title: Re: Problem with pacman.
Post by: onekk on 07 September 2022, 09:44:09
Thanks for replying.

This morning it will complain about it can't downgrade  firefox to  (104.0.1-1) becuase doing so it break the dependecy  of  firefox-i18n-it  from 'firefox>=104.0.2'

And it refuse to update.

I wonder if there is a way to see from what repo package are installed to check what packages are installed from "Arch repositories" and decide if they are still needed.


For inkscape I've found a solution:


Code: [Select]
ln /usr/lib/inkscape/libinkscape_base.so /usr/lib/libinkscape_base.so


Regards

Carlo D.



Title: Re: Problem with pacman.
Post by: tintin on 07 September 2022, 10:16:52
Thanks for replying.

This morning it will complain about it can't downgrade  firefox to  (104.0.1-1) becuase doing so it break the dependecy  of  firefox-i18n-it  from 'firefox>=104.0.2'
Hello,

Have you tried uninstalling firefox-i18n-it first and then firefox?
If the repositories are correctly configured in /etc/pacmanconf you can reinstall the two packages

Title: Re: Problem with pacman.
Post by: onekk on 07 September 2022, 16:22:29
Have you tried uninstalling firefox-i18n-it first and then firefox?
If the repositories are correctly configured in /etc/pacmanconf you can reinstall the two packages


Not exactly, I could remove the packages, but when I try to reinstall, them:

installing firefox will bring version 104.0.1 and it is ok.

But when I try to install firefox-i18n-it it will bring firefox 104.0.2 instead, so I suspect that artixlinux packages are not supplying the firefox-i18n-xx packages.

Regards

Carlo D.
Title: Re: Problem with pacman.
Post by: tintin on 07 September 2022, 17:33:35

Not exactly, I could remove the packages, but when I try to reinstall, them:

installing firefox will bring version 104.0.1 and it is ok.

But when I try to install firefox-i18n-it it will bring firefox 104.0.2 instead, so I suspect that artixlinux packages are not supplying the firefox-i18n-xx packages.

Regards

Carlo D.
Hello Carlo,

Today I got two Firefox updates:
Code: [Select]
jp-artix:[jp]:~$ pacman -Q firefox
firefox 104.0.2-1
jp-artix:[jp]:~$ pacman -Q firefox-i18n-fr
firefox-i18n-fr 104.0.2-1

The contents of my /etc/pacman.conf file:
Code: [Select]
jp-artix:[jp]:~$ cat /etc/pacman.conf
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg     = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto

#IgnorePkg   =
#IgnorePkg   =
#IgnorePkg   =
#IgnorePkg   =
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
Color
#TotalDownload
CheckSpace
#VerbosePkgLists

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Artix Linux
# packagers with `pacman-key --populate artix`.

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The gremlins repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

#[gremlins]
#Include = /etc/pacman.d/mirrorlist

[system]
Include = /etc/pacman.d/mirrorlist

[world]
Include = /etc/pacman.d/mirrorlist

#[galaxy-gremlins]
#Include = /etc/pacman.d/mirrorlist

[galaxy]
Include = /etc/pacman.d/mirrorlist

[universe]
Server = https://universe.artixlinux.org/$arch
Server = https://mirror1.artixlinux.org/universe/$arch
Server = https://mirror.pascalpuffke.de/artix-universe/$arch


# If you want to run 32 bit applications on your x86_64 system,
# enable the lib32 repositories as required here.

#[lib32-gremlins]
#Include = /etc/pacman.d/mirrorlist

#[lib32]
#Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

#
# ARCHLINUX
#

#[testing]
#Include = /etc/pacman.d/mirrorlist-arch

[extra]
Include = /etc/pacman.d/mirrorlist-arch

#[community-testing]
#Include = /etc/pacman.d/mirrorlist-arch

[community]
Include = /etc/pacman.d/mirrorlist-arch

#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist-arch

#[multilib]
#Include = /etc/pacman.d/mirrorlist-arch
Title: Re: Problem with pacman.
Post by: onekk on 08 September 2022, 11:03:37
Thanks, seeing your pacman-conf I don't see too much with repositories compared to mine,  excepts for gremlins.


Or there is some misalignment  with local mirrors repositories , (probably due to recently cyber attacks probably some mirrors are not very updated ).


I wil wait a couple of days.

I wonder if there is a way to know from what repositories a package came from:

Code: [Select]
sudo pacman -Q firefox
firefox 104.0.1-1


will gave me old version 104.0.1

Code: [Select]
 sudo pacman -Q firefox-i18n-it
errore: impossibile trovare il pacchetto 'firefox-i18n-it'


the error is telling that the package is not found.


What else I should check?

TIA and Regards.

Carlo D.
Title: Re: Problem with pacman.
Post by: tintin on 08 September 2022, 11:51:16
Thanks, seeing your pacman-conf I don't see too much with repositories compared to mine,  excepts for gremlins.
Like you, I don't use gremlins repositories.


Quote
Or there is some misalignment  with local mirrors repositories , (probably due to recently cyber attacks probably some mirrors are not very updated ).
Here are the /etc/pacman.d/mirrorlist servers I use (all but the last one are in Europe):

Code: [Select]
Server = http://mirror1.artixlinux.org/repos/$repo/os/$arch
Server = https://eu-mirror.artixlinux.org/repos/$repo/os/$arch
Server = https://mirror.pascalpuffke.de/artix-linux/$repo/os/$arch
Server = https://artix.unixpeople.org/repos/$repo/os/$arch
Server = https://mirror.one.com/artix/$repo/os/$arch
Server = https://mirrors.dotsrc.org/artix-linux/repos/$repo/os/$arch
Server = http://mirrors.redcorelinux.org/artixlinux/$repo/os/$arch
Server = https://quantum-mirror.hu/mirrors/pub/artix-linux/$repo/os/$arch
Server = https://mirror.linux.pizza/artix-linux/$repo/os/$arch
Server = http://ftp.ntua.gr/pub/linux/artix-linux/$repo/os/$arch
Server = https://artix.wheaton.edu/repos/$repo/os/$arch


Quote
Code: [Select]
sudo pacman -Q firefox
firefox 104.0.1-1

will gave me old version 104.0.1

Code: [Select]
 sudo pacman -Q firefox-i18n-it
errore: impossibile trovare il pacchetto 'firefox-i18n-it'
OK.
No need to put sudo before pacman -Q... or pacman -Ss, pacman -Si

Quote
What else I should check?
After modifying the pacman configuration files, have you tried:
Code: [Select]
sudo pacman -Syyu


Title: Re: Problem with pacman.
Post by: onekk on 09 September 2022, 11:15:40
Thanks, I will check, the repositories order, maybe some thing is dependanto to the update frequency of some repositories.

Regards

Carlo D.
Title: Re: Problem with pacman.
Post by: tintin on 09 September 2022, 11:39:35
Thanks, I will check, the repositories order, maybe some thing is dependanto to the update frequency of some repositories.
Hello Carlo,

The order of these server addresses does not matter.
Some repositories are updated before others, but pacman -Syu will check for the most recent updates.
Title: Re: Problem with pacman.
Post by: onekk on 09 September 2022, 16:56:20
my mirrorlist is very different probably the stock one:

Code: [Select]

##
## Artix Linux repository mirrorlist
## Generated on 2022-06-08
##

# Artix mirrors
# Use rankmirrors(1) to get a list of the fastest mirrors for your location,
# e.g.: rankmirrors -v -n 5 /etc/pacman.d/mirrorlist
# Then put the resulting list on top of this file.

# Default mirrors
# Server = https://mirrors.dotsrc.org/artix-linux/repos/$repo/os/$arch
Server = https://mirror.clarkson.edu/artix-linux/repos/$repo/os/$arch
Server = http://ftp.ntua.gr/pub/linux/artix-linux/$repo/os/$arch

## Europe
# Czech Republic
Server = https://ftp.sh.cvut.cz/artix-linux/$repo/os/$arch
# Denmark
Server = https://mirrors.dotsrc.org/artix-linux/repos/$repo/os/$arch
Server = https://mirror.one.com/artix/$repo/os/$arch
# France
Server = https://artix.cccp.io/$repo/os/$arch
....

or maybe have to use the rankmirrors as suggested in the comment?

See the date on the file.

I have no other mirrorlist, except for a mirrorlist.old and a mirrorlist-arch.

Regards

Carlo D.



Regards

Carlo D.
Title: Re: Problem with pacman.
Post by: tintin on 09 September 2022, 18:24:41
Hello Carlo,

my mirrorlist is very different probably the stock one:
It doesn't matter as long as they are operational.
If the sudo pacman -Sy command goes well, it's good.

Quote
or maybe have to use the rankmirrors as suggested in the comment?

See the date on the file.

I have no other mirrorlist, except for a mirrorlist.old and a mirrorlist-arch.
I also have two mirrorlists:
/etc/pacman.d/mirrorlist and /etc/pacman.d/mirrorlist-arch

The mirrorlist.pacnew is provided during updates.
We can copy this file in /home/user and uncomment the lines of the country that interests us to operate a rankmirrors -t
Code: [Select]
rankmirrors -t /home/user/mirrorlist.pacnew
Title: Re: Problem with pacman.
Post by: onekk on 10 September 2022, 11:58:48
Thanks you.

I will check  and decide if a rankmirrors will be right way or not.

Today firefox is updated to the 104.0.2 version, so I'm trying to reinstall the i18n-it part I've skipped.

It is not a big hassle, as I'm using some different distributions and settings, so using firefox in English is not a problem.

Thanks again and Regards

Carlo D.




Title: Re: Problem with pacman.
Post by: nathanal on 17 September 2022, 05:20:44
Regarding inkscape,

the breakage was introduced by switching from cmake to artix-cmake https://gitea.artixlinux.org/packagesI/inkscape/commit/760753a537b690cb544048a7ae455fff83cb4e44 (noticed by comparing the difference between the PKGBUILDs for the working Arch and non-working Artix). I'm not sure if where the bug lies (is Inkscape or artix-cmake at fault?), though I thought I should mention it here (I'm coming from https://gitlab.com/inkscape/inbox/-/issues/7526).
Title: Re: Problem with pacman.
Post by: tintin on 17 September 2022, 05:36:53
Regarding inkscape,

the breakage was introduced by switching from cmake to artix-cmake https://gitea.artixlinux.org/packagesI/inkscape/commit/760753a537b690cb544048a7ae455fff83cb4e44 (noticed by comparing the difference between the PKGBUILDs for the working Arch and non-working Artix). I'm not sure if where the bug lies (is Inkscape or artix-cmake at fault?), though I thought I should mention it here (I'm coming from https://gitlab.com/inkscape/inbox/-/issues/7526).
I'm using Artix OpenRC XFCE and I have:
Code: [Select]
jp-artix:[jp]:~$ pacman -Q cmake
cmake 3.24.2-1.1
jp-artix:[jp]:~$ pacman -Q inkscape
inkscape 1.2.1-5

Where did you find artix-cmake?
I can't even find it in the aur packages...
Title: Re: Problem with pacman.
Post by: corysanin on 17 September 2022, 08:21:02
Where did you find artix-cmake?
I can't even find it in the aur packages...

https://gitea.artixlinux.org/packagesC/cmake/src/branch/master/trunk/artix-cmake
Title: Re: Problem with pacman.
Post by: tintin on 17 September 2022, 09:01:40
https://gitea.artixlinux.org/packagesC/cmake/src/branch/master/trunk/artix-cmake
Yes, thank you, I had seen this link, but I don't understand the need to have artix-cmake, because it is not in the repositories.

But in fact, you had indicated probable causes:
https://forum.artixlinux.org/index.php/topic,4519.msg29087.html#msg29087
Title: Re: Problem with pacman.
Post by: corysanin on 17 September 2022, 12:03:37
Those flags that artix-cmake adds are necessary for some packages to build on the build server. Here (https://gitea.artixlinux.org/packagesV/vtk/commit/c4f2c43179855e5152abe4c06aff22b740495f20) is an example of a flag being added before artix-cmake was introduced.

No idea what's going on with inkscape, though. I don't believe artix-cmake is to blame, but I haven't looked too far into it.
Title: Re: Problem with pacman.
Post by: nathanal on 17 September 2022, 18:41:01
Untested fix (thought I'd share before anyone spends too much time investigating): https://gitlab.com/inkscape/inkscape/-/merge_requests/4744/diffs . That at least identifies the problem, artix-cmake explicitly set CMAKE_INSTALL_LIBDIR to a absolute path, and inkscape assumed it was a relative path. 

Found due to PBS's investigation on the gitlab issue I linked earlier.
Title: Re: Problem with pacman.
Post by: Dudemanguy on 17 September 2022, 20:39:39
So it looks like CMAKE_INSTALL_LIBDIR is supposed to support absolute and relative paths according to the documentation (https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html). That would explain the problem though.
Title: Re: Problem with pacman.
Post by: nathanal on 23 September 2022, 14:46:16
So it looks like CMAKE_INSTALL_LIBDIR is supposed to support absolute and relative paths according to the documentation (https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html). That would explain the problem though.

Yup!

The fix has been merged into Inkscape now and the change is fairly self-explanatory (at least, combined with the cmake documentation).

I'm not familiar with the process here  :-[ . How would I get the patch (commit link (https://gitlab.com/inkscape/inkscape/-/commit/4d7c719572623bc35c01ac46a3b81ffbbbe1862f), Patch link (https://gitlab.com/inkscape/inkscape/-/commit/4d7c719572623bc35c01ac46a3b81ffbbbe1862f.patch)) into artix? (We can also switch back to artix-cmake, at least until the next Inkscape release).
Title: Re: Problem with pacman.
Post by: Dudemanguy on 23 September 2022, 15:12:30
We can just cherry-pick the commit in the PKGBUILD and rebuild. It's easy.

Edit: Just pushed an update (inkscape-1.2.1-6.1). It should work now, so you should be able to get it on the next mirror sync.
Title: Re: Problem with pacman.
Post by: tintin on 23 September 2022, 16:33:42
We can just cherry-pick the commit in the PKGBUILD and rebuild. It's easy.

Edit: Just pushed an update (inkscape-1.2.1-6.1). It should work now, so you should be able to get it on the next mirror sync.
Yes, it works now.  8)

Thanks !
Title: Re: Problem with pacman.
Post by: nathanal on 23 September 2022, 17:01:39
We can just cherry-pick the commit in the PKGBUILD and rebuild. It's easy.

Edit: Just pushed an update (inkscape-1.2.1-6.1). It should work now, so you should be able to get it on the next mirror sync.

Awesome, thank you!

I didn't know that the using of git in PKGBUILDs. That is much better  :)