summaryrefslogtreecommitdiff
path: root/91/7ba5f6b2063d9aee52dfeb20c38b2cedcf3303
blob: 7c51e3e7629895d3adfbd36074ce5cdeecaff317 (plain)
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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
Return-Path: <dkbryant@gmail.com>
Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])
 by lists.linuxfoundation.org (Postfix) with ESMTP id 99799C0800
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Sun, 15 Nov 2020 05:41:47 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by silver.osuosl.org (Postfix) with ESMTP id 7E1A520396
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Sun, 15 Nov 2020 05:41:47 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
Received: from silver.osuosl.org ([127.0.0.1])
 by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id shXukxMmH+uZ
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Sun, 15 Nov 2020 05:41:45 +0000 (UTC)
X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6
Received: from mail-il1-f194.google.com (mail-il1-f194.google.com
 [209.85.166.194])
 by silver.osuosl.org (Postfix) with ESMTPS id C45822038D
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Sun, 15 Nov 2020 05:41:44 +0000 (UTC)
Received: by mail-il1-f194.google.com with SMTP id x13so1721745ilp.4
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Sat, 14 Nov 2020 21:41:44 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:reply-to:from:date:message-id
 :subject:to; bh=ydPZpiq2v7EsrB90265OYyVfmIsPrsKBwyvxuIkpnAI=;
 b=tCLaxpf1LBKp0ANvVoa2oGdBvAJXrpmCfxFkRshF3kM2tcMMFrcQ244C9elmDrVhkW
 wQX4IWUAtL3cqQ4Ssus1KBuJdUyARVFxsqV4Bx47sXzLOBVQupmlaYY3RDKnAulZRsMG
 HKp7knYxAjUmCsY9Xm1LfNOuuMN5oqw+Y9VgTXfKN8j/1f5gGpHNHwRw89MspwZDPqkI
 YB2O/ZpRD4429sxcNrtLgRtsbmcLhjS2/yL4veZYMbaLXaFNY7D8kZOXSaYTA2Nqrrc/
 g2c0AIqnMmjkqoalgzu5S5afw2SY29ovNIa8xFQztsc5rMexggydHu3iH6smHrxe+FOd
 X9cA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:reply-to
 :from:date:message-id:subject:to;
 bh=ydPZpiq2v7EsrB90265OYyVfmIsPrsKBwyvxuIkpnAI=;
 b=SwXyerIsHA9f9LI+t7C0o8h39fGsOhfJg8pu4SEnT5rpZkoWL6BQiakPnN3i/YzJi/
 P5Q7p4HRn5b9Tmj2eUSdmI0VD0U79+yQd0huDvw/TlenHViGpB1hSOIR14ki0DQrgeS7
 yM8IYugmYbgya7vSW5FmrvpR6uP3qnY3TpHqENk5po6+MbhVl9YjETy+RB3xJULgWyrP
 fuQaDeWSL5Sfp9PIL5D+V1eo6enGdyWXho/YpLdW8bVkSEWFmvGrqlcwcYIj76d6t6O6
 ADZz+E1LB4NeLxvW6C5GlujPUlbwlAmyacK7TLhAaPYMWl3KfYC8TEF44LzlARlwEjvZ
 j3Mg==
X-Gm-Message-State: AOAM531lP9UWdBYAGXVceAx67Q3F8vYUWiLo8ipEzv1xtd9kvv0KCQQB
 /wOl5pTmSTfFUS55BxDXWgJop1xG+ZRIAq/1yGDl0fI0Qp4=
X-Google-Smtp-Source: ABdhPJxJZV9ESc3ntlUr4CqkLBSQn8BD1wcAdlziyfM+a3UFPWHAtMSxro6WIHUOkeIA8VMB3BuEOjnJI7MUGw0aYxA=
X-Received: by 2002:a05:6e02:ece:: with SMTP id
 i14mr4889993ilk.24.1605418903858; 
 Sat, 14 Nov 2020 21:41:43 -0800 (PST)
MIME-Version: 1.0
References: <CAAUFj113SCpCKyXwVqt+dtcHczNMZD7hPj8D65oDZHkhpx+rzA@mail.gmail.com>
 <CAAUFj11GMycwsEG+GmyitgdWLY6vL0US6xomOTbVw3b5YNoDKw@mail.gmail.com>
In-Reply-To: <CAAUFj11GMycwsEG+GmyitgdWLY6vL0US6xomOTbVw3b5YNoDKw@mail.gmail.com>
Reply-To: DKBryant@gmail.com
From: Dan Bryant <dkbryant@gmail.com>
Date: Sat, 14 Nov 2020 23:41:33 -0600
Message-ID: <CAAUFj11kc1UwxMNu5qBwnp8L7ihrh5A8X5FXkjLMSkmLCKfC0Q@mail.gmail.com>
To: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: multipart/alternative; boundary="0000000000007af81305b41eb7aa"
X-Mailman-Approved-At: Sun, 15 Nov 2020 08:08:12 +0000
Subject: Re: [bitcoin-dev] Bitcoin Archaeology
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, 
 <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, 
 <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Sun, 15 Nov 2020 05:41:47 -0000

--0000000000007af81305b41eb7aa
Content-Type: text/plain; charset="UTF-8"

I think I'm set now.  I should have everything I need from v0.1.0 to 0.3.13
when they changed the compiler.  I'll refine it a bit more then eventually
start posting the binary builds on the repo below.  I might go ahead and
disable the IRC bot to ensure people don't inadvertently spam the
`#bitcoin` IRC.  Since I have a patch process worked out it should be
fairly straight forward.  Since the official builds pickup at v0.8.6, I'll
likely stop there.

https://github.com/brianddk/bitcoin-archaeology


On Sat, Nov 14, 2020 at 11:00 AM Dan Bryant <dkbryant@gmail.com> wrote:

> Finally got it working,but was a bit harder than I expected.  I had to
> forgo the OpenSSL modifications that Satoshi originally suggested.  I also
> switched to Strawberry Perl.  Those two changes seemed to fix the OpenSSL
> build.  Everything else was all essentially as documented in v0.4.0, which
> is the first version to put all the build steps out in detail.  The one
> exception is the bitcoin build itself.  There are three minor issues that
> can be worked around with copy commands.
>
> 1. The Makefile points to /wxWidgets/lib/vc_lib/ where it should really
> point to /wxWidgets/lib/gcc_lib/
> 2. The Makefile points to /OpenSSL/include where it should really point to
> /OpenSSL/outinc
> 3. The Makefile builds to /obj without first creating the directory
>
> That covers v0.1.5, and I think it will probably be smooth sailing from
> there all the way to v0.4.0.  I'll verify that my v0.1.5 toolchain can
> build v0.1.0 and v0.1.3 as well.  For anyone interested, here are the
> binaries I used to create the build environment.  All of them are
> vintage and would have been accessible to Satoshi with the exception of
> Win2012 and VirtualBox.  I'll try to reproduce my work on a Win2000 which
> is now quasi-open-domain.
>
> For anyone wanting to give it a shot...
>
> * https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2012
> *
> https://download.virtualbox.org/virtualbox/6.1.12/VirtualBox-6.1.12-139181-Win.exe
> * https://downloads.sourceforge.net/gnuwin32/zlib-1.2.3-bin.zip
> * https://downloads.sourceforge.net/gnuwin32/bzip2-1.0.5-bin.zip
> * https://downloads.sourceforge.net/gnuwin32/libarchive-2.4.12-1-bin.zip
> *
> https://downloads.sourceforge.net/mingw/binutils-2.19.1-mingw32-bin.tar.gz
> * https://downloads.sourceforge.net/mingw/gcc-core-3.4.5-20051220-1.tar.gz
> * https://downloads.sourceforge.net/mingw/gcc-g++-3.4.5-20051220-1.tar.gz
> *
> https://downloads.sourceforge.net/mingw/mingwrt-3.15.2-mingw32-dev.tar.gz
> *
> https://downloads.sourceforge.net/mingw/mingwrt-3.15.2-mingw32-dll.tar.gz
> * https://downloads.sourceforge.net/mingw/w32api-3.13-mingw32-dev.tar.gz
> *
> https://downloads.sourceforge.net/mingw/mingw32-make-3.81-20080326-2.tar.gz
> * https://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe
> * https://downloads.sourceforge.net/mingw/msysDTK-1.0.1.exe
> * http://strawberryperl.com/download/5.8.8/strawberry-perl-5.8.8.2.zip
> * https://github.com/bitcoin/bitcoin/archive/v0.1.5.zip
> * https://downloads.sourceforge.net/wxwindows/wxWidgets-2.8.11.zip
> * https://github.com/openssl/openssl/archive/OpenSSL_0_9_8h.zip
> * https://download.oracle.com/berkeley-db/db-4.7.25.NC.zip
> * https://downloads.sourceforge.net/boost/1.37.0/boost_1_37_0.zip
> *
> https://downloads.sourceforge.net/boost/boost-jam/boost-jam-3.1.17-1-ntx86.zip
>
>
> On Wed, Nov 11, 2020 at 9:06 AM Dan Bryant <dkbryant@gmail.com> wrote:
>
>> TLDR; How to build old OpenSSL releases in MSYS/MinGW v1.0.11
>>
>> In a similar vein to the Github Artic Code Vault, and the Nakamoto
>> Institute, I thought it would be educational to do a build of the first
>> three versions of Bitcoin (v0.1.0, v0.1.3, and v0.1.5) [ref1].  Don't
>> worry, I will keep these on a VLAN and not spam the IRC channel.
>>
>> Wanting to be as accurate as possible, I spun up some VMs to try to
>> recreate the vintage Oct 2009 toolchains that were used.  The original
>> Satoshi posts seem to imply that the builds could be done using Visual C++
>> version 6.0 or MinGW and MSYS (which were at v1.0.11).  Since it looks like
>> most versions of VC 6 have been purged from the internet, the only option
>> left is MinGW which is still up on sourceforge.  Most things seemed to
>> build OK, with the exception of OpenSSL, which looks to fail due to some
>> issues in mk1mf.pl [ref2]  Perhaps there was a bad version of perl in
>> MSYS v1.0.11, I'm not sure.
>>
>> So my question is..  Has anyone been here long enough to recall the steps
>> to build OpenSSL v0.9.8h in MSYS 1.0.11?  Or, does anyone know where to
>> find a non-sketchy copy of Visual C++ 6.0?
>>
>> My options so far seem to be.
>>
>> 1. Try to find out how Satoshi did the MinGW OpenSSL build back in 2009.
>> 2. Try to do the OpenSSL build through Cygwin which could
>> cross-complile to MinGW at the time
>> 3. Try to do the  OpenSSL build through Msys2 with later versions of perl
>> and libc
>> 4. Buy some sketchy version of VC 6 on ebay and try that
>> 5. Patch Bitcoin 0.1.0 to use OpenSSL v1.0.0 where they fixed the perl bug
>> 6. Give up and use a precompiled OpenSSL release
>> 7. Give up and use the Linux build methods introduced in Bitcoin v0.1.6
>>
>> I realize this all sounds like a fool's folly, but it seems important (at
>> some level) to be able to reproduce these old builds.  But perhaps it's
>> just my OCD.
>>
>> Thoughts?
>>
>> For those interested.  The mk1mf.pl bug seems to be in parsing the list
>> of headers through either the var_add, clean_up_ws, or do_copy_rule subs.
>> I see both the headers and header directories being parsed, but the
>> directories are dropped when building the make rules causing make to assume
>> all headers are at root, failing the build.  Perhaps there is a version
>> sed, basename or dirname that is missing in MSYS, but I've failed to find
>> the dependency yet.
>>
>> * ref1: https://satoshi.nakamotoinstitute.org/code/
>> * ref1:
>> https://github.com/openssl/openssl/blob/OpenSSL_0_9_8h/util/mk1mf.pl
>>
>>

--0000000000007af81305b41eb7aa
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>I think I&#39;m set now.=C2=A0 I should have everythi=
ng I need from v0.1.0 to 0.3.13 when they changed the compiler.=C2=A0 I&#39=
;ll refine it a bit more then eventually start posting the binary builds on=
 the repo below.=C2=A0 I might go ahead and disable the IRC bot to ensure p=
eople don&#39;t inadvertently spam the `#bitcoin` IRC.=C2=A0 Since I have a=
 patch process worked out it should be fairly straight forward.=C2=A0 Since=
 the official=C2=A0builds pickup at v0.8.6, I&#39;ll likely stop there.</di=
v><div><br></div><a href=3D"https://github.com/brianddk/bitcoin-archaeology=
">https://github.com/brianddk/bitcoin-archaeology</a><br><div><br></div></d=
iv><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On =
Sat, Nov 14, 2020 at 11:00 AM Dan Bryant &lt;<a href=3D"mailto:dkbryant@gma=
il.com">dkbryant@gmail.com</a>&gt; wrote:<br></div><blockquote class=3D"gma=
il_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,2=
04,204);padding-left:1ex"><div dir=3D"ltr">Finally got it working,but was a=
 bit harder than I expected.=C2=A0 I had to forgo the OpenSSL modifications=
 that Satoshi originally suggested.=C2=A0 I also switched to Strawberry Per=
l.=C2=A0 Those two changes seemed to fix the OpenSSL build.=C2=A0 Everythin=
g else was all essentially as documented in v0.4.0, which is the first vers=
ion to put all the build steps out in detail.=C2=A0 The one exception is th=
e bitcoin build itself.=C2=A0 There are three minor issues that can be work=
ed around with copy commands.<div><br></div><div>1. The Makefile points to =
 /wxWidgets/lib/vc_lib/ where it should really point to /wxWidgets/lib/gcc_=
lib/

</div><div>2. The Makefile points to /OpenSSL/include where it should reall=
y point to /OpenSSL/outinc

</div><div>3. The Makefile builds to /obj without first creating the direct=
ory</div><div><br></div><div>That covers v0.1.5, and I think it will probab=
ly be smooth sailing from there all the way to v0.4.0.=C2=A0 I&#39;ll verif=
y that my v0.1.5 toolchain can build v0.1.0 and v0.1.3 as well.=C2=A0 For a=
nyone interested, here are the binaries I used to create the build environm=
ent.=C2=A0 All of them are vintage=C2=A0and would have been accessible to S=
atoshi with the exception of Win2012 and VirtualBox.=C2=A0 I&#39;ll try to =
reproduce my work on a Win2000 which is now quasi-open-domain.</div><div><b=
r></div><div>For anyone wanting to give it a shot...</div><div><br></div><d=
iv>* <a href=3D"https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v=
-server-2012" target=3D"_blank">https://www.microsoft.com/en-us/evalcenter/=
evaluate-hyper-v-server-2012</a><br>* <a href=3D"https://download.virtualbo=
x.org/virtualbox/6.1.12/VirtualBox-6.1.12-139181-Win.exe" target=3D"_blank"=
>https://download.virtualbox.org/virtualbox/6.1.12/VirtualBox-6.1.12-139181=
-Win.exe</a><br>* <a href=3D"https://downloads.sourceforge.net/gnuwin32/zli=
b-1.2.3-bin.zip" target=3D"_blank">https://downloads.sourceforge.net/gnuwin=
32/zlib-1.2.3-bin.zip</a><br>* <a href=3D"https://downloads.sourceforge.net=
/gnuwin32/bzip2-1.0.5-bin.zip" target=3D"_blank">https://downloads.sourcefo=
rge.net/gnuwin32/bzip2-1.0.5-bin.zip</a><br>* <a href=3D"https://downloads.=
sourceforge.net/gnuwin32/libarchive-2.4.12-1-bin.zip" target=3D"_blank">htt=
ps://downloads.sourceforge.net/gnuwin32/libarchive-2.4.12-1-bin.zip</a><br>=
* <a href=3D"https://downloads.sourceforge.net/mingw/binutils-2.19.1-mingw3=
2-bin.tar.gz" target=3D"_blank">https://downloads.sourceforge.net/mingw/bin=
utils-2.19.1-mingw32-bin.tar.gz</a><br>* <a href=3D"https://downloads.sourc=
eforge.net/mingw/gcc-core-3.4.5-20051220-1.tar.gz" target=3D"_blank">https:=
//downloads.sourceforge.net/mingw/gcc-core-3.4.5-20051220-1.tar.gz</a><br>*=
 <a href=3D"https://downloads.sourceforge.net/mingw/gcc-g++-3.4.5-20051220-=
1.tar.gz" target=3D"_blank">https://downloads.sourceforge.net/mingw/gcc-g++=
-3.4.5-20051220-1.tar.gz</a><br>* <a href=3D"https://downloads.sourceforge.=
net/mingw/mingwrt-3.15.2-mingw32-dev.tar.gz" target=3D"_blank">https://down=
loads.sourceforge.net/mingw/mingwrt-3.15.2-mingw32-dev.tar.gz</a><br>* <a h=
ref=3D"https://downloads.sourceforge.net/mingw/mingwrt-3.15.2-mingw32-dll.t=
ar.gz" target=3D"_blank">https://downloads.sourceforge.net/mingw/mingwrt-3.=
15.2-mingw32-dll.tar.gz</a><br>* <a href=3D"https://downloads.sourceforge.n=
et/mingw/w32api-3.13-mingw32-dev.tar.gz" target=3D"_blank">https://download=
s.sourceforge.net/mingw/w32api-3.13-mingw32-dev.tar.gz</a><br>* <a href=3D"=
https://downloads.sourceforge.net/mingw/mingw32-make-3.81-20080326-2.tar.gz=
" target=3D"_blank">https://downloads.sourceforge.net/mingw/mingw32-make-3.=
81-20080326-2.tar.gz</a><br>* <a href=3D"https://downloads.sourceforge.net/=
mingw/MSYS-1.0.11.exe" target=3D"_blank">https://downloads.sourceforge.net/=
mingw/MSYS-1.0.11.exe</a><br>* <a href=3D"https://downloads.sourceforge.net=
/mingw/msysDTK-1.0.1.exe" target=3D"_blank">https://downloads.sourceforge.n=
et/mingw/msysDTK-1.0.1.exe</a><br>* <a href=3D"http://strawberryperl.com/do=
wnload/5.8.8/strawberry-perl-5.8.8.2.zip" target=3D"_blank">http://strawber=
ryperl.com/download/5.8.8/strawberry-perl-5.8.8.2.zip</a><br>* <a href=3D"h=
ttps://github.com/bitcoin/bitcoin/archive/v0.1.5.zip" target=3D"_blank">htt=
ps://github.com/bitcoin/bitcoin/archive/v0.1.5.zip</a><br>* <a href=3D"http=
s://downloads.sourceforge.net/wxwindows/wxWidgets-2.8.11.zip" target=3D"_bl=
ank">https://downloads.sourceforge.net/wxwindows/wxWidgets-2.8.11.zip</a><b=
r>* <a href=3D"https://github.com/openssl/openssl/archive/OpenSSL_0_9_8h.zi=
p" target=3D"_blank">https://github.com/openssl/openssl/archive/OpenSSL_0_9=
_8h.zip</a><br>* <a href=3D"https://download.oracle.com/berkeley-db/db-4.7.=
25.NC.zip" target=3D"_blank">https://download.oracle.com/berkeley-db/db-4.7=
.25.NC.zip</a><br>* <a href=3D"https://downloads.sourceforge.net/boost/1.37=
.0/boost_1_37_0.zip" target=3D"_blank">https://downloads.sourceforge.net/bo=
ost/1.37.0/boost_1_37_0.zip</a><br>* <a href=3D"https://downloads.sourcefor=
ge.net/boost/boost-jam/boost-jam-3.1.17-1-ntx86.zip" target=3D"_blank">http=
s://downloads.sourceforge.net/boost/boost-jam/boost-jam-3.1.17-1-ntx86.zip<=
/a><br></div><div><br></div></div><br><div class=3D"gmail_quote"><div dir=
=3D"ltr" class=3D"gmail_attr">On Wed, Nov 11, 2020 at 9:06 AM Dan Bryant &l=
t;<a href=3D"mailto:dkbryant@gmail.com" target=3D"_blank">dkbryant@gmail.co=
m</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin=
:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"=
><div dir=3D"ltr"><div>TLDR; How to build old OpenSSL releases in MSYS/MinG=
W v1.0.11</div><div><br></div>In a similar vein to the Github Artic Code Va=
ult, and the Nakamoto Institute, I thought it would be educational to do a =
build of the first three versions of Bitcoin (v0.1.0, v0.1.3, and v0.1.5) [=
ref1].=C2=A0 Don&#39;t worry, I will keep these on a VLAN and not spam the =
IRC channel.<div><br></div><div>Wanting to be as accurate=C2=A0as possible,=
 I spun up some VMs to try to recreate the vintage Oct 2009 toolchains that=
 were used.=C2=A0 The original Satoshi posts seem to imply that the builds =
could be done using Visual C++ version 6.0 or MinGW and MSYS (which were at=
 v1.0.11).=C2=A0 Since it looks like most versions of VC 6 have been purged=
 from the internet, the only option left is MinGW which is still up on sour=
ceforge.=C2=A0 Most things seemed to build OK, with the exception of OpenSS=
L, which looks to fail due to some issues in <a href=3D"http://mk1mf.pl" ta=
rget=3D"_blank">mk1mf.pl</a> [ref2]=C2=A0 Perhaps there was a bad version o=
f perl in MSYS v1.0.11, I&#39;m not sure.</div><div><br></div><div>So my qu=
estion is..=C2=A0 Has anyone been here long enough to recall the steps to b=
uild OpenSSL v0.9.8h in MSYS 1.0.11?=C2=A0 Or, does anyone know where to fi=
nd a non-sketchy=C2=A0copy of Visual C++ 6.0?</div><div><br></div><div>My o=
ptions so far seem to be.</div><div><br></div><div>1. Try to find out how S=
atoshi did the MinGW OpenSSL build back in 2009.</div><div>2. Try to do the=
 OpenSSL build through Cygwin which could cross-complile=C2=A0to MinGW at t=
he time</div><div>3. Try to do the=C2=A0

OpenSSL build through Msys2 with later versions of perl and libc</div><div>=
4. Buy some sketchy version of VC 6 on ebay and try that</div><div>5. Patch=
 Bitcoin 0.1.0 to use OpenSSL v1.0.0 where they fixed the perl bug</div><di=
v>6. Give up and use a precompiled=C2=A0OpenSSL release</div><div>7. Give u=
p and use the Linux build methods introduced in Bitcoin v0.1.6</div><div><b=
r></div><div>I realize this all sounds like a fool&#39;s folly, but it seem=
s important (at some level) to be able to reproduce=C2=A0these old builds.=
=C2=A0 But perhaps it&#39;s just my OCD.</div><div><br></div><div>Thoughts?=
</div><div><br></div><div>For those interested.=C2=A0 The <a href=3D"http:/=
/mk1mf.pl" target=3D"_blank">mk1mf.pl</a> bug seems to be in parsing the li=
st of headers through either the var_add,=C2=A0clean_up_ws, or=C2=A0do_copy=
_rule subs.=C2=A0 I see both the headers and header directories being parse=
d, but the directories are dropped when building the make rules causing mak=
e to assume all headers are at root, failing the build.=C2=A0 Perhaps there=
 is a version sed, basename or dirname that is missing in MSYS, but I&#39;v=
e failed to find the dependency yet.</div><div><br></div><div>* ref1:=C2=A0=
<a href=3D"https://satoshi.nakamotoinstitute.org/code/" target=3D"_blank">h=
ttps://satoshi.nakamotoinstitute.org/code/</a></div><div>* ref1: <a href=3D=
"https://github.com/openssl/openssl/blob/OpenSSL_0_9_8h/util/mk1mf.pl" targ=
et=3D"_blank">https://github.com/openssl/openssl/blob/OpenSSL_0_9_8h/util/m=
k1mf.pl</a><br></div><div><br></div></div>
</blockquote></div>
</blockquote></div>

--0000000000007af81305b41eb7aa--