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

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Nov 1 15:59:51 CST 2009


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





--- Comment #19 from Erich Hoover <ehoover at mines.edu>  2009-11-01 15:59:51 ---
(In reply to comment #18)
> Is that a switch that should be passed to building on all arches, or just 32
> bit?

I believe that this flag should only be passed when building a 32-bit
compatibility library for use on a 64-bit system.  Since the library is aware
of "large file support" (and the generic 32-bit build doesn't have large file
support enabled) you end up with a mismatch in the size of the "off_t" type. 
So, if you don't turn on the flag you'll build the library with 8-byte file
offsets instead of 4-byte file offsets.

> Currently the way ia32-libs works is very ugly - the libs are copied directly
> from the 32 bit package and dumped to /usr/lib32.  This means that packages
> which have hard-coded paths pointing to /usr/lib will sometimes run into the
> 64-bit version of the package on the system, resulting in errors.

While I'm sure you have a lot more experience with it than I, from an end-user
perspective I tend to agree.  Personally, I think that ia32-libs should be a
metapackage with separate packages for the different libraries.

> The header file itself comes from the -dev package that was built on 64 bit (I
> believe because it's assumed that the header file doesn't change between
> arches).

I've run into some rare header files change behavior between 32-bit and 64-bit.
 When that is the case it is sometimes necessary to test for defined(__i386) or
defined(__x86_64) so that a separate header file is not needed for the two
architectures.

-- 
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