当前位置: 首页 > news >正文

mac M1 pro 安装grpc 报错

pecl install grpc
# a few  moments later 。。。。# 执行 
php -i | grep grpc## 报错
PHP Warning:  PHP Startup: Unable to load dynamic library 'grpc.so'(tried: /opt/homebrew/lib/php/pecl/20190902/grpc.so (dlopen(/opt/homebrew/lib/php/pecl/20190902/grpc.so, 0x0009): tried:'/opt/homebrew/lib/php/pecl/20190902/grpc.so' (mach-o file, but is anincompatible architecture (have 'x86_64', need 'arm64e'))), /opt/homebrew/lib/php/pecl/20190902/grpc.so.so (dlopen(/opt/homebrew/lib/php/pecl/20190902/grpc.so.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20190902/grpc.so.so' (mach-o file,but is an incompatible architecture (have 'x86_64', need 'arm64e')))) in Unknown on line 0

have ‘x86_64’, need ‘arm64e’ 看来是cpu架构导致的

uname -a | awk -F " " '{print $(NF-1)}'
root:xnu-8020.121.3~4/RELEASE_ARM64_T6000
哦 确实是 arm64

继续尝试 ARCHFLAGS=“-arch arm64” 指定架构

arch -arm64e sudo pecl install grpc

好了!!!

ps:ARM64(也称为ARMv8-A)和x86-64(也称为x64或AMD64)是两种不同的计算机处理器架构,它们在物理设计、指令集和应用领域等方面存在一些关键区别。

  1. 指令集架构

    • ARM64:ARM64 架构是基于ARM指令集架构的,最初设计为移动设备和嵌入式系统,但现在也用于服务器和桌面计算机。
    • x86-64:x86-64 架构是基于x86指令集架构的64位扩展,最初是为桌面和服务器计算机设计的。
  2. 体系结构

    • ARM64:ARM64 架构是RISC(精简指令集计算机)架构,它采用了精简的指令集,执行指令速度较快,通常消耗更少的能量。
    • x86-64:x86-64 架构是CISC(复杂指令集计算机)架构,它使用了更多的指令,通常在执行相同数量的操作时消耗更多的能量。
  3. 生态系统

    • ARM64:ARM64 多年来主要用于移动设备、嵌入式系统和单板计算机,但也在服务器领域增长迅猛,尤其是在云计算中。
    • x86-64:x86-64 是桌面和服务器计算机的主导架构,具有庞大的生态系统和广泛的软件支持。
  4. 性能和功耗

    • ARM64:ARM64 架构通常倾向于在功耗方面表现得更出色,特别是在移动设备和嵌入式系统中。
    • x86-64:x86-64 架构在性能方面表现得较为出色,特别是在高性能计算和服务器领域。
  5. 兼容性

    • ARM64:ARM64 架构的应用程序通常需要专门编译或进行兼容性层(例如Rosetta 2)的支持,以在不同的处理器上运行。
    • x86-64:x86-64 应用程序在x86-64处理器上运行,而不需要额外的编译或兼容性支持。

总的来说,ARM64和x86-64是两种不同的处理器架构,它们各自在不同的应用领域有各自的优势和劣势。选择哪种架构取决于特定应用的需求和硬件环境。

http://www.lryc.cn/news/197555.html

相关文章:

  • 交银国际:拼多多财报预测:主站盈利提升有望带动业绩超预期
  • 【SA8295P 源码分析 (二)】50 - OpenWFD Server 启动流程 之 wfd_server_tpp 线程池源码分析
  • 9.strspn函数
  • 电脑蓝牙与ESP32蓝牙连接,让电脑发现ESP32
  • k8s 暴露pod
  • Apache Dubbo 首个 Node.js 3.0-alpha 版本正式发布
  • Node.js中Buffer API详解
  • 【Hello Algorithm】暴力递归到动态规划(三)
  • gitLab更新11.11.3->16.1.5
  • 12-k8s-HPA自动扩缩容
  • 从十月稻田,看大米为何能卖出200亿市值?
  • 功能集成,不占空间,同为科技TOWE嵌入式桌面PDU超级插座
  • 使用pdf.js预览pdf文件时如何兼容chrome66版本
  • 一篇文章讲明白double、float丢失精度的问题
  • Day 2 Qt
  • ArmSoM-W3之RK3588 MPP环境配置
  • 【C++ 拷贝构造函数详解】
  • [计算机提升] 用户和用户组
  • 开路、断路和短路区别
  • springBoot web开发自动配置和默认效果
  • 论文阅读:Efficient Point Cloud Segmentation with Geometry-Aware Sparse Networks
  • 1-k8s1.24-底座搭建-基于containerd
  • Java文件前后端上传下载工具类
  • 内燃机可变气门驱动研究进展
  • NEFU离散数学实验2-容斥原理
  • 解决Windows内存溢出/占满死机问题-PoolMon工具
  • 【ROS】ros-noetic和anaconda联合使用【教程】
  • 自动化RPA开发 --获取所有窗口信息和进程信息
  • 【Qt之布局】QVBoxLayout、QHBoxLayout、QGridLayout、QFormLayout介绍及使用
  • 【计算机毕业设计】python在线课程培训学习考试系统637r7-PyCharm项目