Re: [Solaris_fr] OpenSSL 0.97e
>suggestion "triviale": utiliser gnu make? C'est la première chose que je fais quand make Sun ne marche pas. Parfois avec succès mais pas ici. En fait il faut éditer tous les fips/*/Makefile et quoter la où c'est oublié. Cette version e est un peu baclée. -- Christian Pélissier Office National d'Études et de Recherches Aérospatiales BP 72 92322 Chatillon Tel: 33 1 46 73 44 19, Fax: 33 1 46 73 41 50 ___ Solaris_fr liste de diffusion en français pour Solaris, sur toutes architectures Solaris_fr@x86.sun.com http://x86.sun.com/mailman/listinfo/solaris_fr
Re: [Solaris_fr] OpenSSL 0.97e
Christian Pelissier wrote: Conclusion le if test ne sert à rien. Mais cela ne résout pas mon PB puisque le Makefile est généré par le make install à la racine. suggestion "triviale": utiliser gnu make? ___ Solaris_fr liste de diffusion en français pour Solaris, sur toutes architectures Solaris_fr@x86.sun.com http://x86.sun.com/mailman/listinfo/solaris_fr
Re: [Solaris_fr] OpenSSL 0.97e
Christian Pelissier wrote: [snip] Conclusion le if test ne sert à rien. Mais cela ne résout pas mon PB puisque le Makefile est généré par le make install à la racine. Il y a eu une discussion sur la liste OpenSSL à ce sujet. C'est corrigé pour les prochaines versions. Robert Bannocks wrote: > I get this too if you quote the $(EXHEADER) to be "$(EXHEADER)" in the > install section of the files listed below it compiles and installs ok. > > Files: > > ./fips/aes/Makefile > ./fips/des/Makefile > ./fips/dh/Makefile > ./fips/dsa/Makefile > ./fips/rsa/Makefile > ./fips/sha1/Makefile > > Looks as though it is time for openssl-0.9.7f! > > RB Aussi cet autre point: [EMAIL PROTECTED] wrote: > I also had a problem with installing fips/des; the Makefile in des > had a space after the \ Espérant que ce soit utile, Laurent -- A hundred thousand lemmings can't be wrong! ___ Solaris_fr liste de diffusion en français pour Solaris, sur toutes architectures Solaris_fr@x86.sun.com http://x86.sun.com/mailman/listinfo/solaris_fr
Re: [Solaris_fr] OpenSSL 0.97e
>et cette commande est passee a sh et sh produit une erreur car il attend >quelque chose apres "for i in". Donc il faudrait faire qq. chose comme: > > @if test -n "$(EXHEADER)"; then \ > for i in $$EXHEADER ; \ > do \ > (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ > chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ > done; \ > fi Normalement $(EXHEADER) c'est une variable Makefile alors que $$EXHEADER c'est une variable shell donc c'est bien $(EXHEADER) mais il faut aussi le mettre entre "" Le makefile EXHEADER= EXHEADER= a b c install1: if test -n "$(EXHEADER)" ; then \ for i in "$(EXHEADER)" ; \ do \ (echo $$i ; \ echo $$i ); \ done; \ fi install2: if test -n "$(EXHEADER)" ; then \ for i in $$EXHEADER ; \ do \ (echo $$i ; \ echo $$i ); \ done; \ fi # make install1 install2 if test -n "a b c" ; then \ for i in "a b c" ; \ do \ (echo $i ; \ echo $i ); \ done; \ fi a b c a b c if test -n "a b c" ; then \ for i in $EXHEADER ; \ <<< !OK on ne peut faire cela qu'avec une var do \du shell (echo $i ; \ echo $i ); \ done; \ fi Avec la variable à vide : make install1 install2 if test -n "" ; then \ for i in "" ; \ do \ (echo $i ; \ echo $i ); \ done; \ fi if test -n "" ; then \ for i in $EXHEADER ; \ do \ (echo $i ; \ echo $i ); \ done; \ fi Conclusion le if test ne sert à rien. Mais cela ne résout pas mon PB puisque le Makefile est généré par le make install à la racine. -- Christian Pélissier Office National d'Études et de Recherches Aérospatiales BP 72 92322 Chatillon Tel: 33 1 46 73 44 19, Fax: 33 1 46 73 41 50 ___ Solaris_fr liste de diffusion en français pour Solaris, sur toutes architectures Solaris_fr@x86.sun.com http://x86.sun.com/mailman/listinfo/solaris_fr
Re: [Solaris_fr] OpenSSL 0.97e
> Si je sors ce bout ce code dans un fichier > X="" > if test -n "$X"; then \ > for i in $X ; \ > do \ > (echo $$i ; \ > echo $$i ); \ > done; \ > fi > > il fonctionne avec tous les shell ! Oui mais sans $X ca ne marche pas: if test -n ""; then \ for i in ; \ do \ (echo $$i ; \ echo $$i ); \ done; \ fi => ne marche pas Le probleme est que $(EXHEADER) est evalue et remplace par make et non pas par le sh. Donc: @if test -n "$(EXHEADER)"; then \ for i in $(EXHEADER) ; \ do \ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ done; \ fi devient: if test -n ""; then \ for i in ; \ do \ (cp $i /usr/local/ssl/include/openssl/$i; \ chmod 644 /usr/local/ssl/include/openssl/$i ); \ done; \ fi et cette commande est passee a sh et sh produit une erreur car il attend quelque chose apres "for i in". Donc il faudrait faire qq. chose comme: @if test -n "$(EXHEADER)"; then \ for i in $$EXHEADER ; \ do \ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ done; \ fi alex. ___ Solaris_fr liste de diffusion en français pour Solaris, sur toutes architectures Solaris_fr@x86.sun.com http://x86.sun.com/mailman/listinfo/solaris_fr
[Solaris_fr] OpenSSL 0.97e
J'ai une erreur incompréhensible dans le make install du dernier Openssl 0.97e. Une idée ? L'erreur se passe dans fips/sha1 make install sh: erreur de syntaxe ligne 2: `;' inattendue *** Error code 2 make: Fatal error: Command failed for target `install' Extrait du Makefile : EXHEADER= HEADER= $(EXHEADER) fips_sha_locl.h fips_md32_common.h install: @if test -n "$(EXHEADER)"; then \ for i in $(EXHEADER) ; \ do \ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ done; \ fi Je ne comprends pas pourquoi on passe dans la boucle for puisqu'on teste avant et que si ce n'est pas vide on ne dois pas la faire. Si j'enlève le @ devant le if make install if test -n ""; then \ for i in ; \ do \ (cp $i /usr/local/ssl/include/openssl/$i; \ chmod 644 /usr/local/ssl/include/openssl/$i ); \ done; \ fi sh: erreur de syntaxe ligne 2: `;' inattendue *** Error code 2 make: Fatal error: Command failed for target `install' man de test -n string True if the length of string is non-zero. Si je sors ce bout ce code dans un fichier X="" if test -n "$X"; then \ for i in $X ; \ do \ (echo $$i ; \ echo $$i ); \ done; \ fi il fonctionne avec tous les shell ! -- Christian Pélissier Office National d'Études et de Recherches Aérospatiales BP 72 92322 Chatillon Tel: 33 1 46 73 44 19, Fax: 33 1 46 73 41 50 ___ Solaris_fr liste de diffusion en français pour Solaris, sur toutes architectures Solaris_fr@x86.sun.com http://x86.sun.com/mailman/listinfo/solaris_fr