Probleme qui me depasse installation libssh2

Probleme qui me depasse installation libssh2 - Installation - Linux et OS Alternatifs

Marsh Posté le 31-03-2005 à 16:47:58    

Voici ce qui se passe lorsque j'essaie d'installer libssh2 sur ma Red Hat 9:

Code :
  1. [root@localhost libssh2-0.4]# make
  2. make[1]: Entre dans le répertoire `/usr/local/libssh2-0.4/src'
  3. gcc -o channel.o channel.c -c -g -O2 -I/usr/include -I/usr/include -Wall -g -I../include/ -fPIC
  4. gcc -o comp.o comp.c -c -g -O2 -I/usr/include -I/usr/include -Wall -g -I../include/ -fPIC
  5. gcc -o crypt.o crypt.c -c -g -O2 -I/usr/include -I/usr/include -Wall -g -I../include/ -fPIC
  6. gcc -o hostkey.o hostkey.c -c -g -O2 -I/usr/include -I/usr/include -Wall -g -I../include/ -fPIC
  7. gcc -o kex.o kex.c -c -g -O2 -I/usr/include -I/usr/include -Wall -g -I../include/ -fPIC
  8. gcc -o mac.o mac.c -c -g -O2 -I/usr/include -I/usr/include -Wall -g -I../include/ -fPIC
  9. gcc -o misc.o misc.c -c -g -O2 -I/usr/include -I/usr/include -Wall -g -I../include/ -fPIC
  10. gcc -o packet.o packet.c -c -g -O2 -I/usr/include -I/usr/include -Wall -g -I../include/ -fPIC
  11. gcc -o scp.o scp.c -c -g -O2 -I/usr/include -I/usr/include -Wall -g -I../include/ -fPIC
  12. gcc -o session.o session.c -c -g -O2 -I/usr/include -I/usr/include -Wall -g -I../include/ -fPIC
  13. gcc -o sftp.o sftp.c -c -g -O2 -I/usr/include -I/usr/include -Wall -g -I../include/ -fPIC
  14. gcc -o userauth.o userauth.c -c -g -O2 -I/usr/include -I/usr/include -Wall -g -I../include/ -fPIC
  15. gcc -o libssh2.so  channel.o comp.o crypt.o hostkey.o kex.o mac.o misc.o packet.o scp.o session.o sftp.o userauth.o  -L-L/usr/kerberos/lib -lssl -lcrypto -lresolv -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -ldl -lz   -lcrypto -L/usr/lib -lz -shared
  16. /usr/bin/ld: ne peut trouver -lgssapi_krb5
  17. collect2: ld a retourné 1 code d'état d'exécution
  18. make[1]: *** [libssh2.so] Erreur 1
  19. make[1]: Quitte le répertoire `/usr/local/libssh2-0.4/src'
  20. make: *** [all] Erreur 1


 
Quelqu'un saurait resoudre ce probleme (il se presente quelle que soit la version de libssh2 que j'essaie d'installer)?
Merci d'avance

Reply

Marsh Posté le 31-03-2005 à 16:47:58   

Reply

Marsh Posté le 31-03-2005 à 16:50:00    

il ne trouve pas la bibliothèque "gssapi_krb5".
fait une recherche sur ta machine de libgssapi_krb5.so et/ou gssapi_krb5.a
Si tu ne trouve rien cherche dans quel package de ta distrib il est et installe ce package. s'il n'y a pas de package pour ta distrib, trouve les sources et installe.


---------------
Chết rồi ! ✍ ⌥⌘ http://github.com/gwenhael-le-moine/slackbuilds/
Reply

Marsh Posté le 31-03-2005 à 16:51:07    

Reply

Marsh Posté le 31-03-2005 à 16:55:14    

le probleme c'est qu'elles sont bien presentes!

Code :
  1. [root@localhost /]# find . -name libgssapi_krb5.so
  2. ./usr/kerberos/lib/libgssapi_krb5.so
  3. [root@localhost /]# find . -name libgssapi_krb5.a
  4. ./usr/kerberos/lib/libgssapi_krb5.a

Reply

Marsh Posté le 31-03-2005 à 16:59:02    

il y a une erreur dans  

gcc -o libssh2.so  channel.o comp.o crypt.o hostkey.o kex.o mac.o misc.o packet.o scp.o session.o sftp.o userauth.o  -L-L/usr/kerberos/lib -lssl -lcrypto -lresolv -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -ldl -lz   -lcrypto -L/usr/lib -lz -shared


il faut mettre

gcc -o libssh2.so  channel.o comp.o crypt.o hostkey.o kex.o mac.o misc.o packet.o scp.o session.o sftp.o userauth.o  -L/usr/kerberos/lib -lssl -lcrypto -lresolv -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -ldl -lz   -lcrypto -L/usr/lib -lz -shared


 
si ça marche pas, ajoute /usr/kerberos/lib à /etc/ld.so.conf et lance ldconfig puis réessaye


---------------
Chết rồi ! ✍ ⌥⌘ http://github.com/gwenhael-le-moine/slackbuilds/
Reply

Marsh Posté le 31-03-2005 à 17:04:42    

Premierement je te remercie grandement de ton aide
mais je suis un profane et je ne sais pas comment modifier un makefile dois je le faire dans la commande ./configure ?

Reply

Marsh Posté le 31-03-2005 à 17:07:42    

tu édite juste le fichier Makefile


---------------
Chết rồi ! ✍ ⌥⌘ http://github.com/gwenhael-le-moine/slackbuilds/
Reply

Marsh Posté le 31-03-2005 à 17:12:45    

je sais que j'abuse mais j'ai beau chercher je ne vois pas la partie de code responsable de cette erreur:
pourrais tu me l'indiquer?

Code :
  1. subdirs = src/
  2. top_srcdir = .
  3. prefix = /usr/local
  4. exec_prefix = ${prefix}
  5. libdir = ${prefix}/lib
  6. incldir = /usr/local/include
  7. distdir = ./dist
  8. CC = gcc
  9. CFLAGS = -c -g -O2 -I/usr/include -I/usr/include -Iinclude/ -Wall -g
  10. LIBS = -lssh2 -Lsrc/
  11. INSTALL = /usr/bin/install -c
  12. VERSION=0.8
  13. DISTLIB=libssh2-$(VERSION)
  14. all:
  15.         @for dir in ${subdirs}; do \
  16.                 (cd $$dir && $(MAKE) all) \
  17.                 || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac; \
  18.         done && test -z "$$fail"
  19.         $(CC) -o ssh2_sample.o ssh2_sample.c $(CFLAGS)
  20.         $(CC) -o ssh2_sample ssh2_sample.o $(LIBS)
  21. install:
  22.         $(top_srcdir)/mkinstalldirs $(DESTDIR)$(incldir)
  23.         $(top_srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
  24.         @for dir in ${subdirs}; do \
  25.                 (cd $$dir && $(MAKE) install) \
  26.                 || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac; \
  27.         done && test -z "$$fail"
  28.         $(INSTALL) -m 644 include/libssh2.h $(DESTDIR)$(incldir)/
  29.         $(INSTALL) -m 644 include/libssh2_sftp.h $(DESTDIR)$(incldir)/
  30. clean:
  31.         @for dir in ${subdirs}; do \
  32.                 (cd $$dir && $(MAKE) clean) \
  33.                 || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac; \
  34.         done && test -z "$$fail"
  35.         rm -f ssh2_sample.o ssh2_sample
  36. dist:
  37.         autoheader
  38.         autoconf
  39.         rm -f $(DISTLIB)
  40.         ln -s . $(DISTLIB)
  41.         tar -zcf $(DISTLIB).tar.gz \
  42.                 $(DISTLIB)/configure $(DISTLIB)/Makefile.in $(DISTLIB)/ssh2_sample.c \


mille merci encore

Reply

Marsh Posté le 31-03-2005 à 17:16:11    

peut-être dans sr/Makefile ?


---------------
Chết rồi ! ✍ ⌥⌘ http://github.com/gwenhael-le-moine/slackbuilds/
Reply

Marsh Posté le 31-03-2005 à 17:24:53    

j'ai un autre fichier qui s'appelle Makefile.in et qui ressemble bcp a celui la mais la bas non plus je ne trouve pas
comment se fait il que le Makefile est genere corrompu pour TOUTES les versions de libssh2?

Reply

Marsh Posté le 31-03-2005 à 17:24:53   

Reply

Marsh Posté le 31-03-2005 à 17:26:21    

/usr/kerberos/lib se trouve bien dans /etc/ld.so.conf  
je ne comprends vraiemnt pas

Reply

Marsh Posté le 31-03-2005 à 17:31:30    

sinon tu vas dans src et tu éxécute "à la main"  

gcc -o libssh2.so  channel.o comp.o crypt.o hostkey.o kex.o mac.o misc.o packet.o scp.o session.o sftp.o userauth.o  -L/usr/kerberos/lib -lssl -lcrypto -lresolv -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -ldl -lz   -lcrypto -L/usr/lib -lz -shared


 
si ça marche tu relance make et il devrais continuer normalement


---------------
Chết rồi ! ✍ ⌥⌘ http://github.com/gwenhael-le-moine/slackbuilds/
Reply

Marsh Posté le 31-03-2005 à 17:34:42    

euh... pourquoi tu compile la 0.4 alors qu'il y a une 0.8 icihttp://sourceforge.net/project/showfiles.php?group_id=125852


---------------
Chết rồi ! ✍ ⌥⌘ http://github.com/gwenhael-le-moine/slackbuilds/
Reply

Marsh Posté le 31-03-2005 à 18:48:57    

la c'est la 0.8
mais j'ai trouve l'erreur et corrige malgre cela ca me donne:

Code :
  1. [root@localhost libssh2-0.8]# make
  2. make[1]: Entre dans le répertoire `/usr/local/libssh2-0.8/src'
  3. make[1]: Rien à faire pour `all'.
  4. make[1]: Quitte le répertoire `/usr/local/libssh2-0.8/src'
  5. gcc -o ssh2_sample.o ssh2_sample.c -c -g -O2 -I/usr/include -I/usr/include -Iinclude/ -Wall -g
  6. gcc -o ssh2_sample ssh2_sample.o -lssh2 -Lsrc/


merci t'es vraiment cool

Reply

Marsh Posté le 01-04-2005 à 11:23:34    

je sais pas c'est vraiment bizare mtnt lors du make & make install j'ai pas d'erreur mais ca m'execute 3 lignes puis plus rien
et je constate bien que le module ssh2.so est pas cree

Reply

Marsh Posté le 01-04-2005 à 11:52:31    

betsamee a écrit :

je sais pas c'est vraiment bizare mtnt lors du make & make install j'ai pas d'erreur mais ca m'execute 3 lignes puis plus rien
et je constate bien que le module ssh2.so est pas cree


t'as pas

libssh2-0.8/$ find . -name "libssh2.so"                 11:51
./src/libssh2.so

?


---------------
Chết rồi ! ✍ ⌥⌘ http://github.com/gwenhael-le-moine/slackbuilds/
Reply

Marsh Posté le 03-04-2005 à 16:57:08    

oui je l'ai mais apparement c'est ssh2.so qu'il me faut pour le module php
J'ai trop galere alors je me suis tourne vers PERL (l'installation du module ssh est plus aisee) qui me convient pas trop mal ma fois.
Merci beaucoipde ton aide j'en aurais retire un grand enseignement (qui je suis sur me sera utile) : on peut editer un Makefile
Merci
A bientot

Reply

Marsh Posté le 13-10-2005 à 01:23:19    

bon voila j'ai la solution !
voici les manip a suivre :
1/ installer libssh2
Téléchargez et installez OpenSSL. Si vous installez OpenSSL via le système de paquetages de votre distribution, assurez-vous d'installer également les bibliothèques de développement. Elles seront typiquement paquetées sous le nom openssl-dev, openssl_devel, ou quelque chose comme cela.  
 
Téléchargez et installez libssh2. Typiquement, cela signifie d'exécuter les commandes suivantes depuis les fichiers sources libssh2 :  

Code :
  1. ./configure && make all install.


--------
jusque la je pense que tout le monde s'y retrouve (vous pouvez le mettre dans n'importe quelle dossier)
ensuite voila les manip a suivre
--------
2/ installer les binding php ssh2
telecharger les binding pour php (dans n'importe quel dossier)
http://pecl.php.net/package/ssh2
et faites en root :

Code :
  1. phpize && ./configure --with-ssh2 && make && make install


vous devriez alors voir qu'il a tout bien installé (en tout cas j'esper moi je n'ai pas eu de probleme de ce coté la)
 
3/ configurer php avec la nouvelle lib
allez dans votre php.ini et trouvé la ligne :

Code :
  1. extension_dir=


et replacez la par :

Code :
  1. extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20020429/"


et relancé apache  

Code :
  1. /etc/rc.d/init.d/httpd restart


tout devrait etre bon apres ca pour verifié allez voir votre phpinfo() et cherché si ssh2 apparait quelque part
si oui c'est que vous avez reussi !!!
 
4/ un script qui fonctionne !
 
voici un script que j'ai trouvé testé et approuvé !
nomé : comme_vous_voulez.php

Code :
  1. <?
  2. // Connection SSH
  3.        echo "Connexion SSH ";
  4.        if (!($resource=@ssh2_connect('votre_ip',22))) {
  5.                echo "[FAILED]<br />";
  6.                exit(1);
  7.        }
  8.        echo "[OK]<br />";
  9.                                                                                                                                                            
  10.        // connexion via login et password
  11.        echo "Authentification ";
  12.        if (!@ssh2_auth_password($resource,'votre_login','votre_password')) {
  13.                echo "[FAILED]<br />";
  14.                exit(1);
  15.        }
  16.        echo "[OK]<br />";
  17.                                                                                                                                                            
  18.        // ne rien touché
  19.        echo "Shell stdio ";
  20.        if (!($stdio = @ssh2_shell($resource,'xterm'))) {
  21.                echo "[FAILED]<br />";
  22.                exit(1);
  23.        }
  24.        echo "[OK]<br />";
  25.                                                                                                                                                            
  26.        // Execution de la commande
  27.        // Attention a bien laissé le \n a la fin de votre commande !!!!
  28.        $command = ""/bin/ls /tmp\n";
  29.        fwrite($stdio,$command);
  30.                                                                                                                                                            
  31.        // IMPORTANT
  32.        // Laissez bien le sleep 1 car la commande peut prendre un peu de temps
  33.        sleep(1);
  34.      
  35.        // on affiche le resultat
  36.        while($line = fgets($stdio)) {
  37.                flush();
  38.                echo $line."<br />";
  39.        }
  40.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
  41.        // on ferme le stream
  42.        //fclose($stdio);
  43. ?>


et lancé le script vous verez le resultat  
tout devrait allez comme ca :)
 
j'espere vous avoir aidé :)
 

Reply

Marsh Posté le 28-10-2005 à 08:50:17    

merci de ta reponse (comme quoi faut jamais desesperer)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed