2011-08-31 3 views
7

Télécharger les fichiers source à partir de . Je suis le fichier INSTALL.M32 dans le dossier OpenSSL. J'ouvre msys.bat, allez dans le dossier OpenSSL, puis tapezErreur lors de la compilation OpenSSL avec MinGW/MSYS

$ ./config 

Il dit "Configuré pour MinGW", que je tape

$ make 

et après quelques minutes erreur de réception:

md2test.c:1:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token 

Répondre

3

Dans mon cas, le problème était que peu de fichiers de test (3 pour autant que je me souvienne) avaient au lieu de C++ - code le nom du fichier (quelque chose comme dummitest.c). Je copie-colle le bon code à ces fichiers à partir de fichiers d'un autre dossier, mais avec le même nom, et tout s'est bien passé.

+2

Cela sonne exactement comme un problème avec les liens symboliques. Les autres fichiers affectés sont 'rc5test.c' et' jpaketest.c'. –

0

J'ai le même problème. Comme le problème est tout en construisant les essais, je viens ne les ai pas:

make Makefile openssl.pc libssl.pc libcrypto.pc build_libs build_apps build_tools 

est une solution horrible, mais il semble fonctionner. Vous obtenez les bibliothèques et les outils, mais pas la suite de tests.

J'espère que quelqu'un donne une meilleure réponse et/ou résout le problème avec le code s'il y en a.

16

J'ai simplement ouvert les fichiers qui ont été à l'origine de l'erreur (/test/"md5test.c; rc5test.c; jpaketest.c ») et remplacé la ligne

dummytest.c 

à

#include "dummytest.c" 

C'est la même solution comme indiqué ci-dessus, sauf que c'est un peu plus rapide ...

+1

typo: /test/"md2test.c avec un 2 au lieu d'un 5 +1 – Gonzo

2

Quel programme avez-vous utilisé pour décompresser 'openssl-1.0.0x.tar.gz'? 7-zip est un excellent programme, mais il semble qu'il y ait un bug.

Utilisez un décompresseur tar ou autre tel que BreadZip.

tar zvxf openssl-1.0.0x.tar.gz

C'est la même solution que celle indiquée ci-dessus, sauf qu'il est un peu plus vite ... :)

14

Le problème est que md2test.c est en fait un lien symbolique ou symlink-dummytest.c.

Si vous avez décompressé openssl-1.0.1c.tar.gz avec autre chose que

tar xf openssl-1.0.1c.tar.gz 

alors ces liens symboliques ne sont pas conservés. Sur Cygwin cela fonctionne après cela; pas sûr de MinGW.

+1

ce qui a aidé était tar -xvzf openssl-1.0.1c.tar.gz juste pour le reconditionner mais cette fois avec l'option de déréférencement tar "-h" tar -cvhzf openssl.tar.gz openssl-1.0.1 et puis l'extraire encore une fois Stupide mais ça marche Ne sait pas comment déréférencer les fichiers lors de l'extraction – tmanthey

1

Le problème est un lien symbolique dans l'archive que MinGW/MSYS ne semble pas comprendre.

Vous pouvez contourner ce problème en utilisant l'option --derefence (-h) lors de l'extraction.

Par exemple tar -xzvfh archive.tar.gz

de http://www.gnu.org/software/tar/manual/html_node/dereference.html:

When reading from an archive, the --dereference' ( -h') option causes tar to follow an already-existing symbolic link when tar writes or reads a file named in the archive.

Questions connexes