I have some problem with pacman, and probably is cused by the order on which packages are searched and installed.
I have
#[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:
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:
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.
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.
I don't know if this matters, but the wiki puts the Arch repositories you use in this order:
# Arch
[extra]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch
That is correct. And Arch repos should be after the Artix repos. Just as you have in your first post.
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:
ln /usr/lib/inkscape/libinkscape_base.so /usr/lib/libinkscape_base.so
Regards
Carlo D.
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
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:
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:
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
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:
sudo pacman -Q firefox
firefox 104.0.1-1
will gave me old version 104.0.1
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.
Like you, I don't use gremlins repositories.
Here are the /etc/pacman.d/mirrorlist servers I use (all but the last one are in Europe):
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
OK.
No need to put sudo before pacman -Q... or pacman -Ss, pacman -Si
After modifying the pacman configuration files, have you tried:
sudo pacman -Syyu
Thanks, I will check, the repositories order, maybe some thing is dependanto to the update frequency of some repositories.
Regards
Carlo D.
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.
my mirrorlist is very different probably the stock one:
##
## 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.
Hello Carlo,
It doesn't matter as long as they are operational.
If the sudo pacman -Sy command goes well, it's good.
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
rankmirrors -t /home/user/mirrorlist.pacnew
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.
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:
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...
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
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.
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.
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).
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 !
Awesome, thank you!
I didn't know that the using of git in PKGBUILDs. That is much better :)