openSSH: ./configure klappt nicht
Hallo! Da ich die neueste OpenSSH Version auf meinem SuSE 7.2pro nutzen möchte, habe ich openSSL und openSSH deinstalliert und dann (wie in der INSTALL von openssh-3.4p1.tar.gz beschrieben) zunächst zlibs-1.1.4.tar.gz und dann openssl-0.9.6g.tar.gz installiert (openssl in folgender Reihenfolge: ./config, make, make test, make install -alles ohne Probleme). Danach habe ich ./configure von openSSH aufgerufen, mit folgendem Ergebnis: root@linuxserver:/tmp/openssh-3.4p1 > ./configure [...] checking whether snprintf correctly terminates long strings... yes checking whether getpgrp requires zero arguments... yes checking whether OpenSSL's headers match the library... no configure: error: Your OpenSSL headers do not match your library root@linuxserver:/tmp/openssh-3.4p1 > Also habe ich in den Mailinglisten nachgesehen und das Skript findssl gefunden (man kann in der Mailingliste nach "openssl +header" suchen, da gibt es eine Diskussion über das Problem, dass openssl nicht gefunden wird und als Ergebnis steht "findssl") und ausgeführt, mit folgender Ausgabe: root@linuxserver:/tmp/openssh-3.4p1 > ./findssl.sh Searching for OpenSSL header files. Searching for OpenSSL shared library files. Searching for OpenSSL static library files. root@linuxserver:/tmp/openssh-3.4p1 > Danach habe ich nochmal openssh's ./configure aufgerufen, wieder mit folgendem Ergebnis: root@linuxserver:/tmp/openssh-3.4p1 > ./configure [...] checking whether snprintf correctly terminates long strings... yes checking whether getpgrp requires zero arguments... yes checking whether OpenSSL's headers match the library... no configure: error: Your OpenSSL headers do not match your library root@linuxserver:/tmp/openssh-3.4p1 > Kann mir jemand sagen, wie ich das hinbekomme? Ach ja, bei der Gelegenheit, wie überzeuge ich Yast davon, dass openSSL installiert ist, obwohl es nicht via Yast (sondern als source) installiert ist? Danke! Stefan
Stefan Schilling wrote:
Da ich die neueste OpenSSH Version auf meinem SuSE 7.2pro nutzen möchte, habe ich openSSL und openSSH deinstalliert und dann (wie in der INSTALL von openssh-3.4p1.tar.gz beschrieben) zunächst zlibs-1.1.4.tar.gz und dann openssl-0.9.6g.tar.gz installiert (openssl in folgender Reihenfolge: ./config, make, make test, make install -alles ohne Probleme).
Statt "make install" haettest Du besser "checkinstall" benutzen sollen! Siehe Erlaeuterung unten.
Danach habe ich ./configure von openSSH aufgerufen, mit folgendem Ergebnis:
root@linuxserver:/tmp/openssh-3.4p1 > ./configure [...] checking whether snprintf correctly terminates long strings... yes checking whether getpgrp requires zero arguments... yes checking whether OpenSSL's headers match the library... no configure: error: Your OpenSSL headers do not match your library root@linuxserver:/tmp/openssh-3.4p1 >
Du solltest Software NIE als root compilieren! Fuehre ./configure und das Compilieren immer als normaler User aus, denn root hat an- dere Verzeichnisse (und wesentlich weniger) im Pfad, so dass mit- unter einiges nicht gefunden wird. Nur zum Installieren brauchst Du Root-Rechte. Fuehre also o.a. Prozedur nochmal als normaler User aus. Sieht so aus, als haettest Du nun eine Bibliothek, die nicht mehr zu den Header-Files passt. Hast Du nach dem Installieren als root ein "ldconfig" aufgerufen? Wenn nicht, nachholen. Hast Du das alte Paket incl. *-devel Paket vollstaendig entfernt gehabt? Es sieht so aus, als haettest Du nun zwei unterschiedliche Versionen auf der Platte.
Also habe ich in den Mailinglisten nachgesehen und das Skript findssl gefunden (man kann in der Mailingliste nach "openssl +header" suchen, da gibt es eine Diskussion über das Problem, dass openssl nicht gefunden wird und als Ergebnis steht "findssl") und ausgeführt, mit folgender Ausgabe:
Bei Dir wird openSSL ja gefunden, nur passen die Header-Files nicht zur installierten Bibliothek. Das ist was anderes.
Danach habe ich nochmal openssh's ./configure aufgerufen, wieder mit folgendem Ergebnis: [...] configure: error: Your OpenSSL headers do not match your library root@linuxserver:/tmp/openssh-3.4p1 >
Logisch, warum sollte sich das durch das Skript "findssl" denn aen- dern?
Kann mir jemand sagen, wie ich das hinbekomme? Ach ja, bei der Gelegenheit, wie überzeuge ich Yast davon, dass openSSL installiert ist, obwohl es nicht via Yast (sondern als source) installiert ist?
So im Nachhinein wahrscheinlich gar nicht, ausser Du bastelst Dir ein Dummy-RPM fuer openSSL und installierst das. Aber ich wuerde eher das Tool "checkinstall" verwenden - das wird statt einem "make install" aufgerufen und packt Dir selbstaendig ein RPM-File, welches dann installiert wird. So bleibt die RPM-Datenbank immer aktuell und konsistent. Theoretisch kannst Du das auch jetzt noch machen und openSLL einfach nochmal installieren ueber checkinstall. Gruessse, Thomson -- Thomas Hertweck, Dipl.-Geophys. Geophysikalisches Institut, Universitaet Karlsruhe (TH)
Guten Tag Thomas Hertweck, Am Freitag, 4. Oktober 2002 um 16:02 schrieb Thomas Hertweck:
Stefan Schilling wrote:
Du solltest Software NIE als root compilieren! Fuehre ./configure und das Compilieren immer als normaler User aus, denn root hat an- dere Verzeichnisse (und wesentlich weniger) im Pfad, so dass mit- unter einiges nicht gefunden wird. Nur zum Installieren brauchst Du Root-Rechte. Fuehre also o.a. Prozedur nochmal als normaler User aus.
ok. Ich hab´s gemacht und es funktionierte wunderbar. Openssl war also installiert, somit konnte ich mich openssh zuwenden. Dies klappte (nach einem Neustart; vorher kam immer noch die Fehlermeldung, danach nicht mehr). Jedenfalls habe ich openssh installiert und freute mich auf die nun sichere Benutzung. Leider Fehlanzeige: es scheint, als würde der Server nicht gestartet (ausserdem liegen die Dateien in Verzeichnissen à la /usr/local/bin, wo leider nicht nach Einträgen gesucht wird). Naja, ich habe dann mal weiter gesucht und unter ../openssh-3.4p1/contrib/suse noch ein paar Dateien gefunden, mit denen man -laut enthaltener Beschreibung ein passendes SuSE - ssh erstellen kann. Also habe ich in meinem jugendlichem Eifer einfach mal "make -f contrib/suse/openssh.spec" aufgerufen, was jedoch mit stefan@linuxserver:/tmp/openssh-3.4p1 > make -f contrib/suse/openssh.spec contrib/suse/openssh.spec:4: *** target pattern contains no `%'. Stop. stefan@linuxserver:/tmp/openssh-3.4p1 > ALso habe ich zunächst openssh wieder deinstalliert und auch mittels des mc auch nach weiteren ssh's gesucht und gelöscht. Danach habe ich das .spec einfach nach /tmp/openssh-3.4p1/openssh-3.4p1.spec kopiert und dann nochmals checkinstall ausgeführt. Dabei kam dann folgende Meldung ************************************** **** RPM package creation selected *** ************************************** RPMSOURCEDIR=/usr/src/packages Building RPM package... FAILED! *** Failed to build the package Do you want to see the log file? [y]: Fehler: failed build dependencies: glibdev wird von openssh-3.4p1-1 gebraucht gtkdev wird von openssh-3.4p1-1 gebraucht gnlibsd wird von openssh-3.4p1-1 gebraucht Building target platforms: i386 Building for target i386 Erasing temporary files...OK Deleting doc-pak directory...OK Deleting temp dir...OK root@linuxserver:/tmp/openssh-3.4p1 > Meine Frage ist nun: was muss ich machen, damit das funzt (es scheint mir, als würde er noch was brauchen, jedoch weiss ich nicht genau, wie ich an diese Pakete rankommen soll...) Die andere Variante wäre nu noch, einfach den Serverbetrieb mit der "originalen" openssh-3.4p1.spec ans Laufen zu bekommen. Jedoch weiss ich nicht, wie man das macht...?
So im Nachhinein wahrscheinlich gar nicht, ausser Du bastelst Dir ein Dummy-RPM fuer openSSL und installierst das. Aber ich wuerde eher das Tool "checkinstall" verwenden - das wird statt einem "make install" aufgerufen und packt Dir selbstaendig ein RPM-File, welches dann installiert wird. So bleibt die RPM-Datenbank immer aktuell und konsistent. Theoretisch kannst Du das auch jetzt noch machen und openSLL einfach nochmal installieren ueber checkinstall.
toll. ich hatte von dem Tip schon mal gehört, jedoch liefs da nicht.. Danke und ciao, Stefan
Gruessse, Thomson
-- Mit freundlichen Grüssen Stefan Schilling mailto:mail.suse@gmx.de
Hallo,
Stefan Schilling
Hallo! [...]
checking whether snprintf correctly terminates long strings... yes checking whether getpgrp requires zero arguments... yes checking whether OpenSSL's headers match the library... no configure: error: Your OpenSSL headers do not match your library root@linuxserver:/tmp/openssh-3.4p1 >
1. Suche mal, ob openssl die neuen include Dateien in ein eigenes Verzeichnis verschoben hat, z.B. nach /usr/local/include/openssl/ oder aehnliches. 2. Prüfe, ob in /usr/linclude/openssl noch alte Headerdateien vorhanden sind. 2. Füge configure --with-includedir=/pfad/auf/openssl hinzu. Oder füge den Kompileranweisungen nich ein Flag hinzu, z.B. CPPFLAGS="/pfad/auf/openssl/include" -Dieter -- Dieter Kluenter | Systemberatung Tel:040.64861967 | Fax: 040.64891521 mailto: dkluenter@schevolution.com http://www.schevolution.com/tour
On Freitag, 4. Oktober 2002 14:01, Stefan Schilling wrote:
Hallo!
Da ich die neueste OpenSSH Version auf meinem SuSE 7.2pro nutzen möchte, habe ich openSSL und openSSH deinstalliert und dann (wie in der INSTALL von openssh-3.4p1.tar.gz beschrieben) zunächst zlibs-1.1.4.tar.gz und dann openssl-0.9.6g.tar.gz installiert (openssl in folgender Reihenfolge: ./config, make, make test, make install -alles ohne Probleme). Danach habe ich ./configure von openSSH aufgerufen, mit folgendem Ergebnis:
root@linuxserver:/tmp/openssh-3.4p1 > ./configure
[...]
checking whether snprintf correctly terminates long strings... yes checking whether getpgrp requires zero arguments... yes checking whether OpenSSL's headers match the library... no configure: error: Your OpenSSL headers do not match your library root@linuxserver:/tmp/openssh-3.4p1 >
Ruf mal ./configure --help auf, und zwar in allen Paketen, die du bereits installiert hast. Steht darin, das er als prefix-default /usr/local verwenden will, wird es auf SuSE nicht laufen. Nochmal neu: make distclean ./configure --prefix=/usr make .... blah. <Earny> PS: Das was in /usr/local drinsteht, kannst du dann löschen, wenn es geht;-)
Guten Tag Ernst Herzberg, Am Samstag, 5. Oktober 2002 um 03:52 schrieb Ernst Herzberg:
On Freitag, 4. Oktober 2002 14:01, Stefan Schilling wrote:
Hallo!
Da ich die neueste OpenSSH Version auf meinem SuSE 7.2pro nutzen möchte, habe ich openSSL und openSSH deinstalliert und dann (wie in der INSTALL von openssh-3.4p1.tar.gz beschrieben) zunächst zlibs-1.1.4.tar.gz und dann openssl-0.9.6g.tar.gz installiert (openssl in folgender Reihenfolge: ./config, make, make test, make install -alles ohne Probleme). Danach habe ich ./configure von openSSH aufgerufen, mit folgendem Ergebnis:
root@linuxserver:/tmp/openssh-3.4p1 > ./configure
[...]
checking whether snprintf correctly terminates long strings... yes checking whether getpgrp requires zero arguments... yes checking whether OpenSSL's headers match the library... no configure: error: Your OpenSSL headers do not match your library root@linuxserver:/tmp/openssh-3.4p1 >
Ruf mal ./configure --help auf, und zwar in allen Paketen, die du bereits installiert hast. Steht darin, das er als prefix-default /usr/local verwenden will, wird es auf SuSE nicht laufen.
Nochmal neu:
make distclean ./configure --prefix=/usr make .... blah.
ok, habe ich gemacht. d.h. ich kann jetzt als Benutzer mich auf einem anderem Rechner einwählen. Andersrum, laos von meiner Win98 zum linux klappt nicht -> der Serverdienst scheint nicht gestartet zu werden. Meine Überlegung war ja nun, das Ganze richtig passend für SuSE zu machen. Er sucht so wie´s aussieht nach einer bestimmten Library (gnlibsd -die anderen habe ich). Jedoch habe ich keine Ahnung, wie ich an die ran komme. Weisst du das?
<Earny>
Earny? Du meine Güte. Hat das eine bestimmte Bedeutung (weil Ernst -> Earny...) :))? Ciao, Stefan
PS: Das was in /usr/local drinsteht, kannst du dann löschen, wenn es geht;-)
passiert. -- Mit freundlichen Grüssen Stefan Schilling mailto:mail.suse@gmx.de
Hallo nochmal! Also, da das mit dem Verbinden nicht geklappt hat, habe ich sowohl ssl als auch ssh deinstalliert. Ein grosser Fehler. Jetzt habe ich folgendes gemacht: stefan@linuxserver:/tmp/ > gunzip -cd openssl-0.9.6g.tar.gz | tar xfv - stefan@linuxserver:/tmp/ > cd openssl-0.9.6g stefan@linuxserver:/tmp/openssl-0.9.6g > ./config shared stefan@linuxserver:/tmp/openssl-0.9.6g > make stefan@linuxserver:/tmp/openssl-0.9.6g > make test stefan@linuxserver:/tmp/openssl-0.9.6g > su <Password> root@linuxserver:/tmp/openssl-0.9.6g > checkinstall root@linuxserver:/tmp/openssl-0.9.6g > ldconfig root@linuxserver:/tmp/openssl-0.9.6g > reboot stefan@linuxserver:/tmp/openssl-0.9.6g > su <Password> root@linuxserver:/tmp/openssl-0.9.6g > ldconfig root@linuxserver:/tmp/openssl-0.9.6g > exit stefan@linuxserver:/tmp/ > gunzip -cd openssh-3.4p1.tar.gz | tar xfv - stefan@linuxserver:/tmp/ > cd openssh-3.4p1 stefan@linuxserver:/tmp > ./configure --prefix=/usr --with-tcp-wrappers --with-md5-passwords [...] checking whether getpgrp requires zero arguments... yes checking whether OpenSSL's headers match the library... no configure: error: Your OpenSSL headers do not match your library stefan@linuxserver:/tmp/openssh-3.4p1 > Falls jemandem nochmal was einfallen sollte, bitte melden, k?
Ich habe mir da auch schon Einiges abgebrochen und dann aufgegeben. Da spielt openssh mit openssl und PAM mit und Alles reichlich SuSE gepatcht und mit netten Schnittstellen- Änderungen zwischen den Versionen (PAM und SSL jedenfalls). Also nehme ich die SuSE-RPMs, vielleicht wird die Situation mit SuSE 8.2 ja besser? Kann eigentlich nur .o) Oder man nimmt die SuSE srpms und vollzieht die Paches und Änderungen nach - nur _die_ Arbeit wollte ich mir nicht machen. Vergiß nicht: bei ssh spielt PAM auch noch mit rein <schauder>. Gruss -- Michael Zimmermann (http://vegaa.de)
Hallo Stefan, Stefan Schilling wrote:
Hallo nochmal!
Also, da das mit dem Verbinden nicht geklappt hat, habe ich sowohl ssl als auch ssh deinstalliert. Ein grosser Fehler. Jetzt habe ich folgendes gemacht:
stefan@linuxserver:/tmp/ > gunzip -cd openssl-0.9.6g.tar.gz | tar xfv - stefan@linuxserver:/tmp/ > cd openssl-0.9.6g stefan@linuxserver:/tmp/openssl-0.9.6g > ./config shared stefan@linuxserver:/tmp/openssl-0.9.6g > make stefan@linuxserver:/tmp/openssl-0.9.6g > make test stefan@linuxserver:/tmp/openssl-0.9.6g > su <Password> root@linuxserver:/tmp/openssl-0.9.6g > checkinstall root@linuxserver:/tmp/openssl-0.9.6g > ldconfig root@linuxserver:/tmp/openssl-0.9.6g > reboot
stefan@linuxserver:/tmp/openssl-0.9.6g > su <Password> root@linuxserver:/tmp/openssl-0.9.6g > ldconfig root@linuxserver:/tmp/openssl-0.9.6g > exit stefan@linuxserver:/tmp/ > gunzip -cd openssh-3.4p1.tar.gz | tar xfv - stefan@linuxserver:/tmp/ > cd openssh-3.4p1 stefan@linuxserver:/tmp > ./configure --prefix=/usr --with-tcp-wrappers --with-md5-passwords [...] checking whether getpgrp requires zero arguments... yes checking whether OpenSSL's headers match the library... no configure: error: Your OpenSSL headers do not match your library stefan@linuxserver:/tmp/openssh-3.4p1 >
Falls jemandem nochmal was einfallen sollte, bitte melden, k?
probier doch mal folgendes: Installiere wieder OpenSSL und OpenSSH von den SuSE CD's. Anschliessend installierst Du die neuen Versionen. Jedenfalls hat es so bei mir geklappt. Der neue Daemon wird zwar so auch nicht gestartet aber Du musst dazu folgendes tun: chown root:sys /var/empty chmod 755 /var/empty groupadd -g 74 sshd useradd -u 74 -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd dann kanst Du den daemon erstmal von Hand starten: entweder mal das Script /sbin/init.d/sshd (bei SuSE 7.0) bzw. /etc/init.d/sshd anschauen, dort steht wie man den deamon stoppt|start|restart. Aber leider funktioniert dann das einloggen nur einmalig. Anschliessend scheint der Daemon sich zu verabschieden. Aber nach einem Neustart ist alles wie gewohnt wenn man zuvor dass Script auf den neuen Pfad (default mässig liegt dieser auf /usr/local/sbin; also im Script den Pfad von /usr/sbin auf /usr/local/sbin abändern) eingestellt hat. Das ganze ist auch in der README.privsep beschrieben mit dem Unterschied, daß die uid 74 fehlt, was ich ebenfalls nicht verwendet habe. Aber in der News-group war man der Meinung, daß dies wegen evtl. Konflikte auf eine freie (kleine) Nummer einzustellen ist. Noch was am Rande: Auch die man-pages und die info-pages werden neu angelegt; dabei wird die Variable MANPATH entsprechend angepasst so daß beim Aufruf die aktuellen zu sehen sind. Gruss Michael
Hi Michael! Danke für deinen Tip, damit hat´s (zumindest für openssl) hingehauen... Ich habe die Sourcen nach /usr/src/packages/SOURCES und das openssl.spec nach /usr/src/packages/SPECS kopiert (und natürlich den Pfad angepasst). Die rpms wurden erstellt, ich habe sie dann installiert. Danach habe ich mich um mein eigentliches Problem gekümmert: openssh-3.4p1. Auch hier habe die Sourcen nach /usr/src/packages/SOURCES kopiert, ein -fast- fertiges .spec befandt sich zunächst in contrib/suse, kurze Zeit später in /usr/src/packages/SPECS. Da mir eine von dem .spec geforderte Lib (gnlibsd) nicht liefern konnte (komische Sache, echt), habe ich einfach alles aus dem Skript entfernt, was mit gnome-askpass zu tun hatte. Zudem habe ich noch ein paar Optionen hinzugefügt, so dass da jetzt stand: ./configure --prefix=/usr \ --with-md5-passwords \ --with-ssl-dir=/usr/local/ssl \ --sysconfdir=/etc/ssh \ --datadir=/usr/share/openssh \ --with-pam \ --with-tcp-wrappers \ --with-ipv4-default \ --libexecdir=/usr/lib/ssh Danach habe ich folgenden Befehl eingegeben: root@linuxserver:/usr/src/packages/SPECS > rpm -bb openssh.spec Nach einer Weile erhielt ich folgende Meldungen (tschuldigung, sehr umfangreich): id sshd || \ echo "WARNING: Privilege separation user \"sshd\" does not exist" id: sshd: Kein solcher Benutzer vorhanden WARNING: Privilege separation user "sshd" does not exist + install -d /tmp/openssh-3.4p1-buildroot/etc/ssh/ + install -d /tmp/openssh-3.4p1-buildroot/etc/pam.d/ + install -d /tmp/openssh-3.4p1-buildroot/sbin/init.d/ + install -d /tmp/openssh-3.4p1-buildroot/var/adm/fillup-templates + install -d /tmp/openssh-3.4p1-buildroot/usr/lib/ssh + install -m644 contrib/sshd.pam.generic /tmp/openssh-3.4p1-buildro ot/etc/pam.d/sshd + install -m744 contrib/suse/rc.sshd /tmp/openssh-3.4p1-buildroot/s bin/init.d/sshd + ln -s ../../sbin/init.d/sshd /tmp/openssh-3.4p1-buildroot/usr/sbi n/rcsshd + install -m744 contrib/suse/rc.config.sshd /tmp/openssh-3.4p1-buil droot/var/adm/fillup-templates + RPM_BUILD_ROOT=/tmp/openssh-3.4p1-buildroot + export RPM_BUILD_ROOT + test -x /usr/sbin/Check -a 0 = 0 + echo 'I call /usr/sbin/Check...' I call /usr/sbin/Check... + /usr/sbin/Check -rw-r--r-- 1 root root 3534 Okt 7 21:49 /usr/share/ info/dir.bak.gz -rw-r--r-- 1 root root 10121 Okt 7 22:43 /tmp/openss h-3.4p1-buildroot//usr/man/man1/ssh.1.gz -rw-r--r-- 1 root root 1491 Okt 7 22:43 /tmp/openss h-3.4p1-buildroot//usr/man/man1/scp.1.gz -rw-r--r-- 1 root root 2352 Okt 7 22:43 /tmp/openss h-3.4p1-buildroot//usr/man/man1/ssh-add.1.gz -rw-r--r-- 1 root root 2794 Okt 7 22:43 /tmp/openss h-3.4p1-buildroot//usr/man/man1/ssh-agent.1.gz -rw-r--r-- 1 root root 3515 Okt 7 22:43 /tmp/openss h-3.4p1-buildroot//usr/man/man1/ssh-keygen.1.gz -rw-r--r-- 1 root root 1851 Okt 7 22:43 /tmp/openss h-3.4p1-buildroot//usr/man/man1/ssh-keyscan.1.gz -rw-r--r-- 1 root root 2914 Okt 7 22:43 /tmp/openss h-3.4p1-buildroot//usr/man/man1/sftp.1.gz lrwxrwxrwx 1 root root 8 Okt 7 22:43 /tmp/openss h-3.4p1-buildroot//usr/man/man1/slogin.1.gz -> ssh.1.gz -rw-r--r-- 1 root root 7156 Okt 7 22:43 /tmp/openss h-3.4p1-buildroot//usr/man/man5/sshd_config.5.gz -rw-r--r-- 1 root root 6353 Okt 7 22:43 /tmp/openss h-3.4p1-buildroot//usr/man/man5/ssh_config.5.gz -rw-r--r-- 1 root root 9768 Okt 7 22:43 /tmp/openss h-3.4p1-buildroot//usr/man/man8/sshd.8.gz -rw-r--r-- 1 root root 1155 Okt 7 22:43 /tmp/openss h-3.4p1-buildroot//usr/man/man8/sftp-server.8.gz -rw-r--r-- 1 root root 1252 Okt 7 22:43 /tmp/openss h-3.4p1-buildroot//usr/man/man8/ssh-keysign.8.gz Checking permissions and ownerships - using /tmp/Check.perms.O0zdr4 ... setting /tmp/openssh-3.4p1-buildroot/etc/ssh/sshd_config to root.ro ot 640. + /usr/lib/rpm/brp-compress Processing files: openssh-3.4p1-1 File not found: /tmp/openssh-3.4p1-buildroot/usr/lib/ssh/ssh-askpas s File not found: /tmp/openssh-3.4p1-buildroot/usr/lib/ssh/gnome-ssh- askpass Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.1265 + umask 022 + cd /usr/src/packages/BUILD + cd openssh-3.4p1 + DOCDIR=/tmp/openssh-3.4p1-buildroot/usr/share/doc/packages/openssh + export DOCDIR + rm -rf /tmp/openssh-3.4p1-buildroot/usr/share/doc/packages/openssh + /bin/mkdir -p /tmp/openssh-3.4p1-buildroot/usr/share/doc/packages/ openssh + cp -pr ChangeLog OVERVIEW README README.privsep README.smartcard / tmp/openssh-3.4p1-buildroot/usr/share/doc/packages/openssh + cp -pr RFC.nroff TODO CREDITS LICENCE /tmp/openssh-3.4p1-buildroot /usr/share/doc/packages/openssh + exit 0 PreReq: openssl /bin/sh Obsoletes: ssh root@linuxserver:/usr/src/packages/SPECS > Da ich als Ergebnis keine rpm´s erhalte, muss also irgendwo noch ein Fehler vorliegen, jedoch weiss ich nicht wo. Hast du (bzw. die Liste, an die das ja geht und sich liebend gerne beteiligen kann...) eine Idee, woran das nu noch liegen könnte? Vielen Dank! Ciao, Stefan PS1: die Idee, zunächst einmal die 7.2 eigenen Pakete zu installieren und dann weiter zu machen hat leider nicht funktioniert (vielleicht funktioniert ja der restliche Teil, aber soweit bin ich noch nicht), das Problem war, dass er anscheinend an der falschen Stelle nach OpenSSL gesucht hat. Mit der ./configure Option ./configure --with-ssl-dir=/usr/local/ssl hat das ./configure dann geklappt. Jetzt muss ich´s nur noch installiert bekommen. PS2: der gleiche Eintrag läuft auch unter dem Thread "Re: Kompilierung geht; Start nicht", da ich sie zu verschiedenen Zeiten gestartet habe; jeweils zwar mit dem selben Problem ("geht nicht"), jedoch mit unterschiedlichen Lösungsansätzen...
Hallo Stefan, so tief stecke ich da leider nicht drin. Versuch doch mal nach dem auspacken des .tar.gz-files ein ./configure make make install (oder eben checkinstall) Stefan Schilling wrote:
Hi Michael!
Danke für deinen Tip, damit hat´s (zumindest für openssl) hingehauen...
Ich habe die Sourcen nach /usr/src/packages/SOURCES und das openssl.spec nach /usr/src/packages/SPECS kopiert (und natürlich den Pfad angepasst). Die rpms wurden erstellt, ich habe sie dann installiert.
Danach habe ich mich um mein eigentliches Problem gekümmert: openssh-3.4p1. Auch hier habe die Sourcen nach /usr/src/packages/SOURCES kopiert, ein -fast- fertiges .spec befandt sich zunächst in contrib/suse, kurze Zeit später in /usr/src/packages/SPECS. Da mir eine von dem .spec geforderte Lib (gnlibsd) nicht liefern konnte (komische Sache, echt), habe ich einfach alles aus dem Skript entfernt, was mit gnome-askpass zu tun hatte. Zudem habe ich noch ein paar Optionen hinzugefügt, so dass da jetzt stand:
./configure --prefix=/usr \ --with-md5-passwords \ --with-ssl-dir=/usr/local/ssl \ --sysconfdir=/etc/ssh \ --datadir=/usr/share/openssh \ --with-pam \ --with-tcp-wrappers \ --with-ipv4-default \ --libexecdir=/usr/lib/ssh
Danach habe ich folgenden Befehl eingegeben:
root@linuxserver:/usr/src/packages/SPECS > rpm -bb openssh.spec
Nach einer Weile erhielt ich folgende Meldungen (tschuldigung, sehr umfangreich):
id sshd || \ echo "WARNING: Privilege separation user \"sshd\" does not exist" id: sshd: Kein solcher Benutzer vorhanden WARNING: Privilege separation user "sshd" does not exist
hier scheint er schon den user 'sshd' zu erwarten. Füge diesen doch mal vor dem Aufruf hinzu wie in README.privsep beschrieben.
+ install -d /tmp/openssh-3.4p1-buildroot/etc/ssh/ + install -d /tmp/openssh-3.4p1-buildroot/etc/pam.d/ + install -d /tmp/openssh-3.4p1-buildroot/sbin/init.d/ + install -d /tmp/openssh-3.4p1-buildroot/var/adm/fillup-templates + install -d /tmp/openssh-3.4p1-buildroot/usr/lib/ssh + install -m644 contrib/sshd.pam.generic /tmp/openssh-3.4p1-buildro ot/etc/pam.d/sshd + install -m744 contrib/suse/rc.sshd /tmp/openssh-3.4p1-buildroot/s bin/init.d/sshd + ln -s ../../sbin/init.d/sshd /tmp/openssh-3.4p1-buildroot/usr/sbi n/rcsshd + install -m744 contrib/suse/rc.config.sshd /tmp/openssh-3.4p1-buil droot/var/adm/fillup-templates + RPM_BUILD_ROOT=/tmp/openssh-3.4p1-buildroot + export RPM_BUILD_ROOT + test -x /usr/sbin/Check -a 0 = 0 + echo 'I call /usr/sbin/Check...' I call /usr/sbin/Check... + /usr/sbin/Check
-- schnip ---
... setting /tmp/openssh-3.4p1-buildroot/etc/ssh/sshd_config to root.ro ot 640. + /usr/lib/rpm/brp-compress Processing files: openssh-3.4p1-1 File not found: /tmp/openssh-3.4p1-buildroot/usr/lib/ssh/ssh-askpas s File not found: /tmp/openssh-3.4p1-buildroot/usr/lib/ssh/gnome-ssh- askpass Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.1265 + umask 022 + cd /usr/src/packages/BUILD + cd openssh-3.4p1 + DOCDIR=/tmp/openssh-3.4p1-buildroot/usr/share/doc/packages/openssh + export DOCDIR + rm -rf /tmp/openssh-3.4p1-buildroot/usr/share/doc/packages/openssh + /bin/mkdir -p /tmp/openssh-3.4p1-buildroot/usr/share/doc/packages/ openssh + cp -pr ChangeLog OVERVIEW README README.privsep README.smartcard / tmp/openssh-3.4p1-buildroot/usr/share/doc/packages/openssh + cp -pr RFC.nroff TODO CREDITS LICENCE /tmp/openssh-3.4p1-buildroot /usr/share/doc/packages/openssh + exit 0 PreReq: openssl /bin/sh Obsoletes: ssh root@linuxserver:/usr/src/packages/SPECS >
Da ich als Ergebnis keine rpm´s erhalte, muss also irgendwo noch ein Fehler vorliegen, jedoch weiss ich nicht wo.
Hast du (bzw. die Liste, an die das ja geht und sich liebend gerne beteiligen kann...) eine Idee, woran das nu noch liegen könnte?
ich weiss leider nicht wo die rpm's landen aber hast Du mal die Dir's /usr/src/packages/BUILD/openssh-3.4p1 und /usr/lib/rpm/ durchschaut? Gruss Michael
Hallo! Nach unendlichen Mühen (die leider noch nicht vorbei sind, da sich meine IBM IC35L mit so komischenGeräuschen meldet...) weiss ich jetzt, woran´s liegt. zunächst muss man auch noch die Pakete - gtk(-devl), - glib(-devel) und - gnome-libs(-devel) installieren. Auf die ersten 2 kommt man ja noch rel. einfach; auf gnome-libs-devel kommt man nicht so einfach, da er ja nach gnlibsd fragt. Summerweise wurden irgendwo zwischen SuSE 7.0 und SuSE 7.2 die Namen geändert, was sich aber nirgendwo bei SuSe nachlesen läßt (zumindest nicht, wenn man nicht weiss, wo). Danach habe ich im mitgelieferten contrib/suse/openssh.spec noch ein paar ./configure Optionen hinzugefügt, so dass da jetzt steht (--with-gnome-askpass habe ich entfernt, da ich´s eh nicht brauche; für die Kompilierung jedoch noch weitere X11-Pakete gebraucht werden, was ich nicht installieren wollte): ./configure --prefix=/usr \ --sysconfdir=/etc/ssh \ --datadir=/usr/share/openssh \ --with-pam \ --with-tcp-wrappers \ --with-ipv4-default \ --libexecdir=/usr/lib/ssh \ --with-md5-passwords \ --with-ssl-dir=/usr/local/ssl make Da make aber selbst bei diesen Einstellungen nach einigen Pakete für´s Kompilieren von gnome-askapss fragt, habe ich danach noch alles entfernt, was irgendwie mit gnome oder askpass zu tun hatte. Dann habe ich dieses .spec nach /usr/src/packages/SPECS/openssh.spec; die Source - Datei nach /usr/src/packages/SOURCES/openssh-3.4p1.tar.gz. jetzt habe ich als root folgende Kommandos aufgerufen: cd /usr/src/packages/SPECS tar -bb openssh.spec damit wurde der eigentliche Vorgang gestartet, danach befand sich in /usr/src/packages/RPMS/i386 ein openssh.rpm, dass mit Yast installiert werden muss. Komischer Weise wurde bei mir keine Startdatei nach /etc/init.d/sshd kopiert, das habe ich dann selber mit der aus openssh-3.4p1#contrib/suse/rc.sshd gemacht und dann auch noch die entsprechenden Links gesetzt (in rc2.d und rc3.d jeweils S20 und K20) Jetzt nur noch in Yast Start_SSHD auf "yes" stellen -fertig. Da keine /etc/init.d/sshd erstellt wurde, gehe ich mla davon aus, dass bei einer Neuinstallation auch kein Start_SSHD - Eintrag in /etc/rc.config angelegt wird. Die entsprechenden Daten findet man widerum im Source unter contrib/suse/rc.config.sshd. Falls irgendjemand noch mal vor diesen Problemen stehen sollte, vielleicht ist ihm (oder natürlich auch ihr) ja hiermit geholfen. Ich wünsche einen schönen Tach und bis dann... Stefan
participants (6)
-
Dieter Kluenter
-
Ernst Herzberg
-
Michael Lootz
-
Michael Zimmermann
-
Stefan Schilling
-
Thomas Hertweck