This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author kxroberto
Recipients kxroberto
Date 2011-12-11.09:47:54
SpamBayes Score 1.6634216e-07
Marked as misclassified No
Message-id <1323596877.08.0.826417896896.issue13580@psf.upfronthosting.co.za>
In-reply-to
Content
With transition from Python2.5 to Python2.6 on current Debian stable I noticed that the python2.6 executable has now 2x size of python2.5's.
Half of lib-dynload/*  obviously have been embedded into the executable by default. While most of the selections may be somewhat reasonable, I want to protest against static inclusion of _ssl.so, which now draws libssl*.so and libcryto*.so at each Python startup. This module is rarely needed, and the draw is almost as fat as the Python binary itself and those libs are not genarally loaded in the system. Those 2 dependencies solely are against detailed versions even!! See below.
Besides load time and resource wastage, there are now e.g. likely problems with frozen python scripts due to the detailed version deps. (binding with unversioned libssl.so may be ok for future separate _ssl.so module?)


$ ldd /usr/bin/python2.5
        linux-gate.so.1 =>  (0xb78dc000)
        libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb78c1000)
        libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb78bd000)
        libutil.so.1 => /lib/i686/cmov/libutil.so.1 (0xb78b8000)
        libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7892000)
        libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb774c000)
        /lib/ld-linux.so.2 (0xb78dd000)

$ ldd /usr/bin/python2.6
        linux-gate.so.1 =>  (0xb76e7000)
        libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb76cc000)
        libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb76c8000)
        libutil.so.1 => /lib/i686/cmov/libutil.so.1 (0xb76c3000)
        libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0xb7679000)
        libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb751d000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7509000)
        libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb74e3000)
        libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb739c000)
        /lib/ld-linux.so.2 (0xb76e8000)



Note: "missing files" consumed from lib-dynload/ since Python2.5:

_functools.so 6780
_hashlib.so 11392
math.so 12492
array.so 32432
_socket.so 54228
strop.so 21616
spwd.so 7132
collections.so 21116
unicodedata.so 474792
itertools.so 29684
rgbimg.so 12416
select.so 12816
time.so 16412
grp.so 6868
_locale.so 15760
binascii.so 17344
_weakref.so 4816
cStringIO.so 17076
cPickle.so 68968
syslog.so 5824
_ssl.so 15452
_bisect.so 7568
operator.so 25392
fcntl.so 13536
_struct.so 24832
zlib.so 21708
_random.so 10368


(python2.7 not tested, as it is not available via apt-get so far.)
History
Date User Action Args
2011-12-11 09:47:57kxrobertosetrecipients: + kxroberto
2011-12-11 09:47:57kxrobertosetmessageid: <1323596877.08.0.826417896896.issue13580@psf.upfronthosting.co.za>
2011-12-11 09:47:56kxrobertolinkissue13580 messages
2011-12-11 09:47:54kxrobertocreate