<div dir="ltr"><div>Hi,</div><div><br></div><div>I have a development environment, which uses a very old perl version (5.8.8).</div><div><br></div><div>The compilation of openssl-1.1.0-pre2 fails with the following error, I have attached a patch below that worked for me:</div><div><br></div><div><div>make[5]: Entering directory `/mail/src/mohan/v6.0/buildinstructions/openssl1.1/build64/openssl'</div><div>Bareword found where operator expected at util/<a href="http://mkdef.pl">mkdef.pl</a> line 1573, near "s/\./_/gr"</div><div>Unquoted string "r" may clash with future reserved word at util/<a href="http://mkdef.pl">mkdef.pl</a> line 1573.</div><div>syntax error at util/<a href="http://mkdef.pl">mkdef.pl</a> line 1573, near "s/\./_/gr"</div><div>Execution of util/<a href="http://mkdef.pl">mkdef.pl</a> aborted due to compilation errors.</div><div>/opt/gcc-4.7.2/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../x86_64-unknown-linux-gnu/bin/ld:crypto.map:1: syntax error in VERSION script</div><div>collect2: error: ld returned 1 exit status</div><div>make[5]: *** [link_a.linux-shared] Error 1</div></div><div><br></div><div><br></div><br><div><div>$ perl -v</div><div><br></div><div>This is perl, v5.8.8 built for i686-linux-thread-multi</div><div><br></div><div>Copyright 1987-2006, Larry Wall</div></div><div>...</div><div><br></div><div>+++++++++++++++++++++++ <patch>+++++++++++++++++++++++++++++++++</div><div><div>diff -Nur ../openssl-1.1.0-pre2/util/<a href="http://mkdef.pl">mkdef.pl</a> ./util/<a href="http://mkdef.pl">mkdef.pl</a></div><div>--- ../openssl-1.1.0-pre2/util/<a href="http://mkdef.pl">mkdef.pl</a><span class="" style="white-space:pre">      </span>2016-01-14 01:51:33.000000000 -0800</div><div>+++ ./util/<a href="http://mkdef.pl">mkdef.pl</a><span class="" style="white-space:pre"> </span>2016-02-01 09:08:00.000000000 -0800</div><div>@@ -1569,8 +1569,10 @@</div><div> </div><div> <span class="" style="white-space:pre">        </span>while(<IN>) {</div><div> <span class="" style="white-space:pre">              </span>if (/OPENSSL_VERSION_TEXT\s+"OpenSSL (\d\.\d\.)(\d[a-z]*)(-| )/) {</div><div>+<span class="" style="white-space:pre">                   </span>my $basev = $1;</div><div> <span class="" style="white-space:pre">                  </span>my $suffix = $2;</div><div>-<span class="" style="white-space:pre">                  </span>my $baseversion = $1 =~ s/\./_/gr;</div><div>+                        $basev =~ s/\./_/g;</div><div>+<span class="" style="white-space:pre">                 </span>my $baseversion = $basev;</div><div> <span class="" style="white-space:pre">                        </span>close IN;</div><div> <span class="" style="white-space:pre">                        </span>return ($baseversion."0", $baseversion.$suffix);</div><div> <span class="" style="white-space:pre">               </span>}</div></div><div>+++++++++++++++++++++++ <patch>+++++++++++++++++++++++++++++++++<br></div><div><br></div><div>After applying the patch, the compilation is successful and here is the openssl version.</div><div><br></div><div>$ openssl version -a</div><div>OpenSSL 1.1.0-pre2 (alpha) 14 Jan 2016</div><div>built on: reproducible build, date unspecified</div><div>platform: linux-x86_64</div><div>compiler: gcc -I. -I.. -I../include -Iinclude  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -pthread -DDSO_DLFCN -DHAVE_DLFCN_H -I/usr/local/include -DPURIFY -m64 -DL_ENDIAN -Wall -O3 -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM</div><div>OPENSSLDIR: "/usr/local/etc/ssl"</div><div><br></div><div>Please let me know if you need any additional info.</div><div><br></div><div>Thanks,</div><div>Mohan</div><div><br></div></div>