On 28 May 2010 00:11, John M McIntosh johnmci@smalltalkconsulting.com wrote:
On 2010-05-27, at 2:06 PM, Igor Stasenko wrote:
On 28 May 2010 00:02, Andreas Raab andreas.raab@gmx.de wrote:
On 5/27/2010 1:56 PM, Josh Gargus wrote:
I loves me my bit-identical computation, but statically linking to the same version of the library doesn't necessarily give it. For example, a video decoder may check hardware capabilities, and depending on what it finds decode the video on the GPU, using SSE, or just using the non-vector CPU instructions.
There are some examples where we would make the case that the library needs to be statically linked in order to provide bit-identical computation(eg: fdlibm for Croquet math operations), but for things like JPEG I think that the argument is pretty weak.
Agreed.
I really don't wanna put that on flame. Just a single word, which could say more than rest of arguments: UUID plugin.
The UUID plugin does not contain the UUID source code, it's a library call and expect it to use the system library. The fact that the system library is broken on some versions of some platforms is of course an issue, but frankly it's an issue for all software that uses UUID on that platform. Also the behaviour of UUID is not bit identical on every platform the host operating system.
Obviously this is the problem if you rely on the platform code to do the right thing, but you choice here is wanting to enable bit identical behaviour versus ensuring Squeak is put into various Linux distributions?
No, i consider my choice differently. One of the ways to ensure stability is to freeze the code. Then you don't have unexpected failures, because of newer version(s). That's maybe a major reason to statically link with bundled verisons of libraries, instead of dynamically. Including cases, where our intent to provide a bit-identical behavior.
It is also about taking a responsibility. If you bundle library , then you are the only one, who responsible for making it work right. And if you linking against external library, then all you can do is to say: - sorry pal, your platform has broken XYZ, you can't use our software there..
--
John M. McIntosh johnmci@smalltalkconsulting.com Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================