ValveSoftware / wine

Wine with a bit of extra spice
Other
1.24k stars 237 forks source link

mpg123 issue #138

Open liberodark opened 2 years ago

liberodark commented 2 years ago

Hi,

I think that my last new issue in wine-proton 7.0 when try to build :

dlls/l3codeca.acm/mpegl3.o: in function `MPEG3_DriverProc':
mpegl3.c:(.text+0xacb): undefined reference to `mpg123_feedseek_64'

I'm using mpg123 1.25.15 have upgrade to 1.29.3 but same issue. Also have try with --without-mpg123 but same. Thank you again for your help.

Best Regards

aeikum commented 2 years ago

Do you have any custom patches to wine? Our branch doesn't contain any references to mpg123_feedseek_64.

liberodark commented 2 years ago

No patch for this. Only futex patch i have try without this patch but is same issue. It is possible that it is related to the fact that I build in x32 and in x64 for the wow64. I know that wine 7.x had important changes on the wow64.

Only have found very old issues : https://wine-devel.winehq.narkive.com/ZEKcC7jC/build-failure-on-current-git https://ubuntuforums.org/archive/index.php/t-2090323.html

ivyl commented 2 years ago

How are you trying to build it?

This seems to be working for me on an up-to-date Arch Linux install:

autoreconf -fiv
tools/make_requests
dlls/winevulkan/make_vulkan
./configure --enable-win64 --disable-tests
make -j$(nproc)

Do you have mingw installed?

liberodark commented 2 years ago

Yes i'm make same i can build the old build but not 7.0.

Currently we are looking into what is causing this issue :

libs/mpg123/src/libmpg123/mpg123.h:     
By default, it appends underscore _FILE_OFFSET_BITS (so, mpg123_seek_64 for mpg123_seek), 
if _FILE_OFFSET_BITS is defined. You can force a different suffix via MPG123_LARGESUFFIX 
(that must include the underscore), or you can just disable the whole mess by defining MPG123_NO_LARGENAME.

And that the all changes in 6.3-8 to 7.0-1 in dlls/l3codeca.acm :

https://pastecode.io/s/3sm1629j

https://github.com/ValveSoftware/wine/compare/proton-wine-7.0-1...proton-wine-6.3-8

liberodark commented 2 years ago

We have found a workaround :

You use those args to build : -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O3 -g0 -D_FORTIFY_SOURCE=1 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0

To fix the mpg123 issue we added : -DMPG123_NO_LARGENAME=1

Best Regards