http://bugs.winehq.org/show_bug.cgi?id=20042
Thomas Orgis thomas-forum@orgis.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |thomas-forum@orgis.org
--- Comment #23 from Thomas Orgis thomas-forum@orgis.org 2010-01-19 17:27:29 --- Hi. The mpg123 project speaking here.
As you already noticed, the simple issue is that you need to build you app using the mpg132 header that matches the build of libmpg123 you're linking to. That is nothing esoteric. That this is causing trouble in this case is for the simple fact that large file support is a bit on the dangerous side on Linux (or Solaris, for that matter): I added the _64 suffixes for the builds that need to have largefile support explicitly enabled (with 64 bits).
That technique prevents a program that expects 32 bit file offsets to link to a library that uses 64 bits. I do not want to see the bugs that arise when people run their little test programs and forget the proper LARGEFILE_BITS setting for the compiler.
So, the mpg123 header is architecture-dependent (actually, build-time configuration-dependent) and so multilib installations should treat it accordingly. One way is to make /usr/include/mpg123.h a stub that checks the current arch / largefile setup and includes the proper specific header.
I do not see a bug at either the wine or mpg123 side... You simply need to use a consistent build setup. Trying to use headers from the 32 bit system and linking to 64 bit libraries is not consistent.