Black screen on boot and does not update the system due to 'adw-gtk3' 'adw-gtk-theme'

Hi.
Tried to update my system, but the update failed due to something like adw-gtk-theme and adw-gtk3 incompatibility.
I tried updating several packages separately and there were no errors. Turned off the computer.
The next time I turned on the computer there was only a black screen.
If you enter the console (Ctrl+Alt+F2) it shows an error.
flatpak: error while loading shared libraries: libappstream.so.4: cannot open shared object file: No such file or directory.
Tried these commands:
sudo pacman-mirrors -f3
sudo pacman -Syyu
But the update does not happen and ends up with this error with ‘adw-gtk-theme’ ‘adw-gtk3’
Startx didn’t help either.
Some letters in the console are displayed as squares.
Now I can’t update and login to my system.
Can anyone tell me how to get out of this situation?
OS Linux 5.15.131-1-Manjaro

Hi and welcome,

So you forced a partial upgrade? This means broken.

So it would appear you still have access to your system?

Thats not an error.
Please provide the actual output of your problem.

If you need help with that then you might benefit from this post:

yes, I updated some packages.

There is access. The console opens and the commands work. I meant that it does not enter the desktop.

See Some GTK apps on Gnome suddenly changed to other (bright) theme in the Stable Update 2024-09-02 announcement.

This may be related, though likely not the direct cause.

Additionally, please use only

sudo pacman -Syu

with a single y when performing an update.

Be kind to the servers.


Hi @Duca and welcome to the Manjaro community.

As a new user, please take some time to familiarise yourself with Forum requirements; in particular, the many ways to use the forum to your benefit. To that end, some or all these links will be invaluable:

Last, but not least, the Stable Update Announcements, which you should check frequently for important update related information.

Cheers.

sudo pacman -Syu | curl -F ‘file=@-’ https://0x0.st

:: Updating package databases...
 core downloading...
 extra downloading...
 community downloading...
 multilib downloading...
:: A full system update is starting...
dependency resolution...
checking conflicts...
:: 'adw-gtk-theme' and 'adw-gtk3' conflict

I am relatively sure there should be more so that we could see how/why they conflict and why you supposedly need both.

Whatever it is probably some third-party/unsupported package as adw-gtk3 does not exist in the repos or the AUR.

PS.

This repo has not existed for … years now?
This likely indicates longstanding pacnews and similar that have not been managed.

1 Like

The syntax is not quite right - the output wasn’t posted to 0x0.st and you did not get a link back
You should have gotten this error instead:
curl: (26) Failed to open/read local data from file/application

it’s not this:
sudo pacman -Syu | curl -F ‘file=@-’ https://0x0.st

but this instead:
sudo pacman -Syu | curl -F 'file=@-' https://0x0.st

looks very similar - but one is correct, the other is not

this symbol: ’
vs
this symbol: ´

You can copy/paste it from this wiki page here.

You get back a link as a response which you can post here.

By the way, I also thought that this would be an error and tried to put the correct symbol, but without any problems I received the link https://0x0.st/Xxiu.txt
’ - On this forum and in the console, this character appears as a comma.
But for example, in the browser line or in the terminal, this symbol looks normal.

Output is the same as you already posted above - just partly in russian.

Is that really all you get to see when you run:
LANG=C sudo pacman -Syu
?

If that helps with the decision:
I know that I have adw-gtk-theme installed - but not adw-gtk3

I’ll probably manually type everything that’s written in my console.

> LANG=C sudo pacman -Syu | curl -F 'file=@-' https:0x0.st
[sudo] password for admin:
:: Replace adw-gtk3 with extra/adw-gtk-theme? [Y/n] y
:: Replace bashrc-manjaro with core/bash? [Y/n] y
:: Replace kauth with extra/kauth5? [Y/n] y
:: Replace kcoreaddons with extra/kcoreaddons5? [Y/n] y
:: Replace kitemmodels with extra/kitemmodels5? [Y/n] y
:: Replace manjaro-gdm-branding with extra/manjaro-gnome-settings? [Y/n] y
warning: nano-syntax-highlighting: local (2020.10.10+10+g1aa64a8-2) is newer than extra (2020.10.10-2)
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
https://0x0.st/Xx-t.txt
> LANG=C sudo pacman -Syu | curl --data-binary @- https://paste.rs
[sudo] password for admin:
:: Replace adw-gtk3 with extra/adw-gtk-theme? [Y/n] y
:: Replace bashrc-manjaro with core/bash? [Y/n] y
:: Replace kauth with extra/kauth5? [Y/n] y
:: Replace kcoreaddons with extra/kcoreaddons5? [Y/n] y
:: Replace kitemmodels with extra/kitemmodels5? [Y/n] y
:: Replace manjaro-gdm-branding with extra/manjaro-gnome-settings? [Y/n] y
warning: nano-syntax-highlighting: local (2020.10.10+10+g1aa64a8-2) is newer than extra (2020.10.10-2)
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
https://paste.rs/wbn4a

Why?

… and why did you use:

LANG=C sudo pacman -Syu | curl -F 'file=@-' https:0x0.st
instead of just
LANG=C sudo pacman -Syu

Are you on a TTY?
I guess you are - black screen and all that … :sunglasses:


You can redirect and record the output in a file - and then post the contents of that file.
Two possibilities come to mind:

script myupdaterecord
(this will start the script program and record everything that follows in the file myupdaterecord)

after that, start the command as usual:

LANG=C sudo pacman -Syu

When you are done - fail or not, when you are done recording …
press CTRL+d - to end the script program, to end the recording

(else it will keep recording everything you do and type)

Then you have everything in that file myupdaterecord and can send it:
cat myupdaterecord | curl -F 'file=@-' https://0x0.st

… or you can try:

sudo pacman -Syu | tee -a myupdaterecord

I don’t know which one will work better.
Probably script .

Why a different method?

because your current output doesn’t show what is conflicting with what - and why.

There is an error, but no explanation for it.

That info is usually shown - but it is visible not in your output.

Be careful and review the recorded file before you post it! -
script will record everything, passwords included.
You likely don’t want to post that - edit the file first before you post it!


You could also chroot (manjaro-chroot -a)
Then you’d have a graphical environment and could easily copy/paste the output.


I’d say (speculation):
remove adw-gtk3 (as I don’t have it in my Gnome installation)
essentially: remove the source of the conflict
and then run the update again

I can’t verify this at the moment, but I believe that pacman sends some useful information to stderr, so maybe this modification would help:

LANG=C sudo pacman -Syu 2>&1 | curl -F 'file=@-' https://0x0.st  # standard version
LANG=C sudo pacman -Syu |& curl -F 'file=@-' https://0x0.st  # bash shortcut

I can’t either - but there is something missing.

It may be difficult when only a TTY is available.
And no experience …

script will record literally everything

The other relatively easy option is manjaro-chroot -a
from USB boot and the ability to easily copy/paste output.

… why not remove the apparent source of the problem/conflict:
remove adw-gtk3 ?

How to properly remove this conflict?

  • For a local installation: rm -r ~/.local/share/themes/adw-gtk3*
  • For a global installation: sudo rm -r /usr/share/themes/adw-gtk3*

Flatpak: flatpak uninstall org.gtk.Gtk3theme.adw-gtk3 org.gtk.Gtk3theme.adw-gtk3-dark

None of that!
(works for a local installation, though
but then again:
the package manager wouldn’t know about it - and would not complain
like it clearly does …)

That is not how the package manager works!

Use the package manager!
Don’t just delete stuff without it (the package manager) knowing about it.

desist!

Use pacman -R ...
or even
pacman -Rns ...
to remove it.

Be careful - look at what will be done.
It will be shown to you … before you commit to what is shown to you.

LANG=C sudo pacman -R adw-gtk3 | curl -F 'file@-' https://0x0.st
[sudo] password for admin:
error: failed to init transaction (unable to lock database)
error: could not lock database: File exists
if you're sure a package manager is not already
running, you can remove /var/lib/pacman/db.lck
451 Unavailable For Legal Reasons

and again you used the redirection to https://0x0.st

LANG=C sudo pacman -R adw-gtk3 | curl -F 'file@-' https://0x0.st

Why?

Why not show the result of:

LANG=C sudo pacman -R adw-gtk3

for example

and:
there is no link to the output of that command

was supposed to provide it

it didn’t.

There was no link.
You gave none.

Uhm…

I would maybe ask for something like this then

LANG=C sudo pacman -Syu | tee pacout.txt
curl -F 'file=@pacout.txt' https://0x0.st

And then get the link. :slight_smile:

Its a simple error of a simple problem that will have a simple fix … but we need to see it first.

PS

Somewhere in here a typo got introduced and this URL is malformed.

PPS

This is an entirely different error - likely from having pacman open/running multiple times at once (multiple TTYs?) or from somehow exiting it non-gracefully.

I’ll just drop this here for consideration… again…
…and to make sure it doesn’t get lost in the jungle:


You will notice that this package should be replaced when the update is successfully performed. This is informational only, at this point:

LANG=C sudo pacman -Syu
:: Replace adw-gtk3 with extra/adw-gtk-theme? [Y/n] y

This is what comes out when you enter this command.

> LANG=C sudo pacman -Syu | tee pacout.txt
:: Synchronizing package databases...
error: filed to synchronize all databases (unable to lock database)