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

fix ffmpeg with MD runtimes #5343

Open
wants to merge 4 commits into
base: dev
Choose a base branch
from

Conversation

SnowinterCat
Copy link
Contributor

fix ffmpeg using msvc compiler with MD runtime.
Runtime mismatch when compiling ffmpeg with x265 under MD runtime.

@SnowinterCat
Copy link
Contributor Author

@star-hengxing mingw应该是单独成了一个plat了吧,if package:is_plat("windows") then 里面应该只可能是 msvc 和 clang-cl?

@star-hengxing
Copy link
Contributor

@star-hengxing mingw应该是单独成了一个plat了吧,if package:is_plat("windows") then 里面应该只可能是 msvc 和 clang-cl?

yes

@SnowinterCat
Copy link
Contributor Author

@star-hengxing #5216 也出现了arm架构全挂的现象,有办法看到 cache里面的 source/ffbuild/config.log 吗?我这边没有arm架构的Windows机器不好找哪出毛病了

@Issues-translate-bot
Copy link

Bot detected the issue body's language is not English, translate it automatically.


@star-hengxing #5216 There is also a phenomenon that the arm architecture is completely down. Is there a way to see the source/ffbuild/config.log in the cache? I don’t have an arm-based Windows machine here, so it’s hard to find out what’s wrong.

@star-hengxing
Copy link
Contributor

@star-hengxing #5216 也出现了arm架构全挂的现象,有办法看到 cache里面的 source/ffbuild/config.log 吗?我这边没有arm架构的Windows机器不好找哪出毛病了

ci 上只能用 io.readfile 然后 print 出来

@Issues-translate-bot
Copy link

Bot detected the issue body's language is not English, translate it automatically.


@star-hengxing #5216 There is also a phenomenon that the arm architecture is completely down. Is there a way to see the source/ffbuild/config.log in the cache? I don’t have an arm-based Windows machine here, so it’s hard to find out what’s wrong.

On ci, you can only use io.readfile and then print it out

@waruqi
Copy link
Member

waruqi commented Sep 27, 2024

用 io.cat 也能直接看

@Issues-translate-bot
Copy link

Bot detected the issue body's language is not English, translate it automatically.


You can also view it directly using io.cat

-- catch 代码块
catch
{
-- 发生异常后,被执行
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

中文注释去掉

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

在做测试,看看哪挂了,这个是直接从文档里面copy出来的。之后修好了删了try-catch就没了

@SnowinterCat
Copy link
Contributor Author

@waruqi 现在Windows的arm64会挂掉,看起来像是xmake那边的问题,不像是xmake-repo的配置问题。
它在下载完,准备安装之前,先检查了编译器,链接器,asm之后,突然就 finding ffmpeg from xmake 了。但正常情况应该是进入configure去安装ffmpeg

@waruqi
Copy link
Member

waruqi commented Sep 29, 2024

应该是你加了 try-catch ,还没走到安装,提前捕获到一些 errors, 提前退了,但是错误被你的 try-catch 压制了,安装成功,走到了 on_test。。理论上安装失败,要 raise 报错的,不能在 on_install 中被压制

@SnowinterCat
Copy link
Contributor Author

有可能,我只try-catch安装过程试试

@Issues-translate-bot
Copy link

Bot detected the issue body's language is not English, translate it automatically.


It should be that you added try-catch and before the installation, some errors were caught in advance and exited early. However, the errors were suppressed by your try-catch. The installation was successful and it went to on_test. . Theoretically, if the installation fails, an error must be raised and cannot be suppressed in on_install.

@Issues-translate-bot
Copy link

Bot detected the issue body's language is not English, translate it automatically.


It's possible, I'll just try-catch the installation process

@SnowinterCat
Copy link
Contributor Author

@waruqi 三个安卓报错的问题找到了,是arm64-v8a,r27环境不认这两个编译参数:-mfpu=neon -mfloat-abi=hard

@SnowinterCat
Copy link
Contributor Author

WindowsArm下的问题是这一行:

local envs = autoconf.buildenvs(package, {packagedeps = "libiconv"})

获取到的环境变量缺失了。
感觉是autoconf工具的环境变量在arm64下存在一些问题

@Issues-translate-bot
Copy link

Bot detected the issue body's language is not English, translate it automatically.


@waruqi Three Android error problems were found. They are arm64-v8a. The r27 environment does not recognize these two compilation parameters: -mfpu=neon -mfloat-abi=hard

@Issues-translate-bot
Copy link

Bot detected the issue body's language is not English, translate it automatically.


The problem under WindowsArm is this line:

local envs = autoconf.buildenvs(package, {packagedeps = "libiconv"})

The obtained environment variables are missing.
It seems that there are some problems with the environment variables of the autoconf tool under arm64.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants