Ticket #57 (new 要望)

Opened 3 years ago

Last modified 3 years ago

Meadow2.11pre,Meadow3のネットインストールバイナリが異様に大きい

Reported by: R Assigned to: kose
Priority: normal Milestone:
Component: パッケージ Version:
Severity: normal Keywords:
Cc:

Description

現在使っているMeadow2.2-2004-10-9や、Meadow2.10と比べるとバイナリサイズが 大きくなっています。よくわかるところでMeadow2.10のfiber.exeが33KBから2.11では574KBに膨れています(.exe関連ファイルは大体大きくなっている)。 リリースではないのでわざとシンボル情報やデバッグ情報などを残しているのでしょうか?そうであるならばできればカットしたバージョンも公開してほしいところです。(起動が遅いので…)

Attachments

Change History

2005年12月15日 23時54分23秒 changed by R

既知の事とは思いますが一応、下記のようにすればデバッグオプションは切れると思います。

configure.meadow --with-gcc --no-cygwin --no-debug --prefix meadow

2005年12月17日 11時36分25秒 changed by anonymous

strip コマンドでデバッグシンボルを削除し、upx で実行ファイルを圧縮するのは如何でしょう。以下は rev4002 の fiber.exe で試した結果です。

$ ls -1s --block-size 1 fiber*.exe
589824 fiber.exe   # netinstall バイナリ (rev4002)
 20480 fiber2.exe  # strip をオプション引数なしで実行
  8192 fiber3.exe  # strip 後、upx を --best オプション付きで実行

upx を適用すると逆に起動が遅くなる場合もありますが、strip コマンドではお望みの効果が得られると思います。

2005年12月19日 15時37分13秒 changed by kose

あるバージョン以降の gcc がデバッグシンボルを多量に付加するようになりました。

gccのコンパイルスイッチは変更していないし、意図的にデバッグシンボルを付加しているわけでもありません。make の手順に変更はないのでこのように実行ファイルが大きくなってしまっているということに気がついていませんでした。

というのが現状です。stripするしかないんですかねぇ。

2005年12月23日 00時49分11秒 changed by R

http://www.meadowy.org/meadow/ticket/265

このGCC向けのパッチを当てて、上記に書いたように「--no-debug」をつけてconfigureしてmakefileを作り直してもだめでしょうか?

2005年12月23日 23時09分38秒 changed by kose

期待した結果にはなりませんでした。fiber.exeには効果がありました。 (stripはしていません)

3.00 r4003 + http://www.meadowy.org/meadow/ticket/265
4308872 12-23 22:43 Meadow.dmp
3235017 12-23 22:43 Meadow.exe
  24568 12-23 22:44 cmdproxy.exe
 113620 12-23 22:43 ctags.exe
  63663 12-23 22:43 ebrowse.exe
 111395 12-23 22:43 etags.exe
  33455 12-23 22:44 fiber.exe
3235017 12-23 22:43 temacs.exe

3.00 r4003
4308872 12-21 22:18 Meadow.dmp
3235017 12-21 22:18 Meadow.exe
 577816 12-21 22:18 cmdproxy.exe
 113620 12-21 22:18 ctags.exe
  63663 12-21 22:18 ebrowse.exe
 111395 12-21 22:18 etags.exe
 586703 12-21 22:18 fiber.exe
3235017 12-21 22:18 temacs.exe

2.10
2494652 08-28 17:33 Meadow.dmp
1764532 08-28 17:33 Meadow.exe
  25256 08-28 17:34 cmdproxy.exe
  98883 08-28 17:33 ctags.exe
  63673 08-28 17:33 ebrowse.exe
  96483 08-28 17:33 etags.exe
  33631 08-28 17:34 fiber.exe
1764532 08-28 17:33 temacs.exe

ちなみにnetinstallのパッケージはもともとずっと前から--no-debugでした。 PkgMake

2005年12月24日 00時50分34秒 changed by R

あー、残念。GCCのバージョンのせいでしたか・・・ VC++2003でコンパイルしたときはもう少し小さくなっていたので、--no-debugをつけていないのかなと思ったしだいです。しかし、--no-debugtつけているのであれば仕方がありませんね。
今回のことで自分でコンパイルするようになったので私自身はいいのですが・・・

2005年12月27日 01時57分09秒 changed by R

調べたところ、リンクオプションで「-s」をつけると余計なシンボル情報を削除してくれるそうです。
(stripと同じようなこと)

http://www.meadowy.org/meadow/ticket/265
またパッチは上記の最後の返答につけています。


Add/Change #57 (Meadow2.11pre,Meadow3のネットインストールバイナリが異様に大きい)




Change Properties
Action