Bonjour,

J'essaye d'implémenter le protocole HTTPS et pour ce faire je dois installer Crypt::SSLeay. Sous linux, je n'ai aucun soucis mais sous windows (vista) je me heurte à un problème de compilation que je n'arrive pas à résoudre.


Je suis sous strawberry (PERL v5.10.0.4) et j'ai installé openssl (cf. http://gnuwin32.sourceforge.net/packages/openssl.htm) sous le répertoire c:\openssl. Jusque là pas de soucis !

Ensuite dans le shell CPAN, j'exécute la commande install Crypt::SSLeay et là j'obtiens l'erreur de compilation suivante (J'ai mis tout le process d'installation) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
 
cpan> install Crypt::SSLeay
Database was generated on Mon, 13 Jul 2009 15:30:30 GMT
Running install for module 'Crypt::SSLeay'
Running make for D/DL/DLAND/Crypt-SSLeay-0.57.tar.gz
Checksum for C:\strawberry\cpan\sources\authors\id\D\DL\DLAND\Crypt-SSLeay-0.57.
tar.gz ok
Scanning cache C:\strawberry\cpan\build for sizes
............................................................................DONE
 
 
  CPAN.pm: Going to build D/DL/DLAND/Crypt-SSLeay-0.57.tar.gz
 
Did not locate expected SSL library files in c:\openssl/lib/MinGW
=======================================================
Only one OpenSSL installation found at c:\openssl
Consider running 'perl Makefile.PL --default' the next
time Crypt::SSLeay is upgraded to select this directory
automatically thereby avoiding the following prompt.
=======================================================
Which SSL install path do you want to use? [c:\openssl]
Assuming Vanilla/Strawberry Perl installation
 
BUILD INFORMATION
================================================
ssl library: OpenSSL 0.9.8 in c:\openssl
ssl header:  openssl/ssl.h
libraries:   -Lc:\openssl\lib -lssleay32 -llibeay32
include dir: -Ic:\openssl\include
================================================
Checking if your kit is complete...
Looks good
Note (probably harmless): No library found for -lssleay32
Note (probably harmless): No library found for -llibeay32
Writing Makefile for Crypt::SSLeay
The test suite can attempt to connect to public servers
to ensure that the code is working properly. If you are
behind a strict firewall or have no network connectivity,
these tests may fail (through no fault of the code).
 
Do you want to run the live tests (y/N) ? [N] y
cp lib/Crypt/SSLeay/X509.pm blib\lib\Crypt\SSLeay\X509.pm
cp lib/Net/SSL.pm blib\lib\Net\SSL.pm
cp SSLeay.pm blib\lib\Crypt\SSLeay.pm
cp lib/Crypt/SSLeay/Conn.pm blib\lib\Crypt\SSLeay\Conn.pm
cp lib/Crypt/SSLeay/CTX.pm blib\lib\Crypt\SSLeay\CTX.pm
cp lib/Crypt/SSLeay/MainContext.pm blib\lib\Crypt\SSLeay\MainContext.pm
cp lib/Crypt/SSLeay/Err.pm blib\lib\Crypt\SSLeay\Err.pm
C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp  -typemap
 C:\strawberry\perl\lib\ExtUtils\typemap -typemap typemap  SSLeay.xs > SSLeay.xs
c && C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e mv SSLeay.xsc SSLeay
.c
gcc -c  -Ic:\openssl\include    -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT
_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2
  -DVERSION=\"0.57\"    -DXS_VERSION=\"0.57\"  "-IC:\strawberry\perl\lib\CORE"
 SSLeay.c
Running Mkbootstrap for Crypt::SSLeay ()
C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e chmod 644 SSLeay.bs
C:\strawberry\perl\bin\perl.exe -MExtUtils::Mksymlists \
     -e "Mksymlists('NAME'=>\"Crypt::SSLeay\", 'DLBASE' => 'SSLeay', 'DL_FUNCS'
=> {  }, 'FUNCLIST' => [], 'IMPORTS' => {  }, 'DL_VARS' => []);"
dlltool --def SSLeay.def --output-exp dll.exp
g++ -o blib\arch\auto\Crypt\SSLeay\SSLeay.dll -Wl,--base-file -Wl,dll.base -mdll
 -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib" SSLeay.o -Wl,--image
-base,0x322a0000  C:\strawberry\perl\lib\CORE\libperl510.a C:\strawberry\c\lib\l
ibmsvcrt.a C:\strawberry\c\lib\libmoldname.a C:\strawberry\c\lib\libkernel32.a C
:\strawberry\c\lib\libuser32.a C:\strawberry\c\lib\libgdi32.a C:\strawberry\c\li
b\libwinspool.a C:\strawberry\c\lib\libcomdlg32.a C:\strawberry\c\lib\libadvapi3
2.a C:\strawberry\c\lib\libshell32.a C:\strawberry\c\lib\libole32.a C:\strawberr
y\c\lib\liboleaut32.a C:\strawberry\c\lib\libnetapi32.a C:\strawberry\c\lib\libu
uid.a C:\strawberry\c\lib\libws2_32.a C:\strawberry\c\lib\libmpr.a C:\strawberry
\c\lib\libwinmm.a C:\strawberry\c\lib\libversion.a C:\strawberry\c\lib\libodbc32
.a C:\strawberry\c\lib\libodbccp32.a dll.exp
SSLeay.o:SSLeay.c:(.text+0x57): undefined reference to `_SSL_alert_desc_string_l
ong'
SSLeay.o:SSLeay.c:(.text+0x61): undefined reference to `_SSL_alert_type_string_l
ong'
SSLeay.o:SSLeay.c:(.text+0xda): undefined reference to `_SSL_state_string_long'
SSLeay.o:SSLeay.c:(.text+0x134): undefined reference to `_SSL_state_string_long'
 
SSLeay.o:SSLeay.c:(.text+0x18d): undefined reference to `_SSL_state_string_long'
 
SSLeay.o:SSLeay.c:(.text+0x246): undefined reference to `_ERR_get_error'
SSLeay.o:SSLeay.c:(.text+0x2dd): undefined reference to `_ERR_get_error'
SSLeay.o:SSLeay.c:(.text+0x2f7): undefined reference to `_ERR_error_string'
SSLeay.o:SSLeay.c:(.text+0x40a): undefined reference to `_RAND_load_file'
SSLeay.o:SSLeay.c:(.text+0x429): undefined reference to `_SSLv2_client_method'
SSLeay.o:SSLeay.c:(.text+0x431): undefined reference to `_SSL_CTX_new'
SSLeay.o:SSLeay.c:(.text+0x453): undefined reference to `_SSL_CTX_ctrl'
SSLeay.o:SSLeay.c:(.text+0x45b): undefined reference to `_SSL_CTX_set_default_ve
rify_paths'
SSLeay.o:SSLeay.c:(.text+0x46f): undefined reference to `_SSL_CTX_set_verify'
SSLeay.o:SSLeay.c:(.text+0x519): undefined reference to `_OPENSSL_add_all_algori
thms_noconf'
SSLeay.o:SSLeay.c:(.text+0x51e): undefined reference to `_SSL_load_error_strings
'
SSLeay.o:SSLeay.c:(.text+0x523): undefined reference to `_ERR_load_crypto_string
s'
SSLeay.o:SSLeay.c:(.text+0x528): undefined reference to `_SSL_library_init'
SSLeay.o:SSLeay.c:(.text+0x548): undefined reference to `_RAND_load_file'
SSLeay.o:SSLeay.c:(.text+0x573): undefined reference to `_RAND_seed'
SSLeay.o:SSLeay.c:(.text+0x581): undefined reference to `_SSLv23_client_method'
SSLeay.o:SSLeay.c:(.text+0x591): undefined reference to `_SSLv3_client_method'
SSLeay.o:SSLeay.c:(.text+0x69e): undefined reference to `_SSL_CTX_free'
SSLeay.o:SSLeay.c:(.text+0x87f): undefined reference to `_SSL_CTX_set_cipher_lis
t'
SSLeay.o:SSLeay.c:(.text+0xb5c): undefined reference to `_SSL_CTX_use_certificat
e_file'
SSLeay.o:SSLeay.c:(.text+0xe8c): undefined reference to `_SSL_CTX_use_PrivateKey
_file'
SSLeay.o:SSLeay.c:(.text+0x11f7): undefined reference to `_d2i_PKCS12_fp'
SSLeay.o:SSLeay.c:(.text+0x1252): undefined reference to `_PKCS12_parse'
SSLeay.o:SSLeay.c:(.text+0x1277): undefined reference to `_SSL_CTX_use_certifica
te'
SSLeay.o:SSLeay.c:(.text+0x1285): undefined reference to `_X509_free'
SSLeay.o:SSLeay.c:(.text+0x1297): undefined reference to `_PKCS12_free'
SSLeay.o:SSLeay.c:(.text+0x1408): undefined reference to `_SSL_CTX_use_PrivateKe
y'
SSLeay.o:SSLeay.c:(.text+0x1416): undefined reference to `_EVP_PKEY_free'
SSLeay.o:SSLeay.c:(.text+0x1547): undefined reference to `_SSL_CTX_check_private
_key'
SSLeay.o:SSLeay.c:(.text+0x17cf): undefined reference to `_SSL_CTX_set_verify'
SSLeay.o:SSLeay.c:(.text+0x1876): undefined reference to `_SSL_CTX_load_verify_l
ocations'
SSLeay.o:SSLeay.c:(.text+0x188e): undefined reference to `_SSL_CTX_set_verify'
SSLeay.o:SSLeay.c:(.text+0x19de): undefined reference to `_SSL_new'
SSLeay.o:SSLeay.c:(.text+0x19e9): undefined reference to `_SSL_set_connect_state
'
SSLeay.o:SSLeay.c:(.text+0x1a0c): undefined reference to `_SSL_ctrl'
SSLeay.o:SSLeay.c:(.text+0x1b3d): undefined reference to `_SSL_set_info_callback
'
SSLeay.o:SSLeay.c:(.text+0x1b98): undefined reference to `_SSL_set_fd'
SSLeay.o:SSLeay.c:(.text+0x1cbe): undefined reference to `_SSL_free'
SSLeay.o:SSLeay.c:(.text+0x1e99): undefined reference to `_SSL_set_fd'
SSLeay.o:SSLeay.c:(.text+0x20c7): undefined reference to `_SSL_connect'
SSLeay.o:SSLeay.c:(.text+0x22e7): undefined reference to `_SSL_accept'
SSLeay.o:SSLeay.c:(.text+0x2563): undefined reference to `_SSL_write'
SSLeay.o:SSLeay.c:(.text+0x26d0): undefined reference to `_SSL_write'
SSLeay.o:SSLeay.c:(.text+0x29f1): undefined reference to `_SSL_read'
SSLeay.o:SSLeay.c:(.text+0x2d33): undefined reference to `_SSL_get_peer_certific
ate'
SSLeay.o:SSLeay.c:(.text+0x2ee2): undefined reference to `_SSL_get_verify_result
'
SSLeay.o:SSLeay.c:(.text+0x30bf): undefined reference to `_SSL_get_shared_cipher
s'
SSLeay.o:SSLeay.c:(.text+0x32c6): undefined reference to `_SSL_get_current_ciphe
r'
SSLeay.o:SSLeay.c:(.text+0x32ce): undefined reference to `_SSL_CIPHER_get_name'
SSLeay.o:SSLeay.c:(.text+0x34ae): undefined reference to `_X509_free'
SSLeay.o:SSLeay.c:(.text+0x3605): undefined reference to `_X509_get_subject_name
'
SSLeay.o:SSLeay.c:(.text+0x3617): undefined reference to `_X509_NAME_oneline'
SSLeay.o:SSLeay.c:(.text+0x363a): undefined reference to `_CRYPTO_free'
SSLeay.o:SSLeay.c:(.text+0x37d5): undefined reference to `_X509_get_issuer_name'
 
SSLeay.o:SSLeay.c:(.text+0x37e7): undefined reference to `_X509_NAME_oneline'
SSLeay.o:SSLeay.c:(.text+0x380a): undefined reference to `_CRYPTO_free'
collect2: ld returned 1 exit status
dmake.EXE:  Error code 129, while making 'blib\arch\auto\Crypt\SSLeay\SSLeay.dll
'
  DLAND/Crypt-SSLeay-0.57.tar.gz
  C:\strawberry\c\bin\dmake.EXE -- NOT OK
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible
Failed during this command:
 DLAND/Crypt-SSLeay-0.57.tar.gz               : make NO
Merci pour votre aide.

Cdlt