[Bug 20042] Wine does not build on amd64 when linking to 32-bit libmpg123

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Feb 11 03:33:00 CST 2010


http://bugs.winehq.org/show_bug.cgi?id=20042





--- Comment #34 from Thomas Orgis <thomas-forum at 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?

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list