在Debian 32位系统上构建xkeropi
最近发现最新版本的VirtualBox(大约从5.2开始)无法在Hyper-V上的ubuntu 16.04中安装,所以我尝试在Hyper-V上运行了xkeropi。
所以我打算换到Debian。
建立环境
安装操作系统
在VirtualBox 7.0上安装debian-11.6.0-i386-netinst.iso。
允许使用sudo命令(可选)
$ su -
# adduser yui sudo
# reboot
有一个很方便的ssh(自由选择)。
$ sudo apt install openssh-server
某种有用的Samba(随意)
$ sudo apt install samba
$ sudo vi /etc/samba/smb.conf
[homes]
comment = Home Directories
browseable = no
writable = yes
create mask = 0644
directory mask = 0755
$ sudo smbpasswd -a yui
$ sudo service smbd restart
安装所需的库等
$ sudo apt-get install xutils-dev
$ sudo apt-get install libgtk2.0-dev
$ sudo apt-get install libsdl1.2-dev
$ sudo apt-get install nasm
构建
在编译选项中添加-Wno-narrowing。
EXTRA_DEFINES+= -Wno-narrowing
编译错误
/usr/bin/ld: x68k/68kem.o: in function `m68000_ICountBk':
x68k/68kem.asm:(.data+0x4): multiple definition of `m68000_ICountBk'; x68k/cpu_glue.o:/home/yui/xkeropi-20101107/x68k/cpu_glue.c:6: first defined here
/usr/bin/ld: x68k/68kem.o: warning: relocation in read-only section `.text'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
make: *** [Makefile:1152: xkeropi] Error 1
虽然在Ubuntu上没有问题,但确实存在多重定义的情况。
没办法,只能将其注释掉。
// int m68000_ICountBk;