Article 5CDC8 DOSBox-X

DOSBox-X

by
inukaze
from LinuxQuestions.org on (#5CDC8)
First this is a modify version of this post -> https://github.com/joncampbell123/dosbox-x/issues/2156

Hi there again xD

Ok i solve how Compile under Slackware(64) 14.2 ;
The Native 32 Bit Version (not crosscompile because for some strange reason that binary executable don't work on a real raw 32 Bits environment) using chroot, i had installed Slackware 14.2 on another partition mounted in /media/Slack32

#1 - Mounting Slackware 14.2 via chroot
Code:TARGET=/media/Slack32 ; \
mount --rbind /proc $TARGET/proc ; \
mount --make-rslave $TARGET/proc ; \
mount --rbind /sys $TARGET/sys ; \
mount --make-rslave $TARGET/sys ; \
mount --rbind /dev $TARGET/dev ; \
mount --make-rslave $TARGET/dev ; \
mount --bind /etc/fstab $TARGET/etc/fstab ; \
mount --bind /etc/resolv.conf $TARGET/etc/resolv.conf ; \
linux32 chroot $TARGET /bin/bash -l#2 - Download the Source Code & use autogen script
Code:cd /tmp
git clone
cd dosbox-x
./autogen.sh
#3 - Solving Errors :

`error: __builtin_isfinite' is not a member of std' `
For fix this error message under Slackware just you need edit the follow file :

Code:editor ./src/dos/dos_programs.cppNow inside the file search the line
Code:#include <math.h>and below add the line
Code:#include <cmath>Save changes & Exit

Fix the error : XkbComponentNamesPtr, you must run this script first
Code:cd ../../vs2015/sdl
./build-dosbox.sh
cd ../..Ready, right now you can compile dosbox-x under Slackware 14.2 if you had dependencies pre-resolved.

i suggest use this commands, the first is set the prefix, the path where you wish the dosbox-x be installed

Code:PREFIX="/opt/videogames/emulators/dosbox-x/sdl1/0.83.9"
mkdir -p "$PREFIX"
./configure --enable-core-inline --enable-debug=heavy --disable-avcodec --enable-sdl --prefix="$PREFIX" ; make all ; make installJust wait, if you want make the SDL2 version too just change certain details:
Code:PREFIX="/opt/videogames/emulators/dosbox-x/sdl2/0.83.9"
mkdir -p "$PREFIX"
./configure --enable-core-inline --enable-debug=heavy --disable-avcodec --enable-sdl2 --prefix="$PREFIX" ; make all ; make install#Now you can exit from chroot environment with exit and remount partitions on your Slackware64 14.2 :

Code:exit
umount -l $OBJETIVO ; mount -aIf you want to compile 64 Bits native, you can make the same process to compile, but without chroot and on another prefix path.

#4 - getcap & setcap for NE2000 for use with Windows9X :
i ever rename the dosbox binaries executables for know wich version is each.

If you ran the binaries executable ran perfectly incluse, when you had the libraries in right place to use environment variables of 32 Bit architecture like :

https://user-images.githubuserconten...772184414d.png
https://user-images.githubuserconten...5837594e96.png
https://user-images.githubuserconten...87f9737b61.png
https://user-images.githubuserconten...aa7d000afc.png

Under Slackware you can't use certain commands if you not are root like : blkid, getcap, setcap, etc . . .

well assign permissions with setcap to dosbox-x binaries :
Code:su -c "getcap dosbox-x-sdl{1,2}-v0.83.9.{32,64}Bits" root

su -c " \
setcap cap_net_raw+ep dosbox-x-sdl1-v0.83.9.32Bits ; \
setcap cap_net_raw+ep dosbox-x-sdl1-v0.83.9.64Bits ; \
setcap cap_net_raw+ep dosbox-x-sdl2-v0.83.9.32Bits ; \
setcap cap_net_raw+ep dosbox-x-sdl2-v0.83.9.64Bits \
" roothttps://user-images.githubuserconten...7257c6c05f.png

And then happend something, for me is strange, the user can't start dosbox-x of 32 Bits, because can't use the 32 Bits libraries in the exported LD_LIBRARY_PATH ?

https://user-images.githubuserconten...fc8429a653.png

with the 64 Bits version i can start without problems, and accesing to the eth1 device.
https://user-images.githubuserconten...320f96c177.png

https://user-images.githubuserconten...1a39793a35.png

With the Spanish Version of Windows 95 i must set in the configuration file the follow things for make NE2000 works :

Code:[ne2000]
ne2000 = true
nicbase = 320
nicirq = 10
macaddr = 00:26:18:54:F4:9B
realnic = "eth1" #Must be the device name or device index order

#Set-Up & Start TCP:
SET MTCPCFG=C:\UTIL\RED\RED.CFG
NE2000 0x60 10 0x320
DHCP

#IPX##Set-Up & Start IPX :: You must extract from Novell NetWare 1.21
#IPX#C:\UTIL\IPX\LSL.COM
#IPX#echo "C:\UTIL\IPX\NE2000.COM" ::#Skipped
#IPX#C:\UTIL\IPX\IPXODI.COM
#IPX#echo "C:\UTIL\IPX\NETBIOS.EXE" ::#You must use when a videogame really need a real NetBIOS connection and the fake via TCP/IP of DOSBox-X don't work.Set the IRQ to 10
and the address to 320.

https://user-images.githubuserconten...62c84cd31a.png

Well the dunno is, why with the 32 Bits Binaries, i can't start if i use getcap & setcap neither work with the 32 Bits version of getcap / setcap, happend exactly the same.latest?d=yIl2AUoC8zA latest?i=8wZsxFDYM7g:z9Vjh60Kdbo:F7zBnMy latest?i=8wZsxFDYM7g:z9Vjh60Kdbo:V_sGLiP latest?d=qj6IDK7rITs latest?i=8wZsxFDYM7g:z9Vjh60Kdbo:gIN9vFw8wZsxFDYM7g
External Content
Source RSS or Atom Feed
Feed Location https://feeds.feedburner.com/linuxquestions/latest
Feed Title LinuxQuestions.org
Feed Link https://www.linuxquestions.org/questions/
Reply 0 comments