Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MinGWビルドのpch利用を中断する #994

Merged

Conversation

berryzplus
Copy link
Contributor

PR の目的

MinGWビルドのpch利用を中断して、azure pipelinesのビルドエラーを回避します。

カテゴリ

  • CI関連
    • Azure Pipelines

PR の背景

azure pipelinesに引っ越ししたMinGWビルドがエラーでコケています。

原因は不明です。

エラーメッセージを読む限り、pch読取に使うMapViewOfFileがエラーを返しているようなのですが、ローカルビルドでは再現しないエラーなので原因は分からないままです。

分かっていることは1つ、pchの処理中にエラーが起きているということです。

CI環境がエラーでコケているのを放っておくのもよくないので、一時的にpchの利用を止めておきたいと思います。

PR のメリット

azure pipelinesのビルドエラーが起きなくなります。

PR のデメリット (トレードオフとかあれば)

pch(=プリコンパイル済みヘッダー)の利用をやめる影響で、ビルド速度が遅くなります。
実績のビルド時間は19分ですが、ギリギリでappveyorより速いので許容範囲と思っています。

PR の影響範囲

MinGWビルド。
アプリ(=サクラエディタ)の機能に影響はありません。

関連チケット

#985 これの影響でビルドがコケている
#993 これの影響でビルドがコケている

参考資料

とくになし

ビルドコマンドラインの例示が古くなっていたので最新化。
azure pipelinesで問題が発生したため、MinGWメイクファイルの依存関係を修正。
githash.batが複数回呼ばれた結果、pchの再生成が必要な状態になりビルドエラーを起こしていた。
pchの読み取りに失敗するエラーを解消できないので、一旦pch利用をやめる。
@AppVeyorBot
Copy link

mingw32-make -j4
path=C:\msys64\mingw64\bin;%path%
mingw32-make -C sakura_core githash.h Funccode_enum.h Funccode_define.h
mingw32-make -C sakura_core -j4
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-j4 じゃなくて -j だと良くない事が起きるんでしょうか?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

というか実行例だから別にどうでもいいですね。。

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

あ、でも build-gnu.bat の中でも -j4 指定がされているのが気になります。
そのうち64コアのCPUが一般にも出回ってくると思うので4プロセスに限定しないで良い気がします。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ローカルは4を外して-jで動かすことが多いです。
azure pipelinesのビルドマシンは、追加料金を積まない限り2コアなはずなので数字を外してもあんまり意味がないはずです。(試してみたけどpchでコケたので外すのやめました。

テスト環境含めてビルド全体をcmake化したいと思っていて、そのあたりはおそらく墓参り旅行中の @m-tmatma さんが返ってきてからかなぁと思っています。

Copy link
Contributor

@beru beru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ビルド通ってるので変更内容は問題無いと思います。

@berryzplus berryzplus merged commit 547c836 into sakura-editor:master Aug 15, 2019
@berryzplus berryzplus deleted the feature/disable_pch_for_MinGW branch August 15, 2019 05:33
@beru beru added MinGW MinGW azure pipelines no-changelog 【ChangeLog除外】 labels Aug 23, 2019
@m-tmatma m-tmatma added this to the v2.4.0 milestone Dec 29, 2019
HoppingTappy pushed a commit to HoppingTappy/sakura that referenced this pull request Jun 16, 2020
…pch_for_MinGW

MinGWビルドのpch利用を中断する
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
azure pipelines MinGW MinGW no-changelog 【ChangeLog除外】
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants