1

I was evaluating space requirements for a minimum Debian installation when I noticed packages for i386 architecture are often twice as large as for other architectures. The reason becomes clear when one looks at the list of files. Example:

/usr/lib/i386-linux-gnu/i586/libcrypto.so.1.0.0
/usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0
/usr/lib/i386-linux-gnu/i686/cmov/libcrypto.so.1.0.0
/usr/lib/i386-linux-gnu/i686/cmov/libssl.so.1.0.0
/usr/lib/i386-linux-gnu/libcrypto.so.1.0.0
/usr/lib/i386-linux-gnu/libssl.so.1.0.0

So basically, all the libraries are provided for 3 separate architectures: i386, i586 and i686. What is the reason for such a waste of space? Why doesn't Debian detect the right architecture upon installation and pulls only the right versions of libraries for it?

  • The question, answer and the the actual reason are opinion-based. The packagers of Debian decided that this is the right way to go. You have another view... – Serge Sep 20 '16 at 09:08
  • Could you qualify "often"? As far as I can see there's libssl1.0.0, libx264-142 and not much more... – Stephen Kitt Sep 20 '16 at 09:09
  • Moreover, the libssl is not good example: the optimisations that available on i585 are not available on older processors. For openssl it really important to use 586 capabilities when available to speed up the cryptography. For the rest of packages the advantage is not as big to maintain both 386 and 586 distros. Though, if you are not satisfied with performance, you always could rebuild all packages to meet your platform specifics – Serge Sep 20 '16 at 09:16
  • @Serge I don't have any view, actually. I wanted to know why something is done the way it is. According to you, is this question subjective as well? – Dmitry Grigoryev Sep 20 '16 at 10:19
  • the question you pointed to has real explanation why the tilde is an alias for home. It is not because someone just decided to use tilde. It's because the tilde first were put at the same key as home key, and only later then the ~ sign became the users home alias. The Debian developers just decided at some point that they will not be shipping i586 builds anymore (due to the valid reasons though). I gave you the explanation why specifically openssl lib is still included into 386 distro, but this is an exception for i386, not the rule. – Serge Sep 20 '16 at 10:36
  • So, Debian developers "just decided" not to ship i586, while the choice of ~ character was somehow defined by laws of computer science? I fail to see the difference between two arbitrary choices here. Point taken about openssl being a bad example, though I may think of many libs which could benefit from a performance boost. – Dmitry Grigoryev Sep 20 '16 at 10:43
  • 1
    This, again, is perhaps based on the decisions and opinions of the relevant Debian developers. Decisions which are likely to be documented somewhere. I find this quite different from questions where every user is likely to have their own preference. I don't think the opinions of SE users come to it, unless everyone happens to have their own version of "Debian". (Now, if the question was "should a distro provide x or z", that would be opinion-based.) – ilkkachu Sep 23 '16 at 13:47

1 Answers1

3

This is true with the latest stable Jessie, but the upcoming Stretch will be i686 only. https://lists.debian.org/debian-devel-announce/2016/05/msg00001.html It was about speed + compability. Especially for people like me, who like to copy one installation on hundrends of pcs, which can be i386, i586, i686, and no need to install them one by one. Next year the minimum will be i686 - your dreams came true!

Ipor Sircer
  • 14,546
  • 1
  • 27
  • 39