debian 11 arm64 aarch64 源码变异winehq arm64 笔记

news2024/11/18 13:54:00

安装华为毕昇编译器

sudo apt install libc++1-13
 

编译tools

cd tools

su root

export PATH=/opt/bisheng-compiler-1.3.3-aarch64-linux/bin:$PATH

root@debian:/home/yeqiang/下载/src/wine/tools# ../configure CC=/opt/bisheng-compiler-1.3.3-aarch64-linux/bin/clang CXX=/opt/bisheng-compiler-1.3.3-aarch64-linux/bin/clang++ --host=aarch64-unknown-linux --without-x
 

部分configure 日志

configure: Wayland development files not found, the Wayland driver won't be supported.
configure: OpenCL development files not found, OpenCL won't be supported.
configure: pcap development files not found, wpcap won't be supported.
configure: libpcsclite not found, smart cards won't be supported.
configure: libdbus development files not found, no dynamic device support.
configure: libsane development files not found, scanners won't be supported.
configure: libusb-1.0 development files not found (or too old), USB devices won't be supported.
configure: libv4l2 development files not found.
configure: libgphoto2 development files not found, digital cameras won't be supported.
configure: libgphoto2_port development files not found, digital cameras won't be auto-detected.
configure: libpulse development files not found or too old, Pulse won't be supported.
configure: gstreamer-1.0 base plugins development files not found, GStreamer won't be supported.
configure: OSS sound system found but too old (OSSv4 needed), OSS won't be supported.
configure: libudev development files not found, plug and play won't be supported.
configure: libunwind development files not found, stack unwinding won't work.
configure: libSDL2 development files not found, SDL2 won't be supported.
configure: libcapi20 development files not found, ISDN won't be supported.
configure: libcups development files not found, CUPS won't be supported.
configure: fontconfig development files not found, fontconfig won't be supported.
configure: libkrb5 development files not found (or too old), Kerberos won't be supported.
configure: libnetapi not found, Samba NetAPI won't be supported.
configure: libvulkan and libMoltenVK development files not found, Vulkan won't be supported.

configure: WARNING: gettext tools not found (or too old), translations won't be built.

configure: WARNING: libgnutls development files not found, no schannel support.

configure: WARNING: No sound system was found. Windows applications will be silent.

configure: Finished.  Do 'make' to compile Wine.
 

安装依赖:

sudo apt install -y libwayland-dev  libpcap-dev libpcsclite-dev libdbus-1-dev libsane-dev libusb-1.0-0-dev libv4l-dev libgphoto2-dev  libpulse-dev libgstreamer-plugins-base1.0-dev oss-compat libudev-dev libunwind-dev libsdl2-dev libcapi20-dev libcups2-dev libfontconfig1-dev libkrb5-dev  libvulkan-dev 
sudo apt install mesa-opencl-icd

sudo apt install -y libgphoto2-dev

sudo apt install -y samba-dev

sudo apt install -y libvulkan-dev

sudo apt install -y gettext autopoint

编译tools

root@debian:/home/yeqiang/下载/src/wine/tools# ../configure CC=/opt/bisheng-compiler-1.3.3-aarch64-linux/bin/clang CXX=/opt/bisheng-compiler-1.3.3-aarch64-linux/bin/clang++ --host=aarch64-unknown-linux --without-x --without-freetype

# make  depend -j8
# make tools -j8

make -j8

编译报错

<inline asm>:11:2: error: unknown directive

资料

root@debian:/home/yeqiang/下载/src/wine/tools# clang -D__STDC__ -c -o dlls/ntdll/aarch64-windows/relay.o ../dlls/ntdll/relay.c -Idlls/ntdll -I../dlls/ntdll -Iinclude -I../include 

-I../include/msvcrt -D_MSVCR_VER=0 -D__WINESRC__ -D_NTSYSTEM_ -D_ACRTIMP= -DWINBASEAPI= 

-D__WINE_PE_BUILD -Wall --target=aarch64-windows-msvc -fuse-ld=lld -fno-strict-aliasing 

-Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Winit-self -Wno-pragma-pack 

-Wno-microsoft-enum-forward-reference -Wstrict-prototypes -Wtype-limits -Wvla -Wwrite-strings 

-Wpointer-arith -Wabsolute-value -Wenum-conversion -g -O2
:11:2: error: unknown directive
.seh_save_fplr_x 16
^
:13:2: error: unknown directive
.seh_set_fp

正如之前所述,Clang 对于 Microsoft 的 Structured Exception Handling(SEH)语法支持有限,尤其对于 .seh_save_fplr_x 和 .seh_set_fp 这样的 Microsoft-specific inline assembly 指令并不支持。

为了成功编译 Wine 的源代码,特别是涉及 Windows 体系结构特有的异常处理的部分,你可能需要使用支持 SEH 的编译器,如 MinGW-w64 或者微软自家的 Visual C++ 编译器(对于非 Windows 平台,可能需要借助 Cross-Compiled 版本)。

对于 Wine 的交叉编译,官方推荐的做法通常是使用 Mingw-w64 工具链。请参考 Wine 的官方文档或社区讨论,了解如何正确设置 Mingw-w64 工具链来进行 Wine 的交叉编译。

如果你确实需要使用 Clang 并想探索能否使其支持 Windows 异常处理模型,你可能需要查找是否存在社区开发的补丁或扩展,或者考虑向 Clang 社区提出 feature request 或者参与开发。然而,目前 Clang 对 Windows SEH 的支持并不完善,因此这种方式可能面临较多挑战。

回到gcc

root@debian:/home/yeqiang/下载/src/wine/tools#  ../configure CC=/usr/bin/gcc CXX=/usr/bin/g++ --host=aarch64-linux-gnu --without-x --without-freetype

creating Makefile rules... done
configure: creating ./config.status
config.status: creating include/config.h
config.status: linking ../tools/winewrapper to wine
config.status: executing include/stamp-h commands
config.status: executing tools/makedep commands
config.status: executing Makefile commands

configure: Wayland development files not found, the Wayland driver won't be supported.
configure: OpenCL development files not found, OpenCL won't be supported.
configure: OSS sound system found but too old (OSSv4 needed), OSS won't be supported.

configure: WARNING: libgnutls development files not found, no schannel support.

configure: Finished.  Do 'make' to compile Wine.
 

AI

我在debian 11 aarch64架构系统上,CPU是arm64架构。我期望使用wine启动一个x86 或者x86_64的windows 应用程序。是否可行?

在 Debian 11 aarch64 架构系统上直接运行 x86 或 x86_64 架构的 Windows 应用程序是不可行的,因为 CPU 架构之间存在不兼容性。aarch64(ARM64)架构的处理器不支持直接执行 x86 或 x86_64 架构的机器指令。

Wine 通常用于在 Linux 上运行原生为 x86 或 x86_64 架构编译的 Windows 应用程序,但它依赖于底层 CPU 架构的兼容性。对于 aarch64 架构,Wine 必须通过某种形式的二进制转换或模拟技术来支持运行 x86/x86_64 应用程序,而这种支持的程度取决于 Wine 的开发进度和实现细节。

目前,Wine 对于 aarch64 架构的支持尚在发展中,而且支持度和性能表现可能不及 x86 和 x86_64 架构。在 WineHQ 官方网站上可以查询到最新的支持状态和兼容性报告。

尽管如此,有一些项目(如 Box64、ExaGear Desktop)致力于提供 x86 仿真环境,允许在 ARM 架构上运行 x86 应用程序,但这通常需要更多的配置和优化,并且性能和兼容性都有局限性。同时,这些项目与 Wine 本身是相互独立的,需要单独安装和配置。

放弃wine研究,转向Box64

ExaGear Desktop

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1386175.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

职场硬货:刚入职面对陌生的被测系统, 没有需求文档如何快速熟悉?

各位小伙伴大家好, 今天为大家分析一下在企业中, 如果快速的上手被测系统/软件, 了解产品目标业务需求, 做到尽快尽职完成测试工作。 找到所有可能的相关文档 尽可能找到项目开发计划书, 项目签订的合同, 一般合同中会包含项目研发背景, 与产品及功能点概述, 这样可以先了解项…

一文速学-selenium高阶性能优化技巧

一文速学-selenium高阶性能优化技巧 前言 最近写的挺多自动化办公的selenium程序没有做优化&#xff0c;执行效率不高&#xff0c;启动浏览器又慢但是又可能出现其他不可控的因素&#xff0c;总结来说虽然放心运行但是又没那么好用&#xff0c;项目是写完了最后还是需要优化结…

Hive分区表实战 - 多分区字段

文章目录 一、实战概述二、实战步骤&#xff08;一&#xff09;创建学校数据库&#xff08;二&#xff09;创建省市分区的大学表&#xff08;三&#xff09;在本地创建数据文件1、创建四川成都学校数据文件2、创建四川泸州学校数据文件3、创建江苏南京学校数据文件4、创建江苏苏…

在线项目实习|2024寒假项目实战火热报名中!

一、在线实习项目分类 二、在线实习项目流程 三、在线实习项目优惠及项目特色 1、师傅带练教学模式&#xff0c;手把手教你掌握 采用“师带徒”的教学模式&#xff0c;课程以“项目前置知识学习 师傅带练 项目实战”贯穿&#xff0c;强调动手实操&#xff0c;内容以代码落地为…

反向代理的本质是什么?

反向代理是一种网络架构模式&#xff0c;通常用于提供静态内容、处理安全、负载均衡和缓存等任务。在这种架构中&#xff0c;客户端发送的请求首先到达反向代理服务器&#xff0c;然后由反向代理服务器将请求转发给后端的实际服务器。反向代理服务器可以处理和修改请求和响应&a…

命名空间 “Eigen“ 没有成员 “SelfAdjointEigenSolver“

代码中用到SelfAdjointEigenSolver 结果报错&#xff1a;报错实在windows10条件下发生的。 查找资料&#xff0c;最后还是要定位到官方文档。 计算自伴随矩阵的特征值和特征向量。 这是在特征值模块中定义的。 添加如下引用即可解决&#xff0c;请点赞关注。 #include <…

2023 年公链发展报告

作者&#xff1a;stellafootprint.network 2023 年&#xff0c;公链领域展现出强大的韧性和持续的创新力。这一年&#xff0c;比特币的强势回归、以太坊的稳步增长以及 Solana 的惊人崛起&#xff0c;共同绘制出一幅市场复苏的生动画面。在这一背景下&#xff0c;公链加密货币…

华媒舍:高效率的新闻资讯新闻媒体宣发套餐内容推广计划方案

怎样让自己的新闻资讯可以被大众孰知&#xff0c;变成了每一个新闻媒体宣发者一同存在的困难。下面我们就给大家介绍一套高效率的新闻资讯新闻媒体宣发套餐内容推广计划方案&#xff0c;致力于帮助新闻媒体宣发者提升宣发高效率&#xff0c;提高新闻资讯的传播性。 1.新闻媒体宣…

2023年全国电子签章政策汇总,契约锁提供具有法律效力的电子签章

2023年&#xff0c;国务院及各地政府办公厅、市监局、住建委等机关部门&#xff0c;持续推动电子签章、电子合同等功能在“政府采购、工程项目审批、企业开办等”领域深化应用&#xff0c;加快实现电子签章互信互认&#xff0c;不断简化办事流程&#xff0c;让越来越多高频常办…

【mars3d】 graphic.bindPopup(inthtml).openPopup()无需单击小车,即可在地图上自动激活弹窗的效果。

实现效果&#xff1a;new mars3d.graphic.FixedRoute({无需单击小车&#xff0c;即可在地图上实现默认打开弹窗的激活效果。↓↓↓↓↓↓↓↓ 相关链接说明&#xff1a; 1.popup的示例完全开源&#xff0c;可参考&#xff1a;功能示例(Vue版) | Mars3D三维可视化平台 | 火星科…

QT 原生布局和QML的区别

一、QML 与 Qt Quick的区别 1.1 从概念上区分 为了更精确地对两者进行说明&#xff0c;先看助手对 QML 的描述&#xff1a; QML is a user interface specification and programming language. QML 是一种用户界面规范和标记语言&#xff0c;允许开发人员和设计师创建高性能、流…

央视推荐的护眼灯是哪款?教育部认可护眼灯品牌

许多家长一般都会给孩子买上许多学习用品&#xff0c;比如现在一些学习桌椅、读写笔灯等等&#xff0c;配有蛮多的学习用具&#xff0c;但对孩子学习时用的护眼台灯很忽略&#xff0c;没有给孩子选好真正合格好用的护眼台灯&#xff0c;就容易让孩子的视觉形成偏差&#xff0c;…

外汇天眼:分析K线背后的力量,别让自己只停留在画线的阶段!

不确定性是市场的本质&#xff0c;也是它魅力所在。 大部分学习技术分析的新手以及亏货老手所能理解的技术分析就是在已经走完的图表上画线&#xff0c;或者研究K线形态&#xff0c;组合形态&#xff0c;等等...... 然后根据画的线和形态来预测未来走势&#xff0c;并依据这个…

深入理解 go RWMutex

在上一篇文章《深入理解 go Mutex》中&#xff0c; 我们已经对 go Mutex 的实现原理有了一个大致的了解&#xff0c;也知道了 Mutex 可以实现并发读写的安全。 今天&#xff0c;我们再来看看另外一种锁&#xff0c;RWMutex&#xff0c;有时候&#xff0c;其实我们读数据的频率要…

深度探讨 Golang 中并发发送 HTTP 请求的最佳技术

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 在 Golang 领域&#xff0c;并发发送 HTTP 请求…

浊度水质分析仪的功能特性,及其在环境监测中的重要作用

在环境保护和水资源管理领域&#xff0c;对水质的精准监测是确保水体健康、保障公众用水安全的重要环节。其中&#xff0c;浊度作为衡量水体中悬浮物含量的关键参数&#xff0c;其精确测量对于环境评价和治理至关重要。浊度水质分析仪正是这样一款专门针对浊度进行实时在线监测…

【计算机组成-算术逻辑单元】

课程链接&#xff1a;北京大学陆俊林老师的计算机组成原理课 1. 算术运算和逻辑运算 算数运算 逻辑运算 算数逻辑运算的需求 算数运算&#xff1a;两个32-bit数的加减法&#xff0c;结果为一个32-bit数&#xff1b;检查加减法的结果是否溢出逻辑运算&#xff1a;两个32-bit数…

2024谷歌SEO自学基础入门

2024年可能会迎来大航海时代&#xff0c;国内各企业也加速了出海的步伐&#xff01;&#xff01; &#xff08;看总额&#xff0c;今年中国跨境电商&#xff0c;前三季度进出口1.7万亿元人民币&#xff0c;创造了14.4%的增长。 看体量&#xff0c;过去五年&#xff0c;中国跨…

【ESP32最全学习笔记(基础篇)——1.ESP32简介】

ESP32 新手&#xff1f;从这里开始&#xff01; 关于本教程&#xff1a; ESP32 基础篇 1.ESP32简介 ☑ 2.ESP32 Arduino 集成开发环境 3.ESP32 Arduino IDE 2.0 4.VS 代码…