Closed inukaze closed 2 years ago
may be deleting = {}
will do.
I can't test it myself but worth trying.
may be deleting
= {}
will do. I can't test it myself but worth trying.
Deleting = {}
Specifically where?
you can see from the log u posted
Yes well
i open the terminal and do the follow :
well some days has passed i need to do the follow :
cd "/media/72GB/tmp/src/dosbox-x/"
PREFIJO="/media/Compartido/Videojuegos/Linux/Emulador/dosbox-x_git/sdl1"
mkdir -p "$PREFIJO"
git submodule update --init --recursive ; git submodule update --recursive
git pull --recurse-submodules
remote: Enumerating objects: 104, done. remote: Counting objects: 100% (104/104), done. remote: Compressing objects: 100% (35/35), done. remote: Total 104 (delta 75), reused 95 (delta 69), pack-reused 0 Recibiendo objetos: 100% (104/104), 282.60 KiB | 32.00 KiB/s, listo. Resolviendo deltas: 100% (75/75), completado con 8 objetos locales. Desde https://github.com/joncampbell123/dosbox-x 504b33a49..6763bb23c master -> origin/master Actualizando 504b33a49..6763bb23c Fast-forward CHANGELOG | 13 ++- src/dosbox.cpp | 2 +- src/gui/midi_mt32.h | 3 + src/hardware/vga_draw.cpp | 14 ++- src/hardware/vga_xga.cpp | 291 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/ints/int10_char.cpp | 4 +- src/shell/shell.cpp | 9 ++ 7 files changed, 327 insertions(+), 9 deletions(-)
./cleanup
i check the editor ./src/dos/dos_programs.cpp
cd "/media/72GB/tmp/src/dosbox-x/src/hardware/serialport"
editor misc_util.h
i go to the line 181,
std::queue<uint8_t> receiveBuffer = {} ;
i remove the "{}"
std::queue<uint8_t> receiveBuffer = ;
Well do it again :
cd vs/sdlnet
./build-dosbox.sh
cd ../..
cd vs/sdl
./build-dosbox.sh
cd ../..
./autogen.sh
./configure --enable-core-inline --enable-debug=heavy --disable-avcodec --enable-sdl --prefix="$PREFIJO"
make all
make output :
make[3]: se entra en el directorio '/media/72GB/tmp/src/dosbox-x/src/hardware'
Making all in serialport
make[4]: se entra en el directorio '/media/72GB/tmp/src/dosbox-x/src/hardware/serialport'
depbase=`echo directserial.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -Wno-int-to-void-pointer-cast -Wno-address-of-packed-member -Wno-format-zero-length -Wno-missing-field-initializers -Wno-strict-aliasing -Wno-implicit-fallthrough -Wno-deprecated-declarations -Wconversion-null -Wsign-promo -Wlogical-op -pedantic -Wunused -Wextra -Wall -I/media/72GB/tmp/src/dosbox-x/vs/sdl/linux-host/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/media/72GB/tmp/src/dosbox-x -I/media/72GB/tmp/src/dosbox-x/vs/sdlnet/linux-host/include -I/media/72GB/tmp/src/dosbox-x/vs/sdlnet/linux-host/include/SDL -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -std=gnu++14 -O2 -msse -Wall -Wextra -Wunused -pedantic -Wlogical-op -Wsign-promo -Wconversion-null -Wno-deprecated-declarations -Wno-implicit-fallthrough -Wno-strict-aliasing -Wno-missing-field-initializers -Wno-format-zero-length -Wno-address-of-packed-member -Wno-int-to-void-pointer-cast -I/media/72GB/tmp/src/dosbox-x -I/media/72GB/tmp/src/dosbox-x/vs/sdlnet/linux-host/include -I/media/72GB/tmp/src/dosbox-x/vs/sdlnet/linux-host/include/SDL -D_XOPEN_SOURCE=700 -D_POSIX_C_SOURCE=200809L -MT directserial.o -MD -MP -MF $depbase.Tpo -c -o directserial.o directserial.cpp &&\
mv -f $depbase.Tpo $depbase.Po
In file included from directserial.cpp:27:0:
misc_util.h:176:37: error: expected primary-expression at end of input
std::queue<uint8_t> receiveBuffer = ;
^
cc1plus: aviso: no se reconoce la opción de línea de órdenes ‘-Wno-int-to-void-pointer-cast’
cc1plus: aviso: no se reconoce la opción de línea de órdenes ‘-Wno-address-of-packed-member’
cc1plus: aviso: no se reconoce la opción de línea de órdenes ‘-Wno-implicit-fallthrough’
cc1plus: aviso: no se reconoce la opción de línea de órdenes ‘-Wno-implicit-fallthrough’
cc1plus: aviso: no se reconoce la opción de línea de órdenes ‘-Wno-address-of-packed-member’
cc1plus: aviso: no se reconoce la opción de línea de órdenes ‘-Wno-int-to-void-pointer-cast’
Makefile:368: fallo en las instrucciones para el objetivo 'directserial.o'
make[4]: *** [directserial.o] Error 1
make[4]: se sale del directorio '/media/72GB/tmp/src/dosbox-x/src/hardware/serialport'
Makefile:748: fallo en las instrucciones para el objetivo 'all-recursive'
make[3]: *** [all-recursive] Error 1
make[3]: se sale del directorio '/media/72GB/tmp/src/dosbox-x/src/hardware'
Makefile:521: fallo en las instrucciones para el objetivo 'all-recursive'
make[2]: *** [all-recursive] Error 1
make[2]: se sale del directorio '/media/72GB/tmp/src/dosbox-x/src'
Makefile:399: fallo en las instrucciones para el objetivo 'all-recursive'
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio '/media/72GB/tmp/src/dosbox-x'
Makefile:332: fallo en las instrucciones para el objetivo 'all'
make: *** [all] Error 2
Ok i trying this right now :
editor "./src/hardware/serialport/directserial.cpp"
i add
#include <cmath>
below of
#include "pic.h" line
ok i need make some symbolic links
su
mkdir -p /usr/include/uapi/asm
mkdir -p /usr/include/uapi/linux
echo 'linux-src'
ln -s /usr/src/linux/include/linux/of.h /usr/include/linux/of.h
ln -s /usr/src/linux/include/linux/irqflags.h /usr/include/linux/irqflags.h
ln -s /usr/src/linux/include/linux/typecheck.h/usr/include/linux/typecheck.h
ln -s /usr/src/linux/include/linux/compiler.h /usr/include/linux/compiler.h
ln -s /usr/src/linux/include/linux/kobject.h /usr/include/linux/kobject.h
ln -s /usr/src/linux/include/linux/list.h /usr/include/linux/list.h
ln -s /usr/src/linux/include/linux/poison.h /usr/include/linux/poison.h
ln -s /usr/src/linux/include/linux/sysfs.h /usr/include/linux/sysfs.h
ln -s /usr/src/linux/include/linux/kernfs.h /usr/include/linux/kernfs.h
ln -s /usr/src/linux/include/linux/err.h /usr/include/linux/err.h
ln -s /usr/src/linux/include/linux/mutex.h /usr/include/linux/mutex.h
ln -s /usr/src/linux/include/linux/thread_info.h /usr/include/linux/thread_info.h
ln -s /usr/src/linux/include/linux/bug.h /usr/include/linux/bug.h
ln -s /usr/src/linux/include/linux/spinlock_types.h /usr/include/linux/spinlock_types.h
ln -s /usr/src/linux/include/linux/spinlock_types_up.h /usr/include/linux/spinlock_types_up.h
ln -s /usr/src/linux/include/linux/lockdep.h /usr/include/linux/lockdep.h
ln -s /usr/src/linux/include/linux/rwlock_types.h /usr/include/linux/rwlock_types.h
ln -s /usr/src/linux/include/linux/linkage.h /usr/include/linux/linkage.h
ln -s /usr/src/linux/include/linux/stringify.h /usr/include/linux/stringify.h
ln -s /usr/src/linux/include/linux/export.h /usr/include/linux/export.h
ln -s /usr/src/linux/include/linux/atomic.h /usr/include/linux/atomic.h
ln -s /usr/src/linux/include/linux/threads.h /usr/include/linux/threads.h
ln -s /usr/src/linux/include/linux/percpu-defs.h /usr/include/linux/percpu-defs.h
ln -s /usr/src/linux/include/linux/cpumask.h /usr/include/linux/cpumask.h
ln -s /usr/src/linux/include/linux/bitmap.h /usr/include/linux/bitmap.h
ln -s /usr/src/linux/include/linux/cache.h /usr/include/linux/cache.h
ln -s /usr/src/linux/include/uapi/linux/kernel.h /usr/include/uapi/linux/kernel.h
ln -s /usr/src/linux/include/linux/math64.h /usr/include/linux/math64.h
ln -s /usr/src/linux/include/linux/osq_lock.h /usr/include/linux/osq_lock.h
ln -s /usr/src/linux/include/linux/idr.h /usr/include/linux/idr.h
ln -s /usr/src/linux/include/linux/init.h /usr/include/linux/init.h
ln -s /usr/src/linux/include/linux/rcupdate.h /usr/include/linux/rcupdate.h
ln -s /usr/src/linux/include/linux/spinlock.h /usr/include/linux/spinlock.h
ln -s /usr/src/linux/include/linux/preempt.h /usr/include/linux/preempt.h
ln -s /usr/src/linux/include/linux/bottom_half.h /usr/include/linux/bottom_half.h
ln -s /usr/src/linux/include/linux/spinlock_up.h /usr/include/linux/spinlock_up.h
ln -s /usr/src/linux/include/linux/rwlock.h /usr/include/linux/rwlock.h
ln -s /usr/src/linux/include/linux/spinlock_api_up.h /usr/include/linux/spinlock_api_up.h
ln -s /usr/src/linux/include/linux/seqlock.h /usr/include/linux/seqlock.h
ln -s /usr/src/linux/include/linux/completion.h /usr/include/linux/completion.h
ln -s /usr/src/linux/include/linux/debugobjects.h /usr/include/linux/debugobjects.h
ln -s /usr/src/linux/include/linux/ktime.h /usr/include/linux/ktime.h
ln -s /usr/src/linux/include/linux/jiffies.h /usr/include/linux/jiffies.h
ln -s /usr/src/linux-4.4.14/include/generated/ /usr/include/generated
ln -s /usr/src/linux/include/linux/timekeeping.h /usr/include/linux/timekeeping.h
ln -s /usr/src/linux/include/linux/rbtree.h /usr/include/linux/rbtree.h
ln -s /usr/src/linux/include/linux/kobject_ns.h /usr/include/linux/kobject_ns.h
ln -s /usr/src/linux/include/linux/kref.h /usr/include/linux/kref.h
ln -s /usr/src/linux/include/linux/workqueue.h /usr/include/linux/workqueue.h
ln -s /usr/src/linux/include/linux/timer.h /usr/include/linux/timer.h
ln -s /usr/src/linux/include/linux/mod_devicetable.h /usr/include/linux/mod_devicetable.h
ln -s /usr/src/linux/include/linux/topology.h /usr/include/linux/topology.h
ln -s /usr/src/linux/include/linux/mmzone.h /usr/include/linux/mmzone.h
ln -s /usr/src/linux/include/linux/numa.h /usr/include/linux/numa.h
ln -s /usr/src/linux/include/linux/nodemask.h /usr/include/linux/nodemask.h
ln -s /usr/src/linux/include/linux/pageblock-flags.h /usr/include/linux/pageblock-flags.h
ln -s /usr/src/linux/include/linux/page-flags-layout.h /usr/include/linux/page-flags-layout.h
ln -s /usr/src/linux/include/linux/memory_hotplug.h /usr/include/linux/memory_hotplug.h
ln -s /usr/src/linux/include/linux/notifier.h /usr/include/linux/notifier.h
ln -s /usr/src/linux/include/linux/rwsem.h /usr/include/linux/rwsem.h
ln -s /usr/src/linux/include/linux/srcu.h /usr/include/linux/srcu.h
ln -s /usr/src/linux/include/linux/smp.h /usr/include/linux/smp.h
ln -s /usr/src/linux/include/linux/llist.h /usr/include/linux/llist.h
ln -s /usr/src/linux/include/linux/percpu.h /usr/include/linux/percpu.h
ln -s /usr/src/linux/include/linux/mmdebug.h /usr/include/linux/mmdebug.h
ln -s /usr/src/linux/include/linux/printk.h /usr/include/linux/printk.h
ln -s /usr/src/linux/include/linux/kern_levels.h /usr/include/linux/kern_levels.h
ln -s /usr/src/linux/include/linux/dynamic_debug.h /usr/include/linux/dynamic_debug.h
ln -s /usr/src/linux/include/linux/pfn.h /usr/include/linux/pfn.h
ln -s /usr/src/linux/include/linux/property.h /usr/include/linux/property.h
ln -s /usr/src/linux/include/linux/fwnode.h /usr/include/linux/fwnode.h
'echo asm'
ln -s /usr/src/linux/include/asm-generic/bitops.h /usr/include/linux/bitops.h
ln -s /usr/src/linux/include/asm-generic/irqflags.h /usr/include/linux/irqflags.h
mv /usr/include/linux/irqflags.h /usr/include/linux/irqflags.h.original
ln -s /usr/src/linux/include/asm-generic/irqflags.h /usr/include/linux/irqflags.h
ln -s /usr/src/linux/include/asm-generic/barrier.h /usr/include/asm/barrier.h
ln -s /usr/src/linux/include/asm-generic/bitops/ /usr/include/asm-generic/bitops
ln -s /usr/src/linux/include/asm-generic/current.h /usr/include/asm/current.h
ln -s /usr/src/linux/include/asm-generic/bug.h /usr/include/asm/bug.h
ln -s /usr/src/linux/include/linux/thread_info.h /usr/include/asm/thread_info.h
ln -s /usr/src/linux/include/asm-generic/linkage.h /usr/include/asm/linkage.h
ln -s /usr/src/linux/include/asm-generic/atomic.h /usr/include/asm/atomic.h
ln -s /usr/src/linux/include/asm-generic/cmpxchg.h /usr/include/asm/cmpxchg.h
ln -s /usr/src/linux/include/asm-generic/cmpxchg-local.h /usr/include/asm-generic/cmpxchg-local.h
ln -s /usr/src/linux/include/asm-generic/atomic-long.h /usr/include/asm-generic/atomic-long.h
ln -s /usr/src/linux/include/asm-generic/processor.h /usr/include/asm/processor.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/processor.h /usr/include/asm/processor.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/math_emu.h /usr/include/asm/math_emu.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/segment.h /usr/include/asm/segment.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/cache.h /usr/include/asm/cache.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/uapi/asm/sigcontext.h /usr/include/uapi/asm/sigcontext.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/cpufeature.h /usr/include/asm/cpufeature.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/required-features.h /usr/include/asm/required-features.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/disabled-features.h /usr/include/asm/disabled-features.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/page.h /usr/include/asm/page.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/pgtable_types.h /usr/include/asm/pgtable_types.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/page_types.h /usr/include/asm/page_types.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/page_32_types.h /usr/include/asm/page_32_types.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/page_64_types.h /usr/include/asm/page_64_types.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/pgtable_64_types.h /usr/include/asm/pgtable_64_types.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/sparsemem.h /usr/include/asm/sparsemem.h
ln -s /usr/src/linux/include/asm-generic/pgtable-nopud.h /usr/include/asm-generic/pgtable-nopud.h
ln -s /usr/src/linux/include/asm-generic/pgtable-nopmd.h /usr/include/asm-generic/pgtable-nopmd.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/percpu.h /usr/include/asm/percpu.h
ln -s /usr/src/linux/include/asm-generic/percpu.h /usr/include/asm-generic/percpu.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/desc_defs.h /usr/include/asm/desc_defs.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/nops.h /usr/include/asm/nops.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/special_insns.h /usr/include/asm/special_insns.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/fpu/ /usr/include/asm/fpu
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/div64.h /usr/include/asm/div64.h
ln -s /usr/src/linux/include/asm-generic/div64.h /usr/include/asm-generic/div64.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/preempt.h /usr/include/asm/preempt.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/rmwcc.h /usr/include/asm/rmwcc.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/rwsem.h /usr/include/asm/rwsem.h
ln -s /usr/src/linux-4.4.14/arch/x86/include/asm/topology.h /usr/include/asm/topology.h
ln -s /usr/src/linux/include/asm-generic/topology.h /usr/include/asm-generic/topology.h
exit
make output too much long i attach dosbox-x-make-output.txt
You have to delete not only {}
but also delete =
as well, as I initially proposed to try.
@inukaze
You complicate everything too much. Provide any necessary error messages (in English).
Slackware 14.2 is a system with a fairly decent compiler (gcc-5.3
).
First try to update the system.
Package updates are available here.
First: gcc-5.5.0, gcc-g++-5.5.0, glibc-2.23, kernel-headers-4.4.301. All packages that you have installed on your system and an update is available.
I installed Slackware 14.2 out of curiosity. There is actually a problem with the RetroWaveLib library. It is not fully compatible with linux-4.4.x (applies to gpio SPI). Linux 4.4.x does not provide the gpio.h
header file.
https://mirrors.slackware.com/slackware/slackware64-14.2/patches/packages/linux-4.4.301/kernel-headers-4.4.301-x86-1.txz
As a workaround, I downloaded this header file from a newer 4.9 kernel (lts). The entire dosbox-x compilation under Slackware 14.2 goes to this command list.
git clone --depth 1 https://github.com/joncampbell123/dosbox-x
cd dosbox-x
curl -o src/hardware/RetroWaveLib/Platform/gpio.h -JL "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/plain/include/uapi/linux/gpio.h?h=linux-4.9.y"
sed -i 's|_UAPI_GPIO_H_|_GPIO_H_|g' src/hardware/RetroWaveLib/Platform/gpio.h
sed -i 's|#include <linux/gpio.h>|#include "gpio.h"|' src/hardware/RetroWaveLib/Platform/Linux_SPI.h
sed -i '/math.h>/ a #include <cmath>' src/dos/dos_programs.cpp
./autogen.sh
cd vs/sdlnet && ./build-dosbox.sh && cd ../sdl && ./build-dosbox.sh && cd ../..
./configure --enable-core-inline --enable-debug=heavy --disable-avcodec --enable-sdl --prefix=/usr
LC_ALL=C make
Compilation is completed successfully. RetroWave in SPI mode will not work under a 4.4.x kernel, but under 4.9.x and above it should.
edit: Ideally, the RetroWaveLib code should not be compiled by default. I suspect that not many users use it.
You have to delete not only
{}
but also delete=
as well, as I initially proposed to try.
if i leave the line :
std::queue<uint8_t> receiveBuffer = ;
The output if i do, you initially proposed is
depbase=`echo misc_util.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -Wno-int-to-void-pointer-cast -Wno-address-of-packed-member -Wno-format-zero-length -Wno-missing-field-initializers -Wno-strict-aliasing -Wno-implicit-fallthrough -Wno-deprecated-declarations -Wconversion-null -Wsign-promo -Wlogical-op -pedantic -Wunused -Wextra -Wall -I/media/72GB/tmp/src/dosbox-x/vs/sdl/linux-host/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/media/72GB/tmp/src/dosbox-x -I/media/72GB/tmp/src/dosbox-x/vs/sdlnet/linux-host/include -I/media/72GB/tmp/src/dosbox-x/vs/sdlnet/linux-host/include/SDL -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -std=gnu++14 -O2 -msse -Wall -Wextra -Wunused -pedantic -Wlogical-op -Wsign-promo -Wconversion-null -Wno-deprecated-declarations -Wno-implicit-fallthrough -Wno-strict-aliasing -Wno-missing-field-initializers -Wno-format-zero-length -Wno-address-of-packed-member -Wno-int-to-void-pointer-cast -I/media/72GB/tmp/src/dosbox-x -I/media/72GB/tmp/src/dosbox-x/vs/sdlnet/linux-host/include -I/media/72GB/tmp/src/dosbox-x/vs/sdlnet/linux-host/include/SDL -D_XOPEN_SOURCE=700 -D_POSIX_C_SOURCE=200809L -MT misc_util.o -MD -MP -MF $depbase.Tpo -c -o misc_util.o misc_util.cpp &&\
mv -f $depbase.Tpo $depbase.Po
In file included from misc_util.cpp:30:0:
../../../include/enet.h: En la función ‘const char* inet_ntop(int, const void*, char*, socklen_t)’:
../../../include/enet.h:1041:80: error: la declaración de ‘const char* inet_ntop(int, const void*, char*, socklen_t)’ tiene un especificador de excepción diferente
const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt) {
^
In file included from ../../../include/enet.h:147:0,
from misc_util.cpp:30:
/usr/include/arpa/inet.h:64:20: error: de la declaración previa de ‘const char* inet_ntop(int, const void*, char*, socklen_t) throw ()’
extern const char *inet_ntop (int __af, const void *__restrict __cp,
^
In file included from misc_util.cpp:30:0:
../../../include/enet.h: En la función ‘int inet_pton(int, const char*, void*)’:
../../../include/enet.h:1208:57: error: la declaración de ‘int inet_pton(int, const char*, void*)’ tiene un especificador de excepción diferente
int inet_pton(int af, const char *src, void *dst) {
^
In file included from ../../../include/enet.h:147:0,
from misc_util.cpp:30:
/usr/include/arpa/inet.h:58:12: error: de la declaración previa de ‘int inet_pton(int, const char*, void*) throw ()’
extern int inet_pton (int __af, const char *__restrict __cp,
^
En el ámbito global:
cc1plus: aviso: no se reconoce la opción de línea de órdenes ‘-Wno-int-to-void-pointer-cast’
cc1plus: aviso: no se reconoce la opción de línea de órdenes ‘-Wno-address-of-packed-member’
cc1plus: aviso: no se reconoce la opción de línea de órdenes ‘-Wno-implicit-fallthrough’
cc1plus: aviso: no se reconoce la opción de línea de órdenes ‘-Wno-implicit-fallthrough’
cc1plus: aviso: no se reconoce la opción de línea de órdenes ‘-Wno-address-of-packed-member’
cc1plus: aviso: no se reconoce la opción de línea de órdenes ‘-Wno-int-to-void-pointer-cast’
Makefile:368: fallo en las instrucciones para el objetivo 'misc_util.o'
make[4]: *** [misc_util.o] Error 1
make[4]: se sale del directorio '/media/72GB/tmp/src/dosbox-x/src/hardware/serialport'
Makefile:748: fallo en las instrucciones para el objetivo 'all-recursive'
make[3]: *** [all-recursive] Error 1
make[3]: se sale del directorio '/media/72GB/tmp/src/dosbox-x/src/hardware'
Makefile:521: fallo en las instrucciones para el objetivo 'all-recursive'
make[2]: *** [all-recursive] Error 1
make[2]: se sale del directorio '/media/72GB/tmp/src/dosbox-x/src'
Makefile:399: fallo en las instrucciones para el objetivo 'all-recursive'
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio '/media/72GB/tmp/src/dosbox-x'
Makefile:332: fallo en las instrucciones para el objetivo 'all'
make: *** [all] Error 2
@inukaze So my advise worked for the error you initially posted worked, but there are plenty of more errors, so it is not practical to fix those one by one. What is the reason you not follow @grapeli 's advise?
@inukaze You complicate everything too much. Provide any necessary error messages (in English). Slackware 14.2 is a system with a fairly decent compiler (
gcc-5.3
). First try to update the system. Package updates are available here.First: gcc-5.5.0, gcc-g++-5.5.0, glibc-2.23, kernel-headers-4.4.301. All packages that you have installed on your system and an update is available.
I installed Slackware 14.2 out of curiosity. There is actually a problem with the RetroWaveLib library. It is not fully compatible with linux-4.4.x (applies to gpio SPI). Linux 4.4.x does not provide the
gpio.h
header file. https://mirrors.slackware.com/slackware/slackware64-14.2/patches/packages/linux-4.4.301/kernel-headers-4.4.301-x86-1.txzAs a workaround, I downloaded this header file from a newer 4.9 kernel (lts). The entire dosbox-x compilation under Slackware 14.2 goes to this command list.
git clone --depth 1 https://github.com/joncampbell123/dosbox-x cd dosbox-x curl -o src/hardware/RetroWaveLib/Platform/gpio.h -JL "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/plain/include/uapi/linux/gpio.h?h=linux-4.9.y" sed -i 's|_UAPI_GPIO_H_|_GPIO_H_|g' src/hardware/RetroWaveLib/Platform/gpio.h sed -i 's|#include <linux/gpio.h>|#include "gpio.h"|' src/hardware/RetroWaveLib/Platform/Linux_SPI.h sed -i '/math.h>/ a #include <cmath>' src/dos/dos_programs.cpp ./autogen.sh cd vs/sdlnet && ./build-dosbox.sh && cd ../sdl && ./build-dosbox.sh && cd ../.. ./configure --enable-core-inline --enable-debug=heavy --disable-avcodec --enable-sdl --prefix=/usr LC_ALL=C make
Compilation is completed successfully. RetroWave in SPI mode will not work under a 4.4.x kernel, but under 4.9.x and above it should.
edit: Ideally, the RetroWaveLib code should not be compiled by default. I suspect that not many users use it.
Thank you very much for answer, well i am going to change the mirror for make updates for this by this way.
Well the packages are update (except kernel, i really don't upgrade kernel because ever broke my 3D Acceleration, DRI, Graphical System)
The thing i do 1 - Change Mirrors 2 - Update System Packages 3 - Delete folder and all sub-content " /usr/src/linux-4.4.14 " 4 - Install package kernel-sources-4.4.14.txz 5 - i use the follow commands on a terminal :
PREFIJO="/media/Compartido/Videojuegos/Linux/Emulador/dosbox-x_git/sdl1"
mkdir -p "$PREFIJO"
cd "/media/72GB/tmp/src/dosbox-x/"
./cleanup
git submodule update --init --recursive
git submodule update --recursive
git pull --recurse-submodules
remote: Enumerating objects: 423, done.
remote: Counting objects: 100% (370/370), done.
remote: Compressing objects: 100% (161/161), done.
remote: Total 273 (delta 204), reused 173 (delta 112), pack-reused 0
Recibiendo objetos: 100% (273/273), 47.05 KiB | 244.00 KiB/s, listo.
Resolviendo deltas: 100% (204/204), completado con 34 objetos locales.
Desde https://github.com/joncampbell123/dosbox-x
6763bb23c..38e57ad3c master -> origin/master
* [nuevo tag] dosbox-x-v0.83.23 -> dosbox-x-v0.83.23
Actualizando 6763bb23c..38e57ad3c
Fast-forward
CHANGELOG | 30 +
contrib/linux/com.dosbox_x.DOSBox-X-sdl2.yaml | 87 ---
contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml.in | 2 +-
contrib/linux/com.dosbox_x.DOSBox-X.yaml | 57 +-
contrib/linux/dosbox-x.spec.in | 5 +
contrib/translations/zh/zh_TW.lng | 22 +-
contrib/windows/installer/dosbox-x.reference.setup.conf | 9 +-
dosbox-x.reference.conf | 2 +-
dosbox-x.reference.full.conf | 9 +-
include/build_timestamp.h | 4 +-
make-flatpak-sdl2.sh | 27 -
make-flatpak.sh | 2 +-
src/dos/dos.cpp | 7 +-
src/dosbox.cpp | 7 +-
src/hardware/vga.cpp | 39 +-
src/hardware/vga_draw.cpp | 67 +-
src/hardware/vga_xga.cpp | 771 ++++++++++++++++++++++-
src/ints/int10.h | 1 +
src/ints/int10_modes.cpp | 9 +-
19 files changed, 962 insertions(+), 195 deletions(-)
delete mode 100644 contrib/linux/com.dosbox_x.DOSBox-X-sdl2.yaml
delete mode 100755 make-flatpak-sdl2.sh
#echo 'Using grapeli commands :'
curl -o src/hardware/RetroWaveLib/Platform/gpio.h -JL "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/plain/include/uapi/linux/gpio.h?h=linux-4.9.y"
sed -i 's|_UAPI_GPIO_H_|_GPIO_H_|g' src/hardware/RetroWaveLib/Platform/gpio.h
sed -i 's|#include <linux/gpio.h>|#include "gpio.h"|' src/hardware/RetroWaveLib/Platform/Linux_SPI.h
sed -i '/math.h>/ a #include <cmath>' src/dos/dos_programs.cpp
./autogen.sh
cd vs/sdlnet && ./build-dosbox.sh && cd ../sdl && ./build-dosbox.sh && cd ../..
./configure --enable-core-inline --enable-debug=heavy --disable-avcodec --enable-sdl --prefix="$PREFIJO"
latest output (Copying and pasting the grapeli command(s):
[sdlnet]$ ./configure --enable-core-inline --enable-debug=heavy --disable-avcodec --enable-sdl --prefix="$PREFIJO"
configure: WARNING: unrecognized options: --enable-core-inline, --enable-debug, --disable-avcodec, --enable-sdl
well let me try with my & grapeli commands merged :
make distclean
cd ../..
./cleanup
cd vs/sdlnet
./build-dosbox.sh
well sdl is broken, the output right now is :
*** Could not run SDL test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occurred. This usually means SDL was incorrectly installed
*** or that you have moved SDL since it was installed. In the latter case, you
*** may want to edit the sdl-config script: /media/72GB/tmp/src/dosbox-x/vs/sdlnet/../sdl/linux-host/bin/sdl-config
configure: error: SDL 1.x or SDL 2.x is required to compile this program
Ok i leave the rest of command for after i fix that
cd ../..
cd vs/sdl
./build-dosbox.sh
cd ../..
./autogen.sh
./configure --enable-core-inline --enable-debug=heavy --disable-avcodec --enable-sdl --prefix="$PREFIJO"
LC_ALL=C make all
@inukaze So my advise worked for the error you initially posted worked, but there are plenty of more errors, so it is not practical to fix those one by one. What is the reason you not follow @grapeli 's advise?
im changing mirror(s) for make update, for try by that way, the unique thing i never update is the kernel, because supeior versions ever broke the 3D Acceleration with my gpu. because of kernel 4.4.127 until 4.4.30X (i dont remember the latest i try) ever is the same, the nvidia drivers don't make the module for kernel and just for that i just prefer stay on 4.4.14
im changing mirror(s) for make update, for try by that way, the unique thing i never update is the kernel, because supeior versions ever broke the 3D Acceleration with my gpu. because of kernel 4.4.127 until 4.4.30X (i dont remember the latest i try) ever is the same, the nvidia drivers don't make the module for kernel and just for that i just prefer stay on 4.4.14
The problem is that you have absolutely no experience in compiling software under linux.
Well then don't update. Your business. You can stay on the 2016 kernel with two hundred critical bugs.
Whether you will be using 4.4.14 or 4.4.302, none of them will provide the gpio.h
header file anyway. Because this API was only added in kernel 4.6.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3c702e9987e261042a07e43460a8148be254412e
You can easily upgrade the rest of your system and compile dosbox-x without any problem. What's the problem. I gave the exact recipe. How to properly compile dosbox-x under slackware 14.2. If you need to, I can prepare a build. Even with sdl2-2.0.22, ffmpeg, fluidsynth, slirp support. No problem.
im changing mirror(s) for make update, for try by that way, the unique thing i never update is the kernel, because supeior versions ever broke the 3D Acceleration with my gpu. because of kernel 4.4.127 until 4.4.30X (i dont remember the latest i try) ever is the same, the nvidia drivers don't make the module for kernel and just for that i just prefer stay on 4.4.14
The problem is that you have absolutely no experience in compiling software under linux. Well then don't update. Your business. You can stay on the 2016 kernel with two hundred critical bugs. Whether you will be using 4.4.14 or 4.4.302, none of them will provide the
gpio.h
header file anyway. Because this API was only added in kernel 4.6. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3c702e9987e261042a07e43460a8148be254412eYou can easily upgrade the rest of your system and compile dosbox-x without any problem. What's the problem. I gave the exact recipe. How to properly compile dosbox-x under slackware 14.2. If you need to, I can prepare a build. Even with sdl2-2.0.22, ffmpeg, fluidsynth, slirp support. No problem.
The recipe is not exact because the arguments for dosbox-x stay on sdlnet, but right now i need to fix SDL. because i broken it with the process i describe before.
and well don't worry for make a build, i prefer make it with sdl1 because have better support for 3DFX, ( The LibRetroWave is for FPGA modules ?, well reading i don't need it )
Well i need recompile things, i come back tomorrow or monday, when i finish the fixes.
Trying again. (i think fix things for compilation take me much more time) Here we go, once more time XD
cd /media/72GB/tmp/src
PREFIJO="/media/Compartido/Videojuegos/Linux/Emulador/dosbox-x_git/sdl1"
mkdir -p "$PREFIJO"
rm -rf dosbox-x
git clone --recurse-submodules https://github.com/joncampbell123/dosbox-x
cd dosbox-x/
git submodule update --init --recursive
git submodule update --recursive
git pull --recurse-submodules
Already Update
./cleanup
curl -o src/hardware/RetroWaveLib/Platform/gpio.h -JL "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/plain/include/uapi/linux/gpio.h?h=linux-4.9.y"
sed -i 's|_UAPI_GPIO_H_|_GPIO_H_|g' src/hardware/RetroWaveLib/Platform/gpio.h
sed -i 's|#include <linux/gpio.h>|#include "gpio.h"|' src/hardware/RetroWaveLib/Platform/Linux_SPI.h
sed -i '/math.h>/ a #include <cmath>' src/dos/dos_programs.cpp
cd vs/sdlnet
./build-dosbox.sh
cd ../..
cd vs/sdl
./build-dosbox.sh
cd ../..
./autogen.sh
./configure --enable-core-inline --enable-debug=heavy --disable-avcodec --enable-sdl --prefix="$PREFIJO"
LC_ALL=C make all
LC_ALL make all final output :
In file included from directserial.cpp:27:0:
misc_util.h:175:40: error: converting to 'std::queue<unsigned char>' from initializer list would use explicit constructor 'std::queue<_Tp, _Sequence>::queue(_Sequence&&) [with _Tp = unsigned char; _Sequence = std::deque<unsigned char, std::allocator<unsigned char> >]'
std::queue<uint8_t> receiveBuffer = {};
^
cc1plus: warning: unrecognized command line option '-Wno-int-to-void-pointer-cast'
cc1plus: warning: unrecognized command line option '-Wno-address-of-packed-member'
cc1plus: warning: unrecognized command line option '-Wno-implicit-fallthrough'
cc1plus: warning: unrecognized command line option '-Wno-implicit-fallthrough'
cc1plus: warning: unrecognized command line option '-Wno-address-of-packed-member'
cc1plus: warning: unrecognized command line option '-Wno-int-to-void-pointer-cast'
Makefile:368: recipe for target 'directserial.o' failed
make[4]: *** [directserial.o] Error 1
make[4]: Leaving directory '/media/72GB/tmp/src/dosbox-x/src/hardware/serialport'
Makefile:748: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/media/72GB/tmp/src/dosbox-x/src/hardware'
Makefile:521: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/media/72GB/tmp/src/dosbox-x/src'
Makefile:399: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/media/72GB/tmp/src/dosbox-x'
Makefile:332: recipe for target 'all' failed
make: *** [all] Error 2
ok i try add editor "./src/hardware/serialport/directserial.cpp"
below of
#include "pic.h"
line, i add #include <cmath>
make output :
In file included from directserial.cpp:27:0:
misc_util.h:175:40: error: converting to 'std::queue<unsigned char>' from initializer list would use explicit constructor 'std::queue<_Tp, _Sequence>::queue(_Sequence&&) [with _Tp = unsigned char; _Sequence = std::deque<unsigned char, std::allocator<unsigned char> >]'
std::queue<uint8_t> receiveBuffer = {};
^
cc1plus: warning: unrecognized command line option '-Wno-int-to-void-pointer-cast'
cc1plus: warning: unrecognized command line option '-Wno-address-of-packed-member'
cc1plus: warning: unrecognized command line option '-Wno-implicit-fallthrough'
cc1plus: warning: unrecognized command line option '-Wno-implicit-fallthrough'
cc1plus: warning: unrecognized command line option '-Wno-address-of-packed-member'
cc1plus: warning: unrecognized command line option '-Wno-int-to-void-pointer-cast'
Makefile:368: recipe for target 'directserial.o' failed
make[4]: *** [directserial.o] Error 1
make[4]: Leaving directory '/media/72GB/tmp/src/dosbox-x/src/hardware/serialport'
Makefile:748: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/media/72GB/tmp/src/dosbox-x/src/hardware'
Makefile:521: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/media/72GB/tmp/src/dosbox-x/src'
Makefile:399: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/media/72GB/tmp/src/dosbox-x'
Makefile:332: recipe for target 'all' failed
make: *** [all] Error 2
the same thing, i revert that change and well i go try the maron2000 initial suggestion
editor ./src/hardware/serialport/misc_util.h
and leave the line like
std::queue<uint8_t> receiveBuffer ;
trying again :
LC_ALL=C make all
make output
In file included from misc_util.cpp:30:0:
../../../include/enet.h: In function 'const char* inet_ntop(int, const void*, char*, socklen_t)':
../../../include/enet.h:1041:80: error: declaration of 'const char* inet_ntop(int, const void*, char*, socklen_t)' has a different exception specifier
const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt) {
^
In file included from ../../../include/enet.h:147:0,
from misc_util.cpp:30:
/usr/include/arpa/inet.h:64:20: error: from previous declaration 'const char* inet_ntop(int, const void*, char*, socklen_t) throw ()'
extern const char *inet_ntop (int __af, const void *__restrict __cp,
^
In file included from misc_util.cpp:30:0:
../../../include/enet.h: In function 'int inet_pton(int, const char*, void*)':
../../../include/enet.h:1208:57: error: declaration of 'int inet_pton(int, const char*, void*)' has a different exception specifier
int inet_pton(int af, const char *src, void *dst) {
^
In file included from ../../../include/enet.h:147:0,
from misc_util.cpp:30:
/usr/include/arpa/inet.h:58:12: error: from previous declaration 'int inet_pton(int, const char*, void*) throw ()'
extern int inet_pton (int __af, const char *__restrict __cp,
^
At global scope:
cc1plus: warning: unrecognized command line option '-Wno-int-to-void-pointer-cast'
cc1plus: warning: unrecognized command line option '-Wno-address-of-packed-member'
cc1plus: warning: unrecognized command line option '-Wno-implicit-fallthrough'
cc1plus: warning: unrecognized command line option '-Wno-implicit-fallthrough'
cc1plus: warning: unrecognized command line option '-Wno-address-of-packed-member'
cc1plus: warning: unrecognized command line option '-Wno-int-to-void-pointer-cast'
Makefile:368: recipe for target 'misc_util.o' failed
make[4]: *** [misc_util.o] Error 1
make[4]: Leaving directory '/media/72GB/tmp/src/dosbox-x/src/hardware/serialport'
Makefile:748: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/media/72GB/tmp/src/dosbox-x/src/hardware'
Makefile:521: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/media/72GB/tmp/src/dosbox-x/src'
Makefile:399: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/media/72GB/tmp/src/dosbox-x'
Makefile:332: recipe for target 'all' failed
make: *** [all] Error 2
I will repeat it a third time.
Update the system first. This mainly applies to the (toolchain) gcc, gcc-g++ (will be version 5.5.0) and glibc.
I will repeat it a third time.
Update the system first. This mainly applies to the (toolchain) gcc, gcc-g++ (will be version 5.5.0) and glibc.
i already try, let me check again and try update again before i try with
slpkg -c slack --upgrade
but something does not work i happen XD because on list show me :
These packages need upgrading:
+============================================================================== | Package New Version Arch Build Repos Size +============================================================================== Upgrading: cyrus-sasl 2.1.28 x86_64 1 Slack 948 K dbus-1.10.8 1.10.8 x86_64 2 Slack 476 K expat-2.4.1 2.4.3 x86_64 5 Slack 124 K flac-1.3.1 1.3.4 x86_64 1 Slack 376 K gcc-5.5.0_multilib 5.5.0 x86_64 1 Slack 17804 K gcc-g++-5.5.0_multilib 5.5.0 x86_64 1 Slack 7688 K gcc-gfortran-5.5.0_multilib 5.5.0 x86_64 1 Slack 6364 K gcc-gnat-5.5.0_multilib 5.5.0 x86_64 1 Slack 13792 K gcc-go-5.5.0_multilib 5.5.0 x86_64 1 Slack 13296 K gcc-java-5.5.0_multilib 5.5.0 x86_64 1 Slack 26628 K gcc-objc-5.5.0_multilib 5.5.0 x86_64 1 Slack 5624 K gegl-0.2.0 0.2.0 x86_64 4 Slack 460 K glibc-2.23_multilib 2.23 x86_64 4 Slack 5428 K glibc-i18n-2.23_multilib 2.23 x86_64 4 Slack 7356 K glibc-profile-2.23_multilib 2.23 x86_64 4 Slack 1376 K glibc-solibs-2.23_multilib 2.23 x86_64 4 Slack 2620 K gnutls-3.4.13 3.6.16 x86_64 1 Slack 2696 K intltool 0.51.0 x86_64 3 Slack 48 K libXrender-0.9.9 0.9.10 x86_64 1 Slack 36 K libtool 2.4.6 x86_64 5 Slack 428 K libxml2-2.9.12 2.9.13 x86_64 1 Slack 1188 K libxslt 1.1.35 x86_64 1 Slack 388 K nasm-2.14.02 2.13.01 x86_64 1 Slack 376 K openexr-2.2.0 2.2.0 x86_64 2 Slack 2932 K p11-kit-0.23.2 0.23.22 x86_64 1 Slack 436 K pkg-config 0.29.2 x86_64 1 Slack 56 K polkit-0.113 0.113 x86_64 4 Slack 372 K procps-ng 3.3.15 x86_64 1 Slack 504 K sdl-1.2.15 1.2.15 x86_64 5 Slack 628 K wpa_supplicant-2.9 2.9 x86_64 2 Slack 1076 K
Installing summary
Total 24 packages will be upgraded and 6 will be installed. Need to get 118.68 Mb of archives. After this process, 638.78 Mb of additional disk space will be used.
Would you like to continue [y/N]? y
i prefer use slpkg in the mayority of case becase can solve dependencies, meanwhile the official package manager slackpkg can not do it.
su
slackpkg upgrade gcc gcc-g++
well i must wait the upgrade, when that happen i just try again
LC_ALL=C make all
on dosbox-x src folder
After all, I mentioned glibc
as well.
If you have these packages installed glibc-i18n
, glibc-profile
, glibc-solibs
so do they.
Before you start recompiling, of course, undo all changes you have made to the misc_util.h
and directserial.cpp
file.
After all, I mentioned
glibc
as well. If you have these packages installedglibc-i18n
,glibc-profile
,glibc-solibs
so do they.Before you start recompiling, of course, undo all changes you have made to the
misc_util.h
anddirectserial.cpp
file.
right now i am thinking ask about that is i must revert that change or not XD. well thanks
Ok i try make and fail again, i try from the begining again, right now i am stuck on downloading from github max speed right now of download is «3,00 KiB/s».
This just is because the « ./cleanup » script no clean at all, because i try compile again after of this, and gave me the same errors. because of that i am downloading again, but the Venezuelan internet connetion speed is really slowpoke.
Well when this finish i try again the part :
cd /media/72GB/tmp/src
PREFIJO="/media/Compartido/Videojuegos/Linux/Emulador/dosbox-x_git/sdl1"
mkdir -p "$PREFIJO"
rm -rf dosbox-x
git clone --recurse-submodules https://github.com/joncampbell123/dosbox-x
cd dosbox-x/
git submodule update --init --recursive
git submodule update --recursive
git pull --recurse-submodules
Already Update
./cleanup
curl -o src/hardware/RetroWaveLib/Platform/gpio.h -JL "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/plain/include/uapi/linux/gpio.h?h=linux-4.9.y"
sed -i 's|_UAPI_GPIO_H_|_GPIO_H_|g' src/hardware/RetroWaveLib/Platform/gpio.h
sed -i 's|#include <linux/gpio.h>|#include "gpio.h"|' src/hardware/RetroWaveLib/Platform/Linux_SPI.h
sed -i '/math.h>/ a #include <cmath>' src/dos/dos_programs.cpp
cd vs/sdlnet
./build-dosbox.sh
cd ../..
cd vs/sdl
./build-dosbox.sh
cd ../..
./autogen.sh
./configure --enable-core-inline --enable-debug=heavy --disable-avcodec --enable-sdl --prefix="$PREFIJO"
LC_ALL=C make all
LC_ALL=C make all output :
make[3]: Entering directory '/media/72GB/tmp/src/dosbox-x/src/hardware'
Making all in serialport
make[4]: Entering directory '/media/72GB/tmp/src/dosbox-x/src/hardware/serialport'
depbase=`echo directserial.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -Wno-int-to-void-pointer-cast -Wno-address-of-packed-member -Wno-format-zero-length -Wno-missing-field-initializers -Wno-strict-aliasing -Wno-implicit-fallthrough -Wno-deprecated-declarations -Wconversion-null -Wsign-promo -Wlogical-op -pedantic -Wunused -Wextra -Wall -I/media/72GB/tmp/src/dosbox-x/vs/sdl/linux-host/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/media/72GB/tmp/src/dosbox-x -I/media/72GB/tmp/src/dosbox-x/vs/sdlnet/linux-host/include -I/media/72GB/tmp/src/dosbox-x/vs/sdlnet/linux-host/include/SDL -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -std=gnu++14 -O2 -msse -Wall -Wextra -Wunused -pedantic -Wlogical-op -Wsign-promo -Wconversion-null -Wno-deprecated-declarations -Wno-implicit-fallthrough -Wno-strict-aliasing -Wno-missing-field-initializers -Wno-format-zero-length -Wno-address-of-packed-member -Wno-int-to-void-pointer-cast -I/media/72GB/tmp/src/dosbox-x -I/media/72GB/tmp/src/dosbox-x/vs/sdlnet/linux-host/include -I/media/72GB/tmp/src/dosbox-x/vs/sdlnet/linux-host/include/SDL -D_XOPEN_SOURCE=700 -D_POSIX_C_SOURCE=200809L -MT directserial.o -MD -MP -MF $depbase.Tpo -c -o directserial.o directserial.cpp &&\
mv -f $depbase.Tpo $depbase.Po
In file included from directserial.cpp:27:0:
misc_util.h:175:40: error: converting to 'std::queue<unsigned char>' from initializer list would use explicit constructor 'std::queue<_Tp, _Sequence>::queue(_Sequence&&) [with _Tp = unsigned char; _Sequence = std::deque<unsigned char, std::allocator<unsigned char> >]'
std::queue<uint8_t> receiveBuffer = {};
^
cc1plus: warning: unrecognized command line option '-Wno-int-to-void-pointer-cast'
cc1plus: warning: unrecognized command line option '-Wno-address-of-packed-member'
cc1plus: warning: unrecognized command line option '-Wno-implicit-fallthrough'
cc1plus: warning: unrecognized command line option '-Wno-implicit-fallthrough'
cc1plus: warning: unrecognized command line option '-Wno-address-of-packed-member'
cc1plus: warning: unrecognized command line option '-Wno-int-to-void-pointer-cast'
Makefile:368: recipe for target 'directserial.o' failed
make[4]: *** [directserial.o] Error 1
make[4]: Leaving directory '/media/72GB/tmp/src/dosbox-x/src/hardware/serialport'
Makefile:748: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/media/72GB/tmp/src/dosbox-x/src/hardware'
Makefile:521: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/media/72GB/tmp/src/dosbox-x/src'
Makefile:399: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/media/72GB/tmp/src/dosbox-x'
Makefile:332: recipe for target 'all' failed
make: *** [all] Error 2
I checked for three days but without sdlnet. For this, the compilation was successful.
A small fix is needed for this g++ 5.5.0 to compile this code correctly. https://stackoverflow.com/questions/26947704/implicit-conversion-failure-from-initializer-list This pull request is responsible for these changes. support enet UDP for serial modems
First build without sdlnet support.
You need to add these two more commands to these preliminary steps.
sed -i 's|std::queue<uint8_t> receiveBuffer = {};|std::queue<uint8_t> receiveBuffer;|' src/hardware/serialport/misc_util.h
sed -i 's|#if !defined(__MINGW64_VERSION_MAJOR)|#if defined(__MINGW64_VERSION_MAJOR)|' include/enet.h
The first fix is the one suggested by @maron2000.
The second one is not sure if it is completely correct, but it ensures correct compilation. There is some mismatch in the enet.h
header file included with dosbox-x compared to:
https://github.com/zpl-c/enet/blob/master/include/enet.h#L5142
https://github.com/dosbox-staging/dosbox-staging/blob/main/src/libs/enet/include/enet.h#L5145
Your system is heavily outdated. Compared to the development of dosbox-x, it is roughly there on the timeline. https://github.com/joncampbell123/dosbox-x/releases?page=12
Download a dosbox-x from 2016. See how it differs from version 0.83.23.
So for my curiosity, I installed a Slackware 14.2 x64 on VMware.
I added std=c++14
option which seems to successfully build sdlnet.
The following are the steps.
Step1 Clean install slackware Step2 Update all packages
sudo slackpkg update
sudo slackpkg install-new
sudo slackpkg upgrade-all
sudo slackpkg clean-system
Step 3. fix line 150 of dosbox-x/vs/sdlnet/configure.ac
CXXFLAGS="$CXXFLAGS $CFLAGS -std=c++14"
Step 4. fix line 160 of dosbox-x/configure.ac (may not be required)
CXXFLAGS="$CXXFLAGS -std=c++14"; #<-- from gnu++14 to c++14
Step 5. Follow @grapeli 's steps.
git clone --depth 1 https://github.com/joncampbell123/dosbox-x
cd dosbox-x
curl -o src/hardware/RetroWaveLib/Platform/gpio.h -JL "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/plain/include/uapi/linux/gpio.h?h=linux-4.9.y"
sed -i 's|_UAPI_GPIO_H_|_GPIO_H_|g' src/hardware/RetroWaveLib/Platform/gpio.h
sed -i 's|#include <linux/gpio.h>|#include "gpio.h"|' src/hardware/RetroWaveLib/Platform/Linux_SPI.h
sed -i '/math.h>/ a #include <cmath>' src/dos/dos_programs.cpp
sed -i 's|std::queue<uint8_t> receiveBuffer = {};|std::queue<uint8_t> receiveBuffer;|' src/hardware/serialport/misc_util.h
sed -i 's|#if !defined(__MINGW64_VERSION_MAJOR)|#if defined(__MINGW64_VERSION_MAJOR)|' include/enet.h
./autogen.sh
cd vs/sdlnet && ./build-dosbox.sh && cd ../sdl && ./build-dosbox.sh && cd ../..
./configure --enable-core-inline --enable-debug=heavy --disable-avcodec --enable-sdl --prefix=/usr
LC_ALL=C make
Thank you very much to yours : maron200, grapeli
Finally i can build it, but i just skip this step
Step 3. fix line 150 of dosbox-x/vs/sdlnet/configure.ac
CXXFLAGS="$CXXFLAGS $CFLAGS -std=c++14"
Step 4. fix line 160 of dosbox-x/configure.ac (may not be required)
CXXFLAGS="$CXXFLAGS -std=c++14"; #<-- from gnu++14 to c++14
i use this commands on the same latest src dosbox-x folder i share the latest time
sed -i 's|std::queue<uint8_t> receiveBuffer = {};|std::queue<uint8_t> receiveBuffer;|' src/hardware/serialport/misc_util.h
sed -i 's|#if !defined(__MINGW64_VERSION_MAJOR)|#if defined(__MINGW64_VERSION_MAJOR)|' include/enet.h
LC_ALL=C make
make install
and finally the binary executable was created, here the screenshoot :
Finally Resuming all, use The following are the steps.
Step 1 : Install, Modify "mirrors" file (slackpkg or slpkg), and finally update the system
su
slackpkg update
slackpkg install-new
slackpkg upgrade-all
slackpkg clean-system
exit
Step 2. Download the source code and enter in the DOSBox-X Source Code Folder
git clone --recurse-submodules https://github.com/joncampbell123/dosbox-x
cd dosbox-x/
git submodule update --init --recursive
git submodule update --recursive
git pull --recurse-submodules
Step 3. Apply the Fixes :
curl -o src/hardware/RetroWaveLib/Platform/gpio.h -JL "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/plain/include/uapi/linux/gpio.h?h=linux-4.9.y"
sed -i 's|_UAPI_GPIO_H_|_GPIO_H_|g' src/hardware/RetroWaveLib/Platform/gpio.h
sed -i 's|#include <linux/gpio.h>|#include "gpio.h"|' src/hardware/RetroWaveLib/Platform/Linux_SPI.h
sed -i '/math.h>/ a #include <cmath>' src/dos/dos_programs.cpp
sed -i 's|std::queue<uint8_t> receiveBuffer = {};|std::queue<uint8_t> receiveBuffer;|' src/hardware/serialport/misc_util.h
sed -i 's|#if !defined(__MINGW64_VERSION_MAJOR)|#if defined(__MINGW64_VERSION_MAJOR)|' include/enet.h
Step 4. Set the prefix path, Compile internal version from dosbox-x src, sdlnet, and sdl1, and finally compile the dosbox-x source code
cd vs/sdlnet ; ./build-dosbox.sh ; cd ../..
cd vs/sdl ; ./build-dosbox.sh ; cd ../..
./autogen.sh
PREFIX="/usr"
./configure --enable-core-inline --enable-debug=heavy --disable-avcodec --enable-sdl --prefix="$PREFIX"
LC_ALL=C make all
su -c "make install" root
cd "$PREFIX/bin"
./dosbox-x
and you should see something like this window (Set the output to OpenGL is the internal scale of text is not fit to window)
Hi there again. i am trying compile the latest source code under Slackware(64) 14.2
i had do the follow, open a terminal and use the follow commands :
Inside i add the line
#include <cmath>
save changes and close file, and go back to the terminal
make all output
What i should do for the dosbox-x create the binary executable ?