Re: Linux build

heapchk() is just a MSVCRT debugging thing that’s not being used. It can be a no-op on Linux. OpenSSL automatically uses /dev/urandom to seed on Linux, so RandAddSeedPerfmon can also be a no-op.

Don’t let it connect to the network before we’ve tested it thoroughly off-net. If you have two computers, unplug the internet and use “bitcoin -connect=” to connect to each other, one windows and one linux. -connect will allow you to connect to non-routable addresses like 192.168.x.x. We don’t want to reflect badly on the reliability of the network if it throws off some malformed crud we hadn’t thought to check for yet, or discovers something else anti-social to do on the network.

I have time that I can do some testing when you’ve got something buildable to test. I can include it in the stress test I’m currently running on the changes so far.

mmalmi@cc.hut.fi wrote:

I made an #ifdef to replace QueryPerformanceCounter with Linux’s gettimeofday in util.h. Some Unicode/ANSI errors were resolved without code changes when I updated to wxWidgets 2.9. The only compile error I’m getting in Linux at the moment is from heapchk() in util.h.

I fixed some non-portable stuff I came across: QueryPerformanceCounter %I64d in printf format strings Sleep CheckDiskSpace

If there’s any other unportable stuff you know of I should fix, let me know.

I think I’ll move debug.log and db.log into the same directory as the data files (%appdata%\Bitcoin), rather than whatever the current directory happens to be.

Source: Published by Martti Malmi on GitHub in February 2024 as part of his testimony in the COPA v. Wright trial. The full correspondence archive is available at mmalmi.github.io/satoshi/.