Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ffmpeg] x86 build relying on nasm instead of yasm #19501

Closed
Baklap4 opened this issue Aug 11, 2021 · 3 comments
Closed

[ffmpeg] x86 build relying on nasm instead of yasm #19501

Baklap4 opened this issue Aug 11, 2021 · 3 comments
Assignees
Labels
category:question This issue is a question

Comments

@Baklap4
Copy link

Baklap4 commented Aug 11, 2021

Is your feature request related to a problem? Please describe.
It always bugs me when 2 tools are used for the same job. More tools come with more maintenance and should be avoided. Back in January 06c622e this was introduced to the ffmpeg port (#14547) as there was an issue with the linking phase:

LD libavcodec/avcodec-58.dll
Creating library libavcodec/avcodec.lib and object libavcodec/avcodec.exp
LINK : fatal error LNK1000: unknown error at 00007FF6F720AC26; consult documentation for technical support options

In which @mcmtroffaes proposed to keep on using yasm as for now on x86 builds

I've done a fresh rebase and spent some time trying to diagnose this problem. For me, on the 32 bit build, the linker just hangs for a really long time (like 20 minutes) at the avcodec linking stage, and then causes the powershell terminal to crash, but I suppose it's the same error. Not sure where to go from here, except to fall back on yasm for x86... 😕 I will add a commit to this effect.

A related issue to this is that for about 6 days the certificate of yasm was expired and thus failing builds see #19121 and #7379

Proposed solution
Either use yasm or nasm
When nasm is used figure out why the linking phase takes so long and fix that problem.

Describe alternatives you've considered
None

Additional context
I've tested the build with nasm yesterday (2021-08-10) with the then latest master which still ended up taking quite a while 'hanging' at the linking phase as described in the ffmpeg issue

@mcmtroffaes did you ever find out why it hangs on nasm in the linker phase? I was wondering if this commit was still needed in latest master. But It seems i'm running in the same problem that it just 'hangs' and doesn't do anything with nasm. I came here because of #19121 as yasm cannot be retrieved due to certificate error.

in which @mcmtroffaes replied saying he never really figured it out why it happens.

Documentation on how to build on windows: https://github.com/FFmpeg/FFmpeg/blob/master/doc/platform.texi#L98-L264

@JackBoosY JackBoosY added the category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist label Aug 12, 2021
@BillyONeal
Copy link
Member

I think we would prefer nasm because yasm has known memory corruption bugs and have not done an official release in a long time; it's part of why vcpkg builds yasm rather than using an existing copy.

@JackBoosY JackBoosY added category:question This issue is a question and removed category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist labels Feb 10, 2022
@JackBoosY
Copy link
Contributor

We hope your question was answered to your satisfaction; if it wasn't, you can reopen with more info.

@Baklap4
Copy link
Author

Baklap4 commented Mar 4, 2022

Any link to an issue why nasm hangs upon building so further discussion can be done there?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:question This issue is a question
Projects
None yet
Development

No branches or pull requests

3 participants