Mon, Feb 16 2004
08:06:51
|
|
Request created by guest
|
|
Subject: Grass makes HUGE binaries
Platform: GNU/Linux/i386
grass obtained from: Trento Italy site
grass binary for platform: Compiled from Sources
GRASS Version: 5.0.3
Compiled grass 5.0.3 with everything turned off:
./configure --with-tcltk-includes=/usr/include/tcl8.4/ --without-blas --without-lapack
--without-postgres --without-odbc --with-gdal --without-fftw --without-gd --without-opengl
--without-jpeg --without-tiff --without-png
Using gcc-3.3
Compiled it in my home partition with "make", then installed it to /usr/local,
in a different partition. Before running "make install" there is over 595 MB
of free space in /usr/local partition. "make install" runs the partition out
of free space.
After make install /usr/local/grass5/bin/ contains about 300 identical files
with different names. Each of them is 912160 bytes. /usr/local/grass5/etc/bin/cmd/
also contains about 300 files, this time unique and each about 1.5 megabytes. |
|
Mon, Feb 16 2004
10:13:57
|
|
Mail sent by pkelly
|
|
This is because 5.0 compiles the internal GRASS libraries statically by
default. So does 5.3, but if you add the configure options
'--enable-gmake=no --enable-shared=yes' in 5.3 then it will compile with
shared libraries and be a lot smaller.
Note than you can/should also run make strip in 5.0 and 5.3 after compiling
to strip debugging symbols from the executable files (or you can pass CFLAGS
to the configure script to stop debugging symbols being added, if you know
what you're doing).
The files in grass5/bin are all hardlinks to the same file so they don't take
up any extra space. The files in etc/bin/cmd and etc/bin/inter can all be
stripped.
It should be probably around 100MB after stripping, depending on your
platform. But if you try shared libraries in 5.3 it will be much smaller
still. |
|
Mon, Feb 16 2004
19:37:12
|
|
Mail sent by cedricpublic@shockfamily.net
|
|
Return-Path |
<cedricpublic@shockfamily.net>
|
Delivered-To |
grass-bugs@lists.intevation.de
|
Message-ID |
<40310D71.3010908@shockfamily.net>
|
Date |
Mon, 16 Feb 2004 10:35:29 -0800
|
From |
Cedric Shock <cedricpublic@shockfamily.net>
|
User-Agent |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031107 Debian/1.5-3
|
X-Accept-Language |
en
|
MIME-Version |
1.0
|
To |
Paul Kelly via RT <grass-bugs@intevation.de>
|
Subject |
Re: [bug #2322] (grass) Grass makes HUGE binaries
|
References |
<20040216091357.BA69E139A9@lists.intevation.de>
|
In-Reply-To |
<20040216091357.BA69E139A9@lists.intevation.de>
|
Content-Type |
text/plain; charset=us-ascii; format=flowed
|
Content-Transfer-Encoding |
7bit
|
X-Spam-Status |
No, hits=-4.9 tagged_above=-999.0 required=3.0 tests=BAYES_00
|
X-Spam-Level |
|
Paul,
Thank you very much for your help. It worked nicely now.
There was a nice note in INSTALL about adding "stripping" to LDFLAGS,
but I missed it. If this hasn't already been addressed for 5.3, a more
prominent note like this could be added somewhere near the top of INSTALL:
If you do not need debugging symbols, approximatly ?00 MB, use "make
strip" before installing:
./configure
make
make strip
make install
Thanks for your time,
Cedric
|
|
Sat, Mar 6 2004
04:41:20
|
|
Status changed to resolved by smitchell
|
|