Cannot update using ' sudo pacman -Syyu '

sudo pacman -Syyu
[sudo] password for xxx-pc: 
error: GPGME error: No data
:: Synchronizing package databases...
 core                                  139.9 KiB  1816 KiB/s 00:00 [####################################] 100%
 extra                                   8.3 MiB  1341 KiB/s 00:06 [####################################] 100%
 community                              29.0   B  2.83 KiB/s 00:00 [####################################] 100%
 multilib                              140.0 KiB   897 KiB/s 00:00 [####################################] 100%
error: GPGME error: No data
error: failed to synchronize all databases (unexpected error)

Moderator edit: Added code tags.

Please see:

Also, please don’t hammer the mirrors by using sudo pacman -Syyu, which forces a local database refresh even if it is already in sync with the mirror. One y is usually enough:

sudo pacman -Syu
4 Likes

This is the out put:

sudo pacman -Syu
[sudo] password for jkl-pc: 
error: GPGME error: No data
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community                              29.0   B  2.83 KiB/s 00:00 [####################################] 100%
 multilib is up to date
error: GPGME error: No data
error: failed to synchronize all databases (unexpected error)

Moderator edit: Added code tags.

As I said in my first reply:

Please see:

2 Likes

This is the current output:

sudo pacman -Syu
:: Synchronizing package databases...
 multilib is up to date
:: Starting full system upgrade...
resolving dependencies...
warning: cannot resolve "libffi=3.4.7", a dependency of "lib32-libffi"
warning: cannot resolve "pcre2=10.45", a dependency of "lib32-pcre2"
:: The following packages cannot be upgraded due to unresolvable dependencies:
      lib32-libffi  lib32-pcre2

:: Do you want to skip the above packages for this upgrade? [y/N] y
looking for conflicting packages...
 there is nothing to do

Moderator edit: Added code tags.

Please use code for code:

```
code
```

like this:

warning: cannot resolve “libffi=3.4.7”, a dependency of “lib32-libffi”
warning: cannot resolve “pcre2=10.45”, a dependency of “lib32-pcre2”
:: The following packages cannot be upgraded due to unresolvable dependencies:
lib32-libffi lib32-pcre2

whatever can’t be resolved you can just remove.

You can get information about those using pamac info too.

pamac info
Summary
Name                  : libffi
Version               : 3.4.7-1
Description           : Portable foreign function interface library
URL                   : https://sourceware.org/libffi/
Licences              : MIT
Repository            : core
Installed Size        : 98.9 kB
Groups                : --
Depends On            : glibc
Optional Dependencies : --
Required By           : electron31 electron32 electron33 electron34 flaresolverr-bin ghc-libs
                        gjs glib2 gnustep-base gobject-introspection guile lib32-libffi
                        libgirepository libp11-kit llvm-libs llvm18-libs openmp python
                        python-gobject python2 python2-gobject2 ruby thunderbird wayland
Optional For          : --
Provides              : libffi.so=8-64
Replaces              : --
Conflicts With        : --
Packager              : David Runge <dvzrv@archlinux.org>
Build Date            : Thu 20 Feb 2025 00:28:06 +07
Install Date          : Sat 01 Mar 2025 21:06:42 +07
Install Reason        : Installed as a dependency for another package
Validated By          : Signature
Backup files          : --

pamac remove libffi

Move on to the next.

New out put:

    ~  pamac remove libffi                                                                            ✔ 
Preparing...
cp: cannot access '/var/lib/pacman/sync/download-vackQq': Permission denied
Checking dependencies...
Error: Failed to prepare transaction:
could not satisfy dependencies:
- removing libffi breaks dependency 'libffi' required by glib2
- removing libffi breaks dependency 'libffi.so=8-64' required by glib2
- removing libffi breaks dependency 'libffi=3.4.6' required by lib32-libffi

Mod edit CODE
Please use code markers using ` backticks or ~ tildes for code:

```
pasted code
```
~~~
pasted code
~~~

Remove those 2 packages which are blocking the update:

sudo pacman -R lib32-libffi lib32-pcre2

Then do your update as normal. Afterwards, you can reinstall those 2 32-bit packages (if you really need them):

sudo pacman -Syu lib32-libffi lib32-pcre2

or

pamac install lib32-libffi lib32-pcre2
1 Like

There was no feedback about community

[community]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

Just to be sure:

sudo sed -i '/\[community\]/,/Include = \/etc\/pacman.d\/mirrorlist/d' /etc/pacman.conf

(if that block exists, this command will remove it).

Then:

sudo pacman -Syu
1 Like

You are using an unmaintained and completely outdated mirror.

The community repo does not exist - removed from the repo between March 1. and March 3. as you can see from the above linked topic in Announcements

As @scotty65 and @Ben already noted - please remove the community repo from the pacman.conf

Then rebuild your mirrorlist completely

sudo pacman-mirrors --continent

Please remove any and all custom packages - then retry the sync

Make a list of alien packages

pacman -Qqem > ~/alien-package-list.txt

Remove

sudo pacman -Rdd < (pacman -Qqem)

Then run a full system sync

sudo pacman -Syu

When your system has synced succesfully - evaulate the alien-package-list.txt - only rebuild those required for your day-to-day operation.

5 Likes

new output:

sudo pacman -R lib32-libffi lib32-pcre2                                                 ✔  3s  
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing lib32-libffi breaks dependency 'lib32-libffi' required by lib32-glib2
:: removing lib32-pcre2 breaks dependency 'lib32-pcre2' required by lib32-glib2
:: removing lib32-libffi breaks dependency 'libffi.so=8-32' required by lib32-glib2
:: removing lib32-libffi breaks dependency 'lib32-libffi' required by lib32-llvm-libs
:: removing lib32-libffi breaks dependency 'lib32-libffi' required by lib32-p11-kit
:: removing lib32-libffi breaks dependency 'lib32-libffi' required by lib32-wayland

Could you please post the output of:

cat /etc/pacman.conf

I just want to make sure that you have fully removed the Community repo and there are no other issues with that file.

1 Like

new ouput:

   ~  cat /etc/pacman.conf                                                                         1 ✘ 

#
# /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 manjaro-system
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta    = 0.7
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
#Color
#NoProgressBar
# We cannot check disk space from within a chroot environment
CheckSpace
#VerbosePkgLists
#ParallelDownloads = 5

# 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 Manjaro Linux
# packagers with `pacman-key --populate archlinux manjaro`.

#
# 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 testing 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.






































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

[multilib]
SigLevel = PackageRequired
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

    ~                        

You seem to be missing the core & extra repos in your /etc/pacman.conf file. It should look like this:

#
# /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 manjaro-system
#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   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
ParallelDownloads = 4
DownloadUser = alpm
#DisableSandbox
#ILoveCandy

# 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 Arch and Manjaro Linux
# packagers with `pacman-key --populate archlinux manjaro`.

#
# 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.
#

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

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

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

[multilib]
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

You might be best off replacing your /etc/pacman.conf file with the one I’ve provided. Then, update your mirrors as per @linux-aarhus’s earlier instructions:

sudo pacman-mirrors --continent

And then see if you can update:

sudo pacman -Syu
1 Like

Missing the repo sections indeed.

Extra note:
After making the required edits and syncing etc, the following command

sudo pacman -Sc

will also provide an option to remove unused repositories (after offering to remove cache of uninstalled packages).

PS

In case it was not clear or some removals already occurred … use likely does not want to remove glib2, lib32-glib2 or other associated packages like pcre2.

1 Like

Should I replace my

file as well?

I am getting a similar error with the pacman -Syyu command:

sudo pacman -Syyu
[sudo] password for
:: Synchronizing package databases…
core 139.9 KiB 245 KiB/s 00:01 [####################################################################] 100%
extra 8.3 MiB 1753 KiB/s 00:05 [####################################################################] 100%
community.db failed to download
error: failed retrieving file ‘community.db’ from mnvoip.mm.fcix dot net : The requested URL returned error: 404
error: failed retrieving file ‘community.db’ from repo.ialab.dsu dot edu : The requested URL returned error: 404
error: failed retrieving file ‘community.db’ from ridgewireless.mm.fcix dot net : The requested URL returned error: 404
error: failed retrieving file ‘community.db’ from mirror.fcix dot net : The requested URL returned error: 404
error: failed retrieving file ‘community.db’ from coresite.mm.fcix dot net : The requested URL returned error: 404
error: failed retrieving file ‘community.db’ from forksystems.mm.fcix dot net : The requested URL returned error: 404
error: failed retrieving file ‘community.db’ from mirrors.ocf.berkeley dot edu : The requested URL returned error: 404
error: failed retrieving file ‘community.db’ from mirror.math.princeton dot edu : The requested URL returned error: 404

In your case you have the original problem of not managing your pacnews - and in particular the removal of the [community] repo which happened 2 years ago (but the empty end points were recently formally deleted).

Replacing your file with the example above would technically ‘fix’ this particular issue but one should become familiar with pacnews in general … and do that maintenance with the likely multiple other pacnew/pacsave files already existing and any future ones that may be created.

See the dozens of related recent threads, the update announcement, the pinned topic, etc.

1 Like

OK so I dug around a bit and did the following:

$sudo nano /etc/pacman.conf

and commented out the following:

#[community]
#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist

saved the file and then did

sudo pacman -Syyu

And it did a great deal of downloading and thrashing but it seems to be happy. I rebooted the computer just to be sure, and PTL, it came back to the login box and I was able to log in!!
I clicked on the shield icon in the lower right tray of the desktop (presumably it runs pamac GUI) and it said the system was up to date. I clicked on refresh and it still said it was up to date. I rebooted again and it seems tobe happy so I am going to resume my work now with a BIG sigh of relief!

1 Like

Haha yes, that’s crazy.

You might want to have another edit and remove the # from color

 33 # Misc options
 34 #UseSyslog
 35 Color

Also, if you’re old like me and played pacman a lot:

ILoveCandy
3 Likes

After a few tries I am able to run ‘sudo pacman -Syu’ without any issues.
I had to remove syncthingtray in order to achieve this,
Now need help to install syncthingtray.
out put is:

    ~  pamac build syncthingtray                                                             1 ✘  4s  
Failed to read AUR data from /var/lib/pacman/sync/packages-meta-ext-v1.json.gz : Error opening file /var/lib/pacman/sync/packages-meta-ext-v1.json.gz: No such file or directory
Failed to read AUR data from /var/lib/pacman/sync/packages-meta-ext-v1.json.gz : Error opening file /var/lib/pacman/sync/packages-meta-ext-v1.json.gz: No such file or directory
Error: target not found: syncthingtray
~~~