http://bugs.winehq.org/show_bug.cgi?id=22132
--- Comment #12 from Dmitry Timoshkov dmitry@codeweavers.com 2010-03-23 11:18:03 --- (In reply to comment #11)
Oh, and it would need to safely handle passing of file descriptors from the client app to mpg123_open_fd(). I do not know exactly how exchangeable, if at all, descriptors are between small and large file code -- I just expect trouble.
File descriptors are just handles, they have nothing to do with file access.
But yes, I forgot about crossover and friends. Such packages face troubles with GNU/Linux distributions anyway -- you do a package for a certain distro, for the certain libs it installs. Else, an option for such packages is to include libraries that are tricky to rely on (so, everything except libc and libx11, perhaps).
Crossover single build works just fine on a wide range of different distros.
But, this discussion is rather academic considering that mpg123 1.11 _is_ released now and the two sonames are fact now. When one has to deal with the legacy anyway, it wouldn't really help the wine project if mpg123 1.12 would include a dual-mode library, would it? It would still need to deal with possibilities of small-file libmpg123.so, large-file libmpg123.so, large-file libmpg123_64.so, and now possibly dual-mode libmpg123.so, which wouldn't add work, but also it wouldn't save any work:-/
That's unfortunate. You have been already told before to do things the way glibc does them. In the worst case Wine should find another library which takes binary compatibility into account.