OpenBSD, CDE, pkg_add und die Fehler ...

peterle

Forenkasper
Ich bin von Slackware mal auf OpenBSD auf dem Arbeitslaptop umgestiegen. Das läuft so weit alles ganz anständig - bis auf kleinere Nickeligkeiten.

Nun habe ich auf dem Linux geraume Zeit CDE als Desktop genutzt und weil ich altes Zeug mag, auch auf OpenBSD installiert. Soweit ist das alles gut und schön und er wirft mir beim Hochfahren auch einen netten dtlogin aus.

Allerdings gibt es mit dem Terminal einige Probleme.

1) dttterm basiert auf der ksh und kann leider kein F10 sinnvoll umsetzen, so daß ich den mc damit beenden könnte.

2) Ich habe festgestellt, daß bei einem pkg_add sich der dtterm (aber auch ein xterm unter CDE) beschwert, weil einige Libraries nicht da wären.

Das sieht dann z.B. so aus:

Code:
# pkg_add firefox-esr
quirks-2.53 signed on 2015-02-22T23:00:43Z
Can't install nspr-4.10.7 because of libraries
|library c.78.1 not found
| /usr/lib/libc.so.66.2 (system): bad major
| /usr/lib/libc.so.69.0 (system): bad major
| /usr/lib/libc.so.73.1 (system): bad major
| /usr/lib/libc.so.77.0 (system): bad major
|library pthread.18.1 not found
| /usr/lib/libpthread.so.17.0 (system): bad major
| /usr/lib/libpthread.so.17.3 (system): bad major
| /usr/lib/libpthread.so.18.0 (system): minor is too small
Can't install nss-3.17.3 because of libraries
|library sqlite3.28.0 not found
| /usr/lib/libsqlite3.so.21.0 (system): bad major
| /usr/lib/libsqlite3.so.23.0 (system): bad major
| /usr/lib/libsqlite3.so.26.0 (system): bad major
| /usr/lib/libsqlite3.so.27.0 (system): bad major
Direct dependencies for nss-3.16.2->3.17.3 resolve to nspr-4.10.6
Full dependency tree is nspr-4.10.6
Can't install firefox-esr-31.4.0: can't resolve nss-3.17.3,nspr-4.10.7
Not obsolete: nspr-4.10.6
Not obsolete: nss-3.16.2
Couldn't find updates for nspr-4.10.6, nss-3.16.2

Mich macht das ziemlich ratlos und auch im WWW kann ich nichts brauchbares dazu finden.
Unter einer ganz normalen root-shell geht das alles und auch unter fvwm ist der Fehler nicht da.

Ich vermute also, daß irgendwelche Libraries verbogen werden.
 
Für mich sehen die Fehler erstmal danach aus, dass -current wieder geupdatet werden müsste.

Ich kann mir das schwer vorstellen, aber sagst du, dass zur gleichen Zeit ein pkg_add über die Konsole funktioniert, er sich aber via xterm über die fehlenden Libs beschwert?

Existiert denn "/usr/lib/libc.so.78.1"?
 
Code:
# ls -la /usr/lib/libc.so.78.1
ls: /usr/lib/libc.so.78.1: Datei oder Verzeichnis nicht gefunden
# ls -la /usr/lib/libc.so*   
-r--r--r--  1 root  bin  3247130 Mar 13  2013 /usr/lib/libc.so.66.2
-r--r--r--  1 root  bin  3303659 Jul 30  2013 /usr/lib/libc.so.69.0
-r--r--r--  1 root  bin  3301251 Feb  7  2014 /usr/lib/libc.so.73.1
-r--r--r--  1 root  bin  3285848 Aug  8  2014 /usr/lib/libc.so.77.0

Code:
# uname -a
OpenBSD ***HOSTNAME*** 5.6 GENERIC.MP#333 amd64

Auf der Konsle gibt es keine Probleme, unter fvwm mit startx gestartet, gibt es im xterm auch keine Probleme.

Allerdings habe ich CDE auf 5.5 oder 5.4 gebaut und vielleicht sollte ich es einfach nochmal unter 5.6 bauen. Ich verstehe aber aktuell nicht wirklich warum pkg_add das anmeckert.
 
Also "/usr/lib/libc.so.78.1" ist definitiv -current, mich wundert, dass versucht wird, die neueste Version zu installieren.
Bist du sicher, dass nicht vielleicht dein PKG_PATH verbogen wird bzw. er auf einen falschen installpath in /etc/pkg.conf zurückfällt?
 
Nö ...

dtterm:
Code:
# env |grep PKG
# more /etc/pkg.conf  
installpath = ftp://ftp.eu.openbsd.org/pub/OpenBSD/snapshots/packages/amd64/
#

terminal
Code:
# env |grep PKG
PKG_PATH=http://ftp.halifax.rwth-aachen.de/pub/OpenBSD/5.6/packages/amd64/

... also flott geändert und ...

dtterm
Code:
# pkg_add firefox-esr
firefox-esr-31.0: ok

Du hast Recht!
Ich hatte von 5.4 auf current und dann auf 5.5 und 5.6 upgedatet und da muß ich den doofen Eintrag vergessen haben.

Kann man den irgendwie standardisieren, daß er auf der aktuell installierten Version bleibt und ich die pkg.conf einfach wieder vergessen kann?
 
Ich verwende folgendes Konstrukt:
Code:
PKG_PATH=ftp://ftp.eu.openbsd.org/pub/OpenBSD/`uname -r`/packages/`arch -s `
 
was ist denn die Ausgabe von uname -r ?

ich denke, auf current dürfte der Platzhalter nicht funktionieren, da wäre die Ausgabe aktuell 5.7
 
Code:
$ arch -s
amd64
$ uname -r
5.6

Die Auflösung funktioniert wohl und als Variable im PKG_PATH wird das auch funktionieren, nur in der /etc/pkg.conf scheint es nicht zu funktionieren, da er dann meldet, daß er den Pfad nicht findet.
 
Natürlich kann man sich auch auf den installpath verlassen, z.B. wenn man immer -current laufen hat, wenn aber unter -release mal ein Upgrade auf eine neuere Version gemacht wird (via ISO oder vorher heruntergeladenen Sets, hauptsache nicht HTTP), tritt der gleiche Effekt wie bei peterle auf und die /etc/pkg.conf ist inkonsistent.

Ich handhabe es persönlich so, dass immer der PKG_PATH gesetzt und exportiert wird. Um es recht dynamisch zu halten, könnte man folgendes in .profile verwenden:

Code:
rel() {
        set -- $(sysctl -n kern.version |
            sed 's/^OpenBSD \([0-9]\.[0-9]\)\([^ ]*\).*/\1 \2/;q')

        local version=$1 tag=$2

        [[ $tag != -stable ]] && version=snapshots

        echo $version
}

export PKG_PATH=http://ftp.halifax.rwth-aachen.de/pub/OpenBSD/$(rel)/packages/$(machine -a)
 
Zurück
Oben