http://bugs.winehq.org/show_bug.cgi?id=20042
--- Comment #34 from Thomas Orgis thomas-forum@orgis.org 2010-02-11 03:32:59 --- Created an attachment (id=26198) --> (http://bugs.winehq.org/attachment.cgi?id=26198) mpg123.h from a 64-bit install of unreleased 1.10.1, providing MPG123_FORCE_LARGEFILE.
OK, folks, would this be a solution for you:
I added a preliminary mpg123 1.10.1 to our repo (svn://orgis.org/mpg123/tags/1.10.1) that has a tweaked mpg123.h.in, resulting in the attached file when installed on a x86-64 Linux system.
The change is this: You can build your 32-bit app using this 64-bit header by overriding the largefile machinery.
cc -D_FILE_OFFSET_BITS=64 -DMPG123_FORCE_LARGEFILE=_64 ...
If you want to link with a libmpg123 that does not have largefile support enabled, then you can even build with a 32-bit largefile-enabled header using the same techique
cc -DMPG123_FORCE_LARGEFILE= ...
Whatever value you give to MPG123_FORCE_LARGEFILE, it will replace any default suffix appended to largefile-ware functions. Of course, do this at your own risk... you have to ensure that the library you are linking in does match your largefile setup!
Now, with the attached header, or supposedly mpg123-1.10.1 installed, putting -DMPG123_FORCE_LARGEFILE=_64 into the CFLAGS of the wine build should make it use the correct symbols on a multilib setup with largefile support.
Comments? Shall I release this hack?