Octave is enormous

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Octave is enormous

Otto Maddox
I have mostly managed to get octave-2.1.72 compiled and installed as
per my description in
http://www.octave.org/mailing-lists/help-octave/2005/4691

(Thankfully the Octave mailing lists are regenerated so frequently
that I can refer to it so quickly. :-)

The executable octave-2.1.72 is 222952484 bytes.  That's over 220 MB.
The whole installation is over 440 MB.  The FAQ says it should be
around 65 MB.

Is this normal?  How do I configure and rebuild octave to make it
smaller?

I read about the --enable-shared, --enable-dl and --enable-lite-kernel
configure options, but I don't really understand what they do or
whether they are suitable for this purpose.

--
http://www.fastmail.fm - A no graphics, no pop-ups email service



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------

Reply | Threaded
Open this post in threaded view
|

Re: Octave is enormous

A. Scottedward Hodel-5
Did you run the configure script with -enable-shared -enable-dl --
disable-static ?
My octave binary (2.1.71) is only 20K, since the bulk of Octave is  
distributed among shared libraries (.oct files), about 95.8 MB in  
folder /sw/lib/octave/2.1.71/oct .

On Dec 31, 2005, at 10:53 AM, Otto Maddox wrote:

> I have mostly managed to get octave-2.1.72 compiled and installed as
> per my description in
> http://www.octave.org/mailing-lists/help-octave/2005/4691
>
> (Thankfully the Octave mailing lists are regenerated so frequently
> that I can refer to it so quickly. :-)
>
> The executable octave-2.1.72 is 222952484 bytes.  That's over 220 MB.
> The whole installation is over 440 MB.  The FAQ says it should be
> around 65 MB.
>
> Is this normal?  How do I configure and rebuild octave to make it
> smaller?
>
> I read about the --enable-shared, --enable-dl and --enable-lite-kernel
> configure options, but I don't really understand what they do or
> whether they are suitable for this purpose.
>
> --
> http://www.fastmail.fm - A no graphics, no pop-ups email service
>
>
>
> -------------------------------------------------------------
> Octave is freely available under the terms of the GNU GPL.
>
> Octave's home on the web:  http://www.octave.org
> How to fund new projects:  http://www.octave.org/funding.html
> Subscription information:  http://www.octave.org/archive.html
> -------------------------------------------------------------
>

A S Hodel http://homepage.mac.com/hodelas
[hidden email]





-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------

Reply | Threaded
Open this post in threaded view
|

Re: Octave is enormous

Stéfan van der Walt
In reply to this post by Otto Maddox
On Sat, Dec 31, 2005 at 04:53:26PM +0000, Otto Maddox wrote:

> I have mostly managed to get octave-2.1.72 compiled and installed as
> per my description in
> http://www.octave.org/mailing-lists/help-octave/2005/4691
>
> (Thankfully the Octave mailing lists are regenerated so frequently
> that I can refer to it so quickly. :-)
>
> The executable octave-2.1.72 is 222952484 bytes.  That's over 220 MB.
> The whole installation is over 440 MB.  The FAQ says it should be
> around 65 MB.
>
> Is this normal?  How do I configure and rebuild octave to make it
> smaller?

Are your binaries stripped?  In other words, if you run

strip liboctave.so

and

strip octave

do their sizes change?

Regards
Stéfan



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------

Reply | Threaded
Open this post in threaded view
|

Re: Octave is enormous

William Poetra Yoga H-2
On 1/1/06, Stefan van der Walt <[hidden email]> wrote:

>
> Are your binaries stripped?  In other words, if you run
>
> strip liboctave.so
>
> and
>
> strip octave
>
> do their sizes change?
>

Actually I heard somewhere that we shouldn't strip our libraries. I
usually use strip -g for them ;)

--
William Poetra Yoga Hadisoeseno



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------

Reply | Threaded
Open this post in threaded view
|

Re: Octave is enormous

Mike Miller-20
In reply to this post by A. Scottedward Hodel-5
On Sat, 31 Dec 2005, A S Hodel wrote:

> Did you run the configure script with -enable-shared -enable-dl --
> disable-static ?
> My octave binary (2.1.71) is only 20K, since the bulk of Octave is
> distributed among shared libraries (.oct files), about 95.8 MB in folder
> /sw/lib/octave/2.1.71/oct .


I didn't post the original question but I just installed Octave 2.1.72 on
two Linux machines last week and I have two rather different results.  In
both cases I used --enable-shared, but not the other configure options.
The octave binary was always small.  The volume of lib/octave-2.1.72 was
374MB on an IA64 machine and 160MB on an i386 machine.  So there can be a
lot of variation in space used, but I don't know what controls that
variation.

Mike



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------

Reply | Threaded
Open this post in threaded view
|

Re: Octave is enormous

William Poetra Yoga H-2
Here's my configure options: (I'm using Octave 2.9.4, so it might not
be a fair comparison)

CFLAGS="-O2" CXXFLAGS="-O2" FFLAGS="-O2" \
./configure \
--prefix=/usr \
--enable-shared \
--disable-static \
--enable-dl \
--enable-readline \
--disable-picky-flags \
--disable-nls \
--disable-rpath \
--with-zlib \
--with-blas=-lblas \
--with-lapack=-llapack

Then

make install

cd /usr/lib
ln -s octave-2.9.4/*.so .

cd /usr/bin
strip -g *

cd /usr/libexec/octave/2.9.4/oct/i686-pc-linux-gnu
strip -g *

cd /usr/lib/octave-2.9.4
strip -g *.so

The resulting size is about 30 MB.

Then for octave-forge:

./configure \
--prefix=/usr \
--with-ieee754

make
make install

cd /usr/libexec/octave/2.9.4/site/oct/i686-pc-linux-gnu/octave-forge
rm {bitand,bitmax,bitor,bitxor,builtin,cellfun,chol,deal,dispatch,dispatch_help,pcregexp,regexp,sort,struct}.oct

cd /usr/share/octave/2.9.4/site/m/octave-forge
rm cell/cell2mat.m
rm general/{bitcmp,bitset,bitget,bitshift,blkdiag,char,complex,double,fcnchk,isa,isequal,isunix,ndims,unix}.m
rm miscellaneous/{inline,test_inline_1}.m
rm plot/orient.m
rm strings/{cellstr,str2double,strcmpi,strfind,strmatch,strncmp}.m
rm set/{ismember,setdiff,unique}.m
rm struct/{fieldnames,isfield,rmfield,struct}.m

cd /usr/libexec/octave/2.9.4/site
cd exec/i686-pc-linux-gnu
strip -g aurecord
cd ../..
cd oct/i686-pc-linux-gnu/octave-forge
strip -g *
cd ../../..

The resulting size is about 10 MB.


So the total size is about 40 MB (compare that to ~2GB for Matlab). My
system is:

william@darkstar:~$ uname -a
Linux darkstar 2.4.32 #1 Sun Dec 25 01:17:05 CST 2005 i686 unknown
unknown GNU/Linux
william@darkstar:~$ gcc -dumpversion
3.4.5



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------