読者です 読者をやめる 読者になる 読者になる

clock-up-blog

go-mi-tech

Visual Studio 2017 正式版の導入

Visual Studio

2017年3月7日 8:00AM PST あたりに Visual Studio 2017 正式版がリリースされました。
これは日本時間では 2017年3月8日 1:00AM JST あたりのことです。日付変わるの悔しいなー

続きを読む

ccache によるビルド高速化。実例として bitcoin のビルド速度は約30倍になりました。

C++ gcc Bitcoin

gcc によるビルドを高速化するミドルウェアとして ccache というものがあります。
詳しい解説は以下が参考になるかと思います。

実導入例

インパクトのある効果例を先に示しておきます。
Amazon EC2 の t2.small (1 vCPU / Mem 2GB) インスタンスにおいて、ccache の無い状態、ccache の有る状態でそれぞれ3回ずつ bitcoin のビルドを試しました。

f:id:kobake:20170307163547p:plain:w500

続きを読む

Azure Web Apps デプロイ時の MissingRegistrationForLocation エラー対策

Visual Studio 2015 にて ASP.NET MVC プロジェクトを作成し、Azure Web Apps へのデプロイを行おうとしたときに、以下のようなエラーが発生してデプロイが行えないトラブルに最近遭遇した。

Following errors occured during the deployment:

Error during deployment for resource 'myproject' in resource group 'mygroup': MissingRegistrationForLocation: The subscription is not registered for the resource type 'components' in the location 'Central US'. Please re-register for this provider in order to have access to this location..
続きを読む

Berkeley DB 4.8.30 を MinGW, MSYS 環境でビルドする(要修正パッチ)

MinGW

Berkeley DB 4.8 について

現時点で利用できる最新の Oracle Berkeley DB は 6.2 系列ですが、Bitcoin Core 等が Berkeley DB 4.8 に依存している等の事情があり、いまだに Berkeley DB 4.8 を使うことは割とあったりします。

Berkeley DB 4.8 の MinGW, MSYS でのビルドエラーについて

実のところ Berkeley DB 4.8.30 はパッケージを入手して MinGW, MSYS 環境でビルドしようとしてもおそらくビルドは通りません。(この問題がいまだに残っているのはおそらく MinGW, MSYS 環境への Berkeley DB 4.8 導入実績が少なく気づかれなかった、または 4.8 リリース当時の MinGW, MSYS では問題なかったのかもしれません。)

大抵の場合は make の段階で以下のようなエラーに遭遇するでしょう。

libtool: compile:  gcc -c -I. -I../dist/.. -O3 ../dist/../mutex/mut_failchk.c  -DDLL_EXPORT -DPIC -o .libs/mut_failchk.o
../dist/../mutex/mut_failchk.c: In function '__mut_failchk':
../dist/../mutex/mut_failchk.c:53:27: error: incompatible type for argument 3 of 'dbenv->is_alive'
       dbenv, mutexp->pid, 0, DB_MUTEX_PROCESS_ONLY))
                           ^
続きを読む
});