http://bugs.winehq.org/show_bug.cgi?id=20042
--- Comment #15 from Erich Hoover ehoover@mines.edu 2009-10-31 14:59:00 --- (In reply to comment #13)
... austin@midna:~/wine-git/tools/winebuild$ dlocate libmpg123.so libmpg123-dev: /usr/lib/libmpg123.so ia32-libs: /usr/lib32/libmpg123.so.0.14.4 ia32-libs: /usr/lib32/libmpg123.so.0 ia32-libs: /usr/lib32/libmpg123.so libmpg123-0: /usr/lib/libmpg123.so.0.14.4 libmpg123-0: /usr/lib/libmpg123.so.0
austin@midna:~/wine-git/tools/winebuild$ dpkg -l | grep ia32 ii ia32-libs 2.7ubuntu17 ia32 shared libraries for use on amd64 and i
Ok, I think there's a bit of a miscommunication here - my response was intended to touch on the comment "even after I've added a 32 bit version of libmpg123-0 to the ia32-libs package." I was trying to say that my ia32-libs already had a 32-bit libmpg123.
My other comments indicated that what I believe is the problem is that libmpg123-dev is distributing an incorrect header file for the purposes of linking to the 32-bit version of the library. I would say that the header file should be testing the architecture to determine the symbol names, look near the comment: /* Redefine names of functions dealing with file and file offsets ...everything handling off_t, for example, which can be 32 or 64 bits. */
Since you can see that the symbol names are different between the 32-bit and 64-bit versions: ehoover@ubuntu:/usr/lib64$ nm -D libmpg123.so | grep feedseek 0000000000012ef0 T mpg123_feedseek ehoover@ubuntu:/usr/lib32$ nm -D libmpg123.so | grep feedseek 000141f0 T mpg123_feedseek_64