Details Ticket 2322


Comment | Reply | Take | Open


Serial Number 2322
Subject Grass makes HUGE binaries
Area bug
Queue grass
Requestors cedricpublic@shockfamily.net
Owner none
Status resolved
Last User Contact Mon Feb 16 10:13:57 2004 (5 yr ago)
Current Priority 30
Final Priority 70
Due No date assigned
Last Action Sat Mar 6 04:41:20 2004 (4 yr ago)
Created Mon Feb 16 08:06:51 2004 (5 yr ago)

Transaction History Ticket 2322


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  
Comment | Reply | Take | Open

You are currently authenticated as guest.
[Show Configuration] [Login as another user]

Users Guide - Mail Commands - Homepage of RequestTracker 1.0.7 - list any request