建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
直达楼层
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

采纳成功

您已采纳当前回复为最佳回复

Amber@银河护卫队

发帖: 23粉丝: 7

级别 : 版主,版块专家

发消息 + 关注

发表于2021年06月15日 18:00:46 966 2
直达本楼层的链接
楼主
显示全部楼层
鲲鹏920服务器上wine迁移指导

鲲鹏920服务器上wine迁移指导

1.环境

a)       鲲鹏服务器(鲲鹏920服务器)

b)       此次验证可行的oscentos7.6/centos7.7/centos7.8/NeoKylin7.1

c)        wine版本:5.0.1

d)       wine下载地址:https://github.com/wine-mirror/wine/archive/wine-5.0.1.tar.gz

e)       编译器版本要求:clang5以上

f)        cmake版本:cmake3.4以上

2.编译准备

1、修改操作系统的pagesize4K

如果系统内核页大小PAGESIZE64k的话,运行会报段错误,需要改为4k

修改pagesize需要重新编译操作系统内核,操作步骤可以参考鲲鹏小智:“修改pagesize”,http://ic-openlabs.huawei.com/chat/#/

2clang安装

a)       先查看yum源的clang版本是否5.0以上

yum list | grep clang

如果版本在5.0以上,则可以直接使用yum进行安装(此次测试过的osneokylin7.1携带的clang版本是7.0

yum install clang -y

如果没有5.0以上版本,则用以下步骤进行分步安装。

b)       下载llvm源码,这里选择5.0.2版本,如果系统os比较新的话,此版本会报缺乏头文件的问题,可以选用7.0.0版本,但是此情况可能没有实际意义,因为较高版本的系统os自身携带的clang版本也比较高,可以直接使用yum进行安装。(以下步骤中注意目录,每一步并非严格顺序执行,请自行进行目录的切换)

wget http://llvm.org/releases/5.0.2/llvm-5.0.2.src.tar.xz

tar xf llvm-5.0.2.src.tar.xz

mv llvm-5.0.2.src llvm

c)         下载clang源码

cd llvm/tools

wget http://llvm.org/releases/5.0.2/cfe-5.0.2.src.tar.xz

tar xf cfe-5.0.2.src.tar.xz

mv cfe-5.0.2.src clang

d)         下载clang-tools-extra源码

cd llvm/tools/clang/tools

wget http://llvm.org/releases/5.0.2/clang-tools-extra-5.0.2.src.tar.xz

tar xf clang-tools-extra-5.0.2.src.tar.xz

mv clang-tools-extra-5.0.2.src  extra

e)        下载compiler-rt源码

cd llvm/projects

wget http://llvm.org/releases/5.0.2/compiler-rt-5.0.2.src.tar.xz

tar xf compiler-rt-5.0.2.src.tar.xz

mv compiler-rt-5.0.2.src compiler-rt

f)         编译安装

cd llvm

mkdir build && cd build

export CC=/usr/bin/gcc (按照实际所在路径)

export CXX=/usr/bin/g++ (按照实际所在路径)

cmake -G "Unix Makefiles" --enable-targets=aarch64 -DCMAKE_BUILD_TYPE=Release ../

cmake 这一步也可以指定安装路径,添加-DCMAKE_INSTALL_PREFIX=$installPath,最终将安装到$installPath,否则默认安装到/usr/local

make -j $(nproc)

make install

g)      clang验证

编写简单的hello worldC程序,命名为test.c(自定义),用clang进行编译

clang test.c

如果可以正常编译生成a.out可执行程序,且可正常执行,则表示clang可用

3wine支持X界面和freetype

a)       configure配置参数变为如下:

./configure --prefix=$installDir CC=clang CXX=clang++

b)       报错:X development files not found

解决:安装X11

yum install libX11-devel

                  继续执行configure语句

c)       报错:FreeType development files not found. Fonts will not be built.

解决:安装freetype

yum install freetype-devel

                  再执行configure语句

4cmake安装

clang编译需要3.4以上的cmake版本,这里安装cmake3.16.8版本。

a)       下载cmake源码:

wget https://gitlab.kitware.com/cmake/cmake/-/archive/v3.16.8/cmake-v3.16.8.tar.gz

tar -zxvf cmake-v3.16.8.tar.gz

b)        编译cmake

./bootstrap
make
make install

 

3. 编译与安装

a)        解压wine-5.0.1.tar.gz并进到加压后目录

b)        执行configure配置编译参数,--prefix指定安装位置,这里用$installDir指代,如果不需要X界面和一些字体的转换,可以分别添加--without-x --without-freetype选项,如果要支持这两项,需要安装其他额外的东西,所以先选择不支持这两项

./configure --prefix=$installDir --without-x --without-freetype

报错:

whether /usr/bin/gcc supports __builtin_ms_va_list... no

configure: error: You need clang >= 5.0 to build wine for arm64

                  原因:ARM上的gcc不支持__builtin_ms_va_list,需要用clang5.0以上来编译

                  解决:安装clang5.0以上版本,指定用clang编译器进行编译,clang安装方法在下文描述。configure配置编译参数变为:

./configure --prefix=$installDir --without-x --without-freetype CC=clang CXX=clang++

c)       编译,nproc表示单用户支持的最大并发量

make -j $(nproc)

d)        安装,此步骤会将wine安装到配置参数步骤时指定的安装目录$installDir

make install

6Wine运行


4.  FAQ

1、若CentOS7.6或者中标麒麟V7U6的低内核版本clang编译程序时 报错 /usr/bin/ld:找不到crtbegin.o:没有那个文件或目录,可以采用以下方法解决报错


[root@localhost 4.8.2]# export COMPILER_PATH=/usr/lib/gcc/aarch64-neokylin-linux/4.8.2:$COMPILER_PATH

[root@localhost 4.8.2]# export LIBRARY_PATH=/usr/lib/gcc/aarch64-neokylin-linux/4.8.2:$LIBRARY_PATH

根据你的操作系统安装的gcc版本对应的目录,来设置上面的环境变量量,最好的办法就是在usr目录下find 一下crtbegin.o这个文件的目录。

 

2如果系统内核页大小PAGESIZE64k的话,运行会报段错误,需要改为4k

修改pagesize需要重新编译操作系统内核,操作步骤可以参考鲲鹏小智:“修改pagesize”,http://ic-openlabs.huawei.com/chat/#/

鲲鹏

举报
分享

分享文章到朋友圈

分享文章到微博

采纳成功

您已采纳当前回复为最佳回复

加油O幸福

发帖: 258粉丝: 18

发消息 + 关注

发表于2021年06月19日 16:18:28
直达本楼层的链接
沙发
显示全部楼层

感谢分享

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

Jack20

发帖: 278粉丝: 195

发消息 + 关注

发表于2021年07月12日 13:11:14
直达本楼层的链接
板凳
显示全部楼层

干货满满,谢谢分享

点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册

结贴

您对问题的回复是否满意?
满意度
非常满意 满意 一般 不满意
我要反馈
0/200