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

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
P
Palo Alto Networks Blog
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
NISL@THU
NISL@THU
L
Lohrmann on Cybersecurity
有赞技术团队
有赞技术团队
The GitHub Blog
The GitHub Blog
C
Cisco Blogs
B
Blog
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
Simon Willison's Weblog
Simon Willison's Weblog
T
Tenable Blog
Know Your Adversary
Know Your Adversary
Spread Privacy
Spread Privacy
WordPress大学
WordPress大学
月光博客
月光博客
Latest news
Latest news
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threat Research - Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
I
InfoQ
D
Darknet – Hacking Tools, Hacker News & Cyber Security
W
WeLiveSecurity
Hacker News - Newest:
Hacker News - Newest: "LLM"
酷 壳 – CoolShell
酷 壳 – CoolShell
U
Unit 42
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
Google DeepMind News
Google DeepMind News
Apple Machine Learning Research
Apple Machine Learning Research
Attack and Defense Labs
Attack and Defense Labs
罗磊的独立博客
T
The Exploit Database - CXSecurity.com
I
Intezer
GbyAI
GbyAI
Jina AI
Jina AI
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Google Online Security Blog
Google Online Security Blog
Engineering at Meta
Engineering at Meta
D
Docker
Recent Commits to openclaw:main
Recent Commits to openclaw:main
小众软件
小众软件
云风的 BLOG
云风的 BLOG
爱范儿
爱范儿
Project Zero
Project Zero

博客园 - 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的运行。

参考资料: