microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS
MIT License
22.75k stars 6.29k forks source link

Failed to build mpg123 after last update. #2545

Closed lazyhamster closed 6 years ago

lazyhamster commented 6 years ago

I can not build latest version of mpg123. It is not really a vcpkg-specific problem, trying to build in stand-alone VS yields same results. But maybe somebody have same issue or could successfully build the library.

Library version in port is 1.25.8. MSVC 2015, Win7 x64. Problem is with asm files. They all return similar errors during build:

dct36_3dnow.S Win32\Debug_x86_Dll\dct36_3dnow.asm:690: error: instruction not recognized: PREPARE_GOT' Win32\Debug_x86_Dll\dct36_3dnow.asm:691: error: instruction not recognized:GET_GOT' Win32\Debug_x86_Dll\dct36_3dnow.asm:788: error: instruction not recognized: `RESTORE_GOT'

Does anybody have success with mpg123 latest port version?

crackedmind commented 6 years ago

Seems like problem affected to x86-windows triplet, x64-windows builds successful

lazyhamster commented 6 years ago

Yes, you are correct. Checked x64 version now and it builds fine. x86 and x64 use different asm files.

crackedmind commented 6 years ago

My mistake, didn't test x86 build before PR.

I guess i found the problem and patched it. After tests i will create new PR.

crackedmind commented 6 years ago

@lazyhamster Can you test this branch ? https://github.com/procxx/vcpkg/tree/fix_x86_mpg123

lazyhamster commented 6 years ago

This is quite large patch. Would be hard to maintain in the future. I've posted ticked to mpg123 tracker. It would be better to get fix in upstream to avoid any patches at all. It is their bug after all, not a vcpkg issue. Let's wait a bit and if mpg123 devs will not react then we can go with patch solution.

crackedmind commented 6 years ago

I created new patch, smaller than previous :)

alexkaratarakis commented 6 years ago

Relevant link: https://sourceforge.net/p/mpg123/bugs/259/