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

iOS代码编译时报错instruction requires: dotprod #15

Closed
applicationHe opened this issue Apr 25, 2024 · 8 comments
Closed

iOS代码编译时报错instruction requires: dotprod #15

applicationHe opened this issue Apr 25, 2024 · 8 comments

Comments

@applicationHe
Copy link

Macbook M2芯片
执行./compile-any.sh build all
报错如下:
:11:1: error: instruction requires: dotprod
udot v0.4s, v4.166, v16.16b
^
error: cannot compile inline asm <inline asm›:12:1: error: instruction requires: dotprod
udot v1.4s, v5.16b, v16.16b
^
error: cannot compile inline asm :13:1: error: instruction requires: dotprod
udot v2.4s, V6. 16b, V16.16b
^
error: cannot compile inline asm :14:1: error: instruction requires: dotprod
udot v3.4s, v7.16b,V16.16b

@debugly
Copy link
Owner

debugly commented Apr 30, 2024

我在M1上无法复现这个问题,参考下这个 issue 吧:official-stockfish/Stockfish#4408

@criswonder
Copy link

criswonder commented May 7, 2024

求助,我也有这个问题,错误日志如下。多谢帮忙看下要怎么解决或者是提供什么信息
=== [./do-compile/libyuv.sh] check env begin===
XC_ARCH:arm64
XC_BUILD_SOURCE:/Users/andy/source/personal/github-projects/ijkplayer_debugly/shell/apple/../build/src/ios/libyuv-arm64
XC_BUILD_NAME:libyuv-arm64
XC_DEPLOYMENT_TARGET:-miphoneos-version-min=11.0
XCRUN_SDK_PATH:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.2.sdk
XC_BUILD_PREFIX:/Users/andy/source/personal/github-projects/ijkplayer_debugly/shell/apple/../build/product/ios/libyuv-arm64
THREAD_COUNT:8
XC_OPTS:
===check env end===
[*] cross compile, on arm64 compile ios arm64.
CC: xcrun -sdk iphoneos clang
CXX: xcrun -sdk iphoneos clang++
CFLAGS: -arch arm64 -miphoneos-version-min=11.0 -fembed-bitcode -Os -fomit-frame-pointer -Iinclude/ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.2.sdk


[*] configurate libyuv


[*] compile libyuv

:14:1: error: instruction requires: dotprod
udot v4.4s, v0.16b, v6.16b
^
error: cannot compile inline asm
:15:1: error: instruction requires: dotprod
udot v5.4s, v1.16b, v6.16b
^
error: cannot compile inline asm
:10:1: error: instruction requires: dotprod
udot v4.4s, v0.16b, v0.16b
^
error: cannot compile inline asm
:11:1: error: instruction requires: dotprod
udot v5.4s, v1.16b, v1.16b
^
error: cannot compile inline asm
4 errors generated.
make: *** [source/compare_neon64.o] Error 1
make: *** Waiting for unfinished jobs....

➜ ios git:(latest) ✗ sysctl -a | grep machdep.cpu
machdep.cpu.cores_per_package: 8
machdep.cpu.core_count: 8
machdep.cpu.logical_per_package: 8
machdep.cpu.thread_count: 8
machdep.cpu.brand_string: Apple M2

@debugly
Copy link
Owner

debugly commented May 11, 2024

我这里使用Xcode15.3 编译 libyuv 也出错了,不过和你那不一样;修改编译脚本之后,我这可以编译出libyuv了,你拉取最新代码先clean, 然后重新编译下试试。

@zdw19840929
Copy link

@debugly 大佬看下编译libyuv的时候我也报错了,拉的是最新的脚本,XCode15.3
截屏2024-05-13 23 37 26

@debugly
Copy link
Owner

debugly commented May 14, 2024

这个问题,我猜测是新版本Xcode或者Clang的bug,目前还没有完全定位问题,我给大家提供个方案,直接下载我预编译好的库,不要自己编译,ijk用到的三方库都可以在这里找到预编译版本:

https://github.com/debugly/MRFFToolChainBuildShell/tags

1、如果没有修改源码,不要编译这些库,浪费时间!
直接安装到本地使用就行:

cd shell 
#安装iOS和macOS平台所有的依赖库
./install-pre-any.sh all all
#安装iOS平台所有的依赖库
./install-pre-any.sh ios all
#安装macOS平台所有的依赖库
./install-pre-any.sh macos all

根据开发的平台安装就行。我写的脚本都很灵活,参数多种多样,这里不介绍了,
感兴趣的可以到 https://github.com/debugly/MRFFToolChainBuildShell/ 这里看下。

2、如果不修改ijk的源码,直接下载预编译好的 framework 放进工程就行:

https://github.com/debugly/ijkplayer/releases

@zdw19840929
Copy link

感谢大佬的回复,用上面的方法已经可以顺利编译了 @debugly

@debugly debugly closed this as completed May 22, 2024
@huaibaobao2017
Copy link

同样的报错。大佬能编译一个支持samba的版本吗?

@debugly
Copy link
Owner

debugly commented Jun 10, 2024

实际上当前没有使用libyuv,可以不用编译它。
正在测试即将发布的版本,没有时间帮你编译samba呢。

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

No branches or pull requests

5 participants