参考文档:
在ubuntu容器中搭建交叉编译环境
我是在编译VLC时遇到的这个问题
环境:
Ubuntu23.04
当我执行configure --host=x86_64-w64-mingw32 --build=x86_64-pc-linux-gnu
后报错
configure: error: You need 32-bits luac when using using lua from contrib.
如图:
直接执行安装命令则会提示找不到
sudo apt-get install lua5.2:i386
解决方法
添加外部architecture
dpkg --add-architecture i386
dpkg --add-architecture i386
命令是用来在Ubuntu系统中添加i386架构的外部architecture。添加外部architecture可以让系统支持更多的架构,以便安装和运行特定架构的软件包。
添加i386的外部库
通过编辑/etc/apt/sources.list
进行添加
vim /etc/apt/sources.list
在打开的文件中,找到以deb
开头的行,将其复制并在deb
后添加"[arch=i386]",如下所示:
# 修改前
deb http://cn.archive.ubuntu.com/ubuntu lunar-updates main restricted
# 修改后
deb http://cn.archive.ubuntu.com/ubuntu lunar-updates main restricted
deb [arch=i386] http://cn.archive.ubuntu.com/ubuntu lunar-updates main restricted
现在给出Ubuntu23.04的/etc/apt/sources.list
需要增加的内容
deb [arch=i386] http://cn.archive.ubuntu.com/ubuntu lunar main restricted
deb [arch=i386] http://cn.archive.ubuntu.com/ubuntu lunar-updates main restricted
deb [arch=i386] http://cn.archive.ubuntu.com/ubuntu lunar universe
deb [arch=i386] http://cn.archive.ubuntu.com/ubuntu lunar-updates universe
deb [arch=i386] http://cn.archive.ubuntu.com/ubuntu lunar multiverse
deb [arch=i386] http://cn.archive.ubuntu.com/ubuntu lunar-updates multiverse
deb [arch=i386] http://cn.archive.ubuntu.com/ubuntu lunar-backports main restricted universe multiverse
deb [arch=i386] http://cn.archive.ubuntu.com/ubuntu lunar-security main restricted
deb [arch=i386] http://cn.archive.ubuntu.com/ubuntu lunar-security universe
deb [arch=i386] http://cn.archive.ubuntu.com/ubuntu lunar-security multiverse
不同版本的内容不同,不要无脑复制!!!
更新apt软件包列表
sudo apt update
重新安装
sudo apt-get install lua5.2:i386
问题解决