ubuntuusers.de

sddm startet nicht wegen "symbol lookup error"

Status: Ungelöst | Ubuntu-Version: Kubuntu 26.04 (Resolute Raccoon)
Antworten |

jmoellers

Anmeldungsdatum:
21. Juli 2026

Beiträge: 12

Mooi'n, Ich habe heute Kubuntu 26.04 installiert. Update von 22.04 hat weder auf 24.04.4 noch auf 26.04 funktioniert und überhaupt mache ich gerne bei Upgrades eine komplette Neuinstallation, damit wird man 'ne Menge Altlasten los.

Die Installation hat i.W: gut geklappt (mir ging kurz der Popo auf Grundeis, weil ich meine verschiedenen Arbeitspartitionen nicht wiedergefunden habe, ich hatte komplett vergessen, daß ich eigentlich nur das Root-Verzeichnis in einer physikalische Partition habe und alles andere (Home-Verzeichnis, virtuelle Platten für VMs, ...) als logical volumes).

Ich habe dann angefangen, diverse Pakete zu installieren, die ich für meine Spielereien (bin Rentner, "Arbeit" möchte ich hier nicht schreiben) brauchte. Irgendwann bekam ich aber nach einem Neustart einen schwarzen Bildschirm: kein Login-Screen (sddm)! Ich habe mich dann auf einem virtuellen TTY einge-log-t und bin dann nach etwas suchen auf folgende Fehlermeldung gestoßen: /usr/bin/sddm: symbol lookup error: /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4: undefined symbol: nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation

Ich habe dann versucht, die zuletzt installierten Pakete (libnet-mqtt-simple-perl, openssh-server, nfs-common, xsane, dosbox) zu purge-n, das hat abe nix geholfen. Was mich etwas irritiert ist, daß es ein libcurl-gnutls.so.3 gibt, welches ein Symlink auf libcurl-gnutls.so.4 ist (was wiederum ein Symlink auf libcurl-gnutls.so.4.8.0 ist, aber DAS ist ja OK).

Hat jemand das (den "symbol lookup error") schon mal gesehen und kann mir hier weiter helfen? AKtuell würde ich jetzt neu installieren (nicht dramatisch) und mir dann erst mal die libcurl-gnutls angucken.

Bin für jeden Hinweis dankbar,

Josef

Moderiert von schwarzheit:

Dem Spamfilter entrissen.

schragge

Anmeldungsdatum:
27. Januar 2022

Beiträge: 237

Versuch mal

sudo apt reinstall libcurl3t64-gnutls libnghttp2-14 

Übrigens, hier ist was ich kriege mit readelf

1
2
3
4
$ readelf -sW /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4|awk '/rfc9113/,$0=$1$NF'
202:nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
$ readelf -sW /usr/lib/x86_64-linux-gnu/libnghttp2.so.14|grep rfc9113_|column -to' '
84: 0000000000017570 15 FUNC GLOBAL DEFAULT 13 nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation

bzw. mit objdump

1
2
3
4
$ objdump -R /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4|grep rfc9113
00000000000eaa00 R_X86_64_JUMP_SLOT  nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
$ objdump -T /usr/lib/x86_64-linux-gnu/libnghttp2.so.14|grep rfc9113_|column -to' '
0000000000017570 g DF .text 000000000000000f Base nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation

und ldd

1
2
$ ldd /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4|grep nghttp2|tr -d \\t
libnghttp2.so.14 => /usr/lib/x86_64-linux-gnu/libnghttp2.so.14 (0x000072ff49e99000)

jmoellers

(Themenstarter)

Anmeldungsdatum:
21. Juli 2026

Beiträge: 12

Erst mal Danke für Deine Hilfe.

Der reinstall von den beiden Libraries hat nix gebracht:

1
2
# sddm
sddm: symbol lookup error: /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4: undefined symbol: nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation

Der readelf von libcurl zeigt mit dem awk das selbe, wenn ich jedoch nur nach dem Funktionsnamen suche kommt:

    202: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation

Das bedeutet ja, daß die Funktion in libcurl-gnutls.so.4 nicht definiert ist, der readelf von libnghttp2.so.14 zeigt, daß sie da liegt:

    84: 0000000000017570    15 FUNC    GLOBAL DEFAULT   13 nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation

Dh daß die libcurl-gnutls.so.4 die libnghttp2.so.14 erfordert, das passiert aber nicht!

Ich habe mehrere Varianten von ldconfig (mit und ohne löschen von /etc/ld.so.cache) versucht, das hat aber alles nix gebracht. "ldconfig -p | fgrep nghttp2" zeigt nur

        libnghttp2.so.14 (libc6,x86-64) => /usr/local/lib/libnghttp2.so.14
        libnghttp2.so.14 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libnghttp2.so.14
        libnghttp2.so (libc6,x86-64) => /usr/local/lib/libnghttp2.so

Ich würde jetzt erwarten, daß da auch "libcurl-gnutls.so.4 ⇒ /usr/local/lib/libnghttp2.so.14" kommt!?!?

Ich bin jetzt schon 4 Jahre aus dem Business 'raus und kenne mich jetzt nicht mehr so gut in diesem Library Gedöns aus. Kann ich irgendwie diese Abhängigkeit der libcurl von der libnghttp2 da irgendwie 'reinkriegen?

Josef

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 6387

Ich kupfer mal einfach ab, was bei mir installiert ist, und überlasse das als Vorschlag, mal versuchsweise grobmotorisch die DEB-Pakete zu reinstallieren, die bei mir auf meiner Kubuntu Resolute Raccoon Installation zusammen funktionieren:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
sudo apt install --reinstall \
kde-config-sddm \
sddm \
sddm-theme-breeze \
libgnutls-dane0t64:amd64 \
libgnutls-openssl27t64:amd64 \
libgnutls28-dev:amd64 \
libgnutls30t64:amd64 \
libgnutls30t64:i386 \
curl \
libcurl3t64-gnutls:amd64 \
libcurl3t64-gnutls:i386 \
libcurl4-gnutls-dev:amd64 \
libcurl4t64:amd64 \
r-cran-curl \
r-cran-rcurl \
libnghttp2-14:amd64 \
libnghttp2-14:i386 \
libnghttp2-dev:amd64

jmoellers

(Themenstarter)

Anmeldungsdatum:
21. Juli 2026

Beiträge: 12

PS Ich habe jetzt mal sddm mit strace laufen lassen, dann nach "openat(.*\.so" gefiltert und sehe:

openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4", O_RDONLY|O_CLOEXEC) = 3 (Zeile 41)
openat(AT_FDCWD, "/usr/local/lib/libnghttp2.so.14", O_RDONLY|O_CLOEXEC) = 3 (Zeile 47)

Nach meinem Verständnis ist das doch genau das, was ich meine, was passieren sollte: libcurl-gnutls wild geladen, die Funktion ist nicht definiert, dann wird libnghttp2 geladen und die Adresse der Funktion wird eingetragen.

Und selbst wenn ich die libnghttp2 mit LD_PRELOAD zuerst lade, kommt der Fehler Grrr! Josef

jmoellers

(Themenstarter)

Anmeldungsdatum:
21. Juli 2026

Beiträge: 12

@trollsportverein Sportlich: Upgrading: 0, Installing: 1072, Reinstalling: 9, Removing: 0, Not Upgrading: 0

Ich versuch's einfach und wenn alles nicht klappt, installiere ich komplett neu, ich hab' eh auch noch Probleme mit dem Netzwerk: ich bekomme immer die flasche IP-Adresse, obwohl die MAC-Adresse übereinstimmt.

Josef

jmoellers

(Themenstarter)

Anmeldungsdatum:
21. Juli 2026

Beiträge: 12

Danke Euch beiden, aber ich kapituliere!

Ich habe zwar ein Netzwerk (eno1), mit dem kann ich mich auch per ssh verbinden, ich kann dann auch von dort einen meiner RasPis im Haus an-ping-en, aber an de.archive.ubuntu.com komme ich nicht 'ran, weder mit Namen noch mit IP-Adresse. In meiner FRITZ!Box sind auch keine Filter eingestellt.

Ich werde jetzt erst mal neu installieren, weil ich schon im "frantic mode" hin und her installiert, konfiguriert und so habe, so daß ich aktuell meiner Installation nicht wirklich vertraue.

Ich melde mich, wenn ich was Neues weiß,

Josef

schragge

Anmeldungsdatum:
27. Januar 2022

Beiträge: 237

Gibt es einen guten Grund warum du libnghttp2.so.14 sowohl unter /usr/lib/x86_64-linux-gnu/ als auch unter /usr/local/lib/ hast? Deine strace-Ausgabe zeigt, dass sddm es eben mit der Version von /usr/local/ versucht. Ich würde die Version in /usr/local/ löschen und nur mit der System-Version aus dem Ubuntu-Repo arbeiten.

jmoellers

(Themenstarter)

Anmeldungsdatum:
21. Juli 2026

Beiträge: 12

@schragge Ja ... hm ... weißauchnicht ... rotwerd.

Das war auf meinem alten System (20.04) da und ich habe /usr/local davon genommen.

Jetzt habe ich neu installiert und libnghttp2.so.* entfernt bzw umbenannt. Daß ich das nicht gesehen habe schiebe ich auf meinen Tunnelblick (*). Nein, ist einfach blöd, daß ich das nicht gesehen habe. Peinlich.

Es ist mal wieder ein Zeichen dafür wie gut es ist, solche Dinge mal mit anderen zu diskutieren.

Falls Ihr zu Libori in Paderborn seid, meldet Euch, ich lade Euch ein.

Vielen Dank,

Josef

(*) Den habe ich wirklich: Meine Frau fragt mich gelegentlich, was ich von dem Hemd der Person halte, mit der ich gerade gesprochen habe und ... keine Ahnung, ich habe der Person in's Gesicht gesehen.

Antworten |