惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Full Disclosure
月光博客
月光博客
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Y
Y Combinator Blog
有赞技术团队
有赞技术团队
PCI Perspectives
PCI Perspectives
云风的 BLOG
云风的 BLOG
MyScale Blog
MyScale Blog
Latest news
Latest news
P
Palo Alto Networks Blog
Blog — PlanetScale
Blog — PlanetScale
Cyberwarzone
Cyberwarzone
P
Privacy International News Feed
Scott Helme
Scott Helme
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
F
Fortinet All Blogs
Engineering at Meta
Engineering at Meta
V
Vulnerabilities – Threatpost
C
CXSECURITY Database RSS Feed - CXSecurity.com
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Tor Project blog
S
Securelist
H
Hackread – Cybersecurity News, Data Breaches, AI and More
NISL@THU
NISL@THU
GbyAI
GbyAI
H
Hacker News: Front Page
博客园 - 三生石上(FineUI控件)
S
Secure Thoughts
U
Unit 42
T
The Blog of Author Tim Ferriss
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Cloudbric
Cloudbric
Microsoft Security Blog
Microsoft Security Blog
博客园 - Franky
L
LINUX DO - 最新话题
The Hacker News
The Hacker News
WordPress大学
WordPress大学
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
T
Threatpost
Cisco Talos Blog
Cisco Talos Blog
V
V2EX
L
LINUX DO - 热门话题
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Recorded Future
Recorded Future
K
Kaspersky official blog
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - today4king

DOTNET 运行AES-GCM程序 ON MACOS(错误ALGORITHM ‘AESGCM’ IS NOT SUPPORTED ON THIS PLATFORM) Mac上使用SQL Server作为开发用数据库 EntityFramework Core CLI Tools 几点坑 VisualStudio Code Remote 调试方法(错误Containers Docker version 17.12.0 or later required.) AWS Kubernetes/k8s kubeamd 初始化后kube-controller-manager pod CrashLoopBackOff 错误启动不了 阿里云 NAS OSS 云盘价格对比 GB/小时 kubernetes/k8s pod下多容器的设计模式(ambassador 大使代理模式,adapter 适配模式,sidecar 边车模式, init containers初始化容器) ❤️ 从125ms到11ms,记一次关键字检测过滤服务的优化 -python and Pythonnet 高效的的关键字查找和检测(哈希表和Trie前缀树和FastCheck)在实际使用中的性能 FastAPI 中的Async (并发和async/await) 阿里云vs华为云 的容器镜像服务swr使用体验 理工男对衣架的选择/衣柜收纳之衣架篇 Python中使用自定义类class作为海量数据结构时内存占用巨大的问题 关闭/开启 ubuntu 自动更新提示 blueImp/jQuery file upload 的正确用法(限制上传大小和文件类型) python3 crypto winrandom import error Flask-Babel 中文支持(zh-CN和zh-Hans-CN) Aapache status / apache2ctl status 总是403 为什么你还在用嵌入式的方式来使用mod_wsgi?
MACBOOK M1 PRO 下运行.NET CORE(MAC下如何与X86_64兼容)
today4king · 2021-12-08 · via 博客园 - today4king

解决“No usable version of libssl was found“

最近调试一个项目,其他都好好地,就是这个项目出现各种诡异的问题,也没有stack_trace,卡了好久,今天发现最后一行小字No usable version of libssl was found ,终于按图索骥解决了。

这是一个.net 5.0的项目,开始我挺担心它在ARM下不兼容的问题,但是可以顺利在Rider中成功build并运行,不得不说苹果的兼容生态和Rider的适配做的太好了,也正是因为这种错觉才让我大意了吧,所以如果您使用的是.net6那么可以忽略,6以下请耐心看完。项目运行后点击登录程序就退出了,期间没有任何debug信息,只有一行灰色小字:

第一次看到这行小字特地用brew 确认了下openssl是否已经安装,所以放过了它,这里要强调.net1到5都是不支持arm的,之所以能顺利build完全是苹果已经用Rosetta偷偷在背后运行了。

Rosetta

这是苹果用来兼容x86的转义器,有了它mac就可以跑x86程序了,惊讶的是几十M的小东西可以如此稳定高效。正因为有了它,普通用户完全不需要关心程序是x86还是arm的只接可以运行。当然作为开发需要知道背后的原理,苹果在x86和arch背后独立设置了一套生态,用于分别运行相应的程序,所以上面的问题就变成了缺少x86版本的libssl。

X86 HomeBrew

要装x86的libssl就要先装x86的HomeBrew,如果你跟我一样是从原来intel的mbp迁移过来的那它已经安装好了,如果不是就需要手动安装,下面是手动安装的步骤:

$ arch -x86_64 zsh

$ cd /usr/local && mkdir homebrew

$ curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

Alias快捷别名

ibrew='arch -x86_64 /usr/local/bin/brew'
izsh='arch -x86_64 zsh'
azsh='arch -arm64e zsh'

安装Openssl

ibrew install openssl

记得运行前先用izsh切换到x86环境下,它才会使用Rosetta安装到x86生态中去,同理可以使用azsh切换回来。

环境设置libssl引用

DYLD_LIBRARY_PATH=”/usr/local/opt/openssl@1.1/lib”

Tips

这里注意的是只要是x86苹果使用的路径跟以前一样都是在/usr/local/bin下,而arch的都是丢在/opt/homebrew/bin下。

前面环境变量最好是在项目文件中设置,这样不会全局影响到.net6的运行。

参考资料: