본문으로 건너뛰기

이메일 #046 - #050

원본 출처: Satoshi - Sirius emails 2009-2011

이메일 #046

Date: Thu, 29 Oct 2009 02:05:30 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Fw: bitcoin.sourceforge.net
To: [email protected]

한글 번역

CriticalSection 코드를 wxCriticalSection으로 바꾸어 SVN에 올리겠습니다. 조금 까다롭기는 합니다. 다만 TryEnterCriticalSection은 어떻게 처리해야 할지 모르겠습니다. 이제 거의 모든 내용을 체크인할 준비가 된 것 같습니다.

아마 말씀하신 대로 리눅스 빌드를 할 때가 된 것 같습니다. 리눅스 머신을 설정하고 의존성 파일들을 빌드하는 작업을 해 왔습니다.

Windows 스레드와 소켓 라이브러리 include를 POSIX에 대응하는 것으로 교체했더니, 이제 오류가 몇 개만 남았고 대부분 CriticalSection에서 나옵니다. 동작하게 만들면 svn/branches에 넣겠습니다. 아직 공식 릴리스일 필요는 없습니다.

영어 원문

I'll convert the CriticalSection code to wxCriticalSection and upload it 
to SVN (it's a little tricky). I don't know what to do for
TryEnterCriticalSection though. I think I'm almost ready to check
everything in.

You're probably right, it's about time to do a linux build. I've been
working on getting my linux machine set up and building the dependencies.

> Ok. I replaced the Windows thread and socket library includes with their
> POSIX equivalents, and now it only gives a few errors, mostly from the
> CriticalSections. If I make it work, I'll put it into svn/branches, it
> doesn't need to be an official release yet.

이메일 #047

Date: Thu, 29 Oct 2009 06:08:10 +0200
From: [email protected]
To: Satoshi Nakamoto <[email protected]>
Subject: Re: Fw: bitcoin.sourceforge.net

한글 번역

CriticalSection 코드를 wxCriticalSection으로 바꾸어 SVN에 올리겠습니다. 조금 까다롭기는 합니다. 다만 TryEnterCriticalSection은 어떻게 처리해야 할지 모르겠습니다. 이제 거의 모든 내용을 체크인할 준비가 된 것 같습니다.

Boost mutex가 여기서 도움이 될까요?

http://www.boost.org/doc/libs/1_40_0/doc/html/thread/synchronization.html#thread.synchronization.mutex_concepts

영어 원문

> I'll convert the CriticalSection code to wxCriticalSection and upload
> it to SVN (it's a little tricky). I don't know what to do for
> TryEnterCriticalSection though. I think I'm almost ready to check
> everything in.

Would the Boost mutex be of any help here?

http://www.boost.org/doc/libs/1_40_0/doc/html/thread/synchronization.html#thread.synchronization.mutex_concepts

이메일 #048

Date: Thu, 29 Oct 2009 06:38:30 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Linux build
To: [email protected]

한글 번역

제가 택한 쉬운 방법은 wxWidgets 소스 코드를 보고 그쪽에서 어떻게 처리했는지 확인하는 것이었습니다. MSW가 아닌 환경에서는 그냥 wxMutex에 대응시켰는데, wxMutex에는 TryEnter가 있어서 정확히 맞아떨어졌습니다.

밀려 있던 변경 사항을 모두 SVN에 체크인했습니다. util.h에 있는 CCriticalSection을 전면 개편한 것과, Windows가 아닐 때는 모든 처리를 wxWidgets로 하도록 util.cpp에 있는 OpenSSL의 mutex 콜백을 고친 것도 포함되어 있습니다.

리눅스에서 동작하게 되면, 먼저 여기에서 네트워크에 연결하지 않은 상태로 테스트 모음을 돌려 보겠습니다. 그 뒤에 공개하기 전에 미공개 빌드를 LibertyStandard에 주어 한동안 시험해 보게 할 수 있습니다.

[email protected]님이 썼습니다:

CriticalSection 코드를 wxCriticalSection으로 바꾸어 SVN에 올리겠습니다. 조금 까다롭기는 합니다. 다만 TryEnterCriticalSection은 어떻게 처리해야 할지 모르겠습니다. 이제 거의 모든 내용을 체크인할 준비가 된 것 같습니다.

Boost mutex가 여기서 도움이 될까요?

http://www.boost.org/doc/libs/1_40_0/doc/html/thread/synchronization.html#thread.synchronization.mutex_concepts

영어 원문

The easy solution I took was to look at the wxWidgets source code and 
see how they did it. They just mapped it to wxMutex on non-MSW, which
does have TryEnter, so that mapped in perfectly.

I checked in all my backlog of changes to SVN, including the overhaul of
CCriticalSection in util.h and OpenSSL's mutex callback in util.cpp to
do everything with wxWidgets when not on Windows.

If we get it working on Linux, I'll run my test suite against it here
off-network first, then we can give an unreleased build to
LibertyStandard to test for a while before going public.

[email protected] wrote:
>> I'll convert the CriticalSection code to wxCriticalSection and upload
>> it to SVN (it's a little tricky). I don't know what to do for
>> TryEnterCriticalSection though. I think I'm almost ready to check
>> everything in.
>
> Would the Boost mutex be of any help here?
>
> http://www.boost.org/doc/libs/1_40_0/doc/html/thread/synchronization.html#thread.synchronization.mutex_concepts
>
>

이메일 #049

Date: Fri, 30 Oct 2009 01:05:45 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Linux build
To: Martti Malmi <[email protected]>

한글 번역

지나다니다 발견한 이식성 없는 부분을 몇 가지 고쳤습니다: QueryPerformanceCounter printf 형식 문자열에서의 %I64d Sleep CheckDiskSpace

제가 고쳐야 할 이식성 없는 부분을 아시는 게 있으면 알려 주세요.

debug.log와 db.log를 그때그때 달라지는 현재 디렉터리에 두는 대신, 데이터 파일이 있는 디렉터리(%appdata%\Bitcoin)와 같은 디렉터리로 옮기려고 합니다.

영어 원문

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.

이메일 #050

Date: Sat, 31 Oct 2009 11:21:50 +0200
From: [email protected]
To: Satoshi Nakamoto <[email protected]>
Subject: Re: Linux build

한글 번역

util.h에서 QueryPerformanceCounter를 리눅스의 gettimeofday로 바꾸는 #ifdef를 만들었습니다. wxWidgets 2.9로 업데이트했더니 일부 Unicode/ANSI 오류는 코드를 고치지 않고도 해결됐습니다. 지금 리눅스에서 나는 컴파일 오류는 util.h의 heapchk()에서 나오는 것 하나뿐입니다.

지나다니다 발견한 이식성 없는 부분을 몇 가지 고쳤습니다: QueryPerformanceCounter printf 형식 문자열에서의 %I64d Sleep CheckDiskSpace

제가 고쳐야 할 이식성 없는 부분을 아시는 게 있으면 알려 주세요.

debug.log와 db.log를 그때그때 달라지는 현재 디렉터리에 두는 대신, 데이터 파일이 있는 디렉터리(%appdata%\Bitcoin)와 같은 디렉터리로 옮기려고 합니다.

영어 원문

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.
링크 복사하기X에 공유페이스북에 공유쓰레드에 공유