Closed DiGGeR2 closed 9 years ago
I'm unable to replicate this. emscripten_force_exit()
is a documented Emscripten function which ought to exist. Maybe you are using an old version of Emscripten? Maybe you have an old version from your Linux distribution (eg. installed via apt-get) and you're running that instead of the new version built by the Emscripten SDK? What is the output of emcc -v
?
Hello, thanks for your response. Here is the error and the return of emcc -v
make[4]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox/src » /usr/share/emscripten/em++ -DHAVE_CONFIG_H -I. -I.. -I../include -O3 -MT dosbox.o -MD -MP -MF .deps/dosbox.Tpo -c -o dosbox.o dosbox.cpp dosbox.cpp:398:3: error: use of undeclared identifier 'emscripten_force_exit' emscripten_force_exit(em_exitarg); ^ 1 error generated. ERROR root: compiler frontend failed to generate LLVM bitcode, halting make[4]: * [dosbox.o] Erreur 1 make[4]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox/src » make[3]: * [all-recursive] Erreur 1 make[3]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox/src » make[2]: * [all] Erreur 2 make[2]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox/src » make[1]: * [all-recursive] Erreur 1 make[1]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox » make: *\ [all] Erreur 2 root@fred-HP-Compaq-nx7400-RH390ET-UUZ:~/Téléchargements/em-dosbox# emcc -v emcc (Emscripten GCC-like replacement + linker emulating GNU ld ) 1.10.0 clang version 3.6.0 (https://github.com/kripken/emscripten-fastcomp-clang/ 1e87fd50b108143298407eb4b9a802cea4662937) (https://github.com/kripken/emscripten-fastcomp/ cb8b737f3d49e9edd214d5214db6ace92b5e68ea) Target: i386-pc-linux-gnu Thread model: posix Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.8 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.8.2 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.1 Selected GCC installation: /usr/lib/gcc/i686-linux-gnu/4.8 Candidate multilib: .;@m32 Selected multilib: .;@m32 root@fred-HP-Compaq-nx7400-RH390ET-UUZ:~/Téléchargements/em-dosbox#
root@fred-HP-Compaq-nx7400-RH390ET-UUZ:~/Téléchargements/em-dosbox# emcc -v emcc (Emscripten GCC-like replacement + linker emulating GNU ld ) 1.10.0
This clearly shows that you are using an old version, Emscripten 1.10.0. The current stable version in the master branch is 1.31.0. Assuming you followed the instructions at https://gist.github.com/gogromat/98a748bc8f447480b005 you should have the current version built somewhere, but you're not running that version.
Did you set the path via source ./emsdk_env.sh
? Otherwise you won't be running what you installed via emsdk.
I recommend removing the old 1.10.0 Emscripten version. For example in Ubuntu sudo apt-get remove emscripten
. Emscripten is under active development and it's best to use a recent version.
Hello, thanks for your response. After removing emscriptem package now emcc -v return 1.31.0 version.
But when I try to make em-dosbox I get
ams.o dos_tables.o drives.o drive_virtual.o drive_local.o drive_cache.o drive_fat.o drive_iso.o dos_mscdex.o dos_keyboard_layout.o cdrom.o cdrom_ioctl_win32.o cdrom_aspi_win32.o cdrom_ioctl_linux.o cdrom_image.o cdrom_ioctl_os2.o
/home/fred/Téléchargements/emsdk_portable/emscripten/master/emranlib libdos.a
make[4]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/dos »
Making all in fpu
make[4]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/fpu »
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT fpu.o -MD -MP -MF .deps/fpu.Tpo -c -o fpu.o fpu.cpp
mv -f .deps/fpu.Tpo .deps/fpu.Po
rm -f libfpu.a
ar cru libfpu.a fpu.o
/home/fred/Téléchargements/emsdk_portable/emscripten/master/emranlib libfpu.a
make[4]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/fpu »
Making all in gui
make[4]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/gui »
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT sdlmain.o -MD -MP -MF .deps/sdlmain.Tpo -c -o sdlmain.o sdlmain.cpp
sdlmain.cpp:2157:16: warning: implicit conversion from 'SDL_EventType' to 'Bit8u' (aka 'unsigned char') changes value
from 769 to 1 [-Wconstant-conversion]
sdl.laltstate=SDL_KEYUP;
~^~~~~
sdlmain.cpp:2158:16: warning: implicit conversion from 'SDL_EventType' to 'Bit8u' (aka 'unsigned char') changes value
from 769 to 1 [-Wconstant-conversion]
sdl.raltstate=SDL_KEYUP;
~^~~~~
sdlmain.cpp:2845:18: warning: implicit conversion from 'SDL_EventType' to 'Bit8u' (aka 'unsigned char') changes value
from 769 to 1 [-Wconstant-conversion]
sdl.laltstate = SDL_KEYUP;
~ ^~~~~
sdlmain.cpp:2846:18: warning: implicit conversion from 'SDL_EventType' to 'Bit8u' (aka 'unsigned char') changes value
from 769 to 1 [-Wconstant-conversion]
sdl.raltstate = SDL_KEYUP;
~ ^~~~~
4 warnings generated.
mv -f .deps/sdlmain.Tpo .deps/sdlmain.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT sdl_mapper.o -MD -MP -MF .deps/sdl_mapper.Tpo -c -o sdl_mapper.o sdl_mapper.cpp
sdl_mapper.cpp:35:9: warning: 'SDLK_SCROLLOCK' macro redefined [-Wmacro-redefined]
^
/home/fred/Téléchargements/emsdk_portable/emscripten/master/system/include/SDL/SDL_compat.h:241:9: note: previous definition is here
^
1 warning generated. mv -f .deps/sdl_mapper.Tpo .deps/sdl_mapper.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT render.o -MD -MP -MF .deps/render.Tpo -c -o render.o render.cpp mv -f .deps/render.Tpo .deps/render.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT render_scalers.o -MD -MP -MF .deps/render_scalers.Tpo -c -o render_scalers.o render_scalers.cpp mv -f .deps/render_scalers.Tpo .deps/render_scalers.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT midi.o -MD -MP -MF .deps/midi.Tpo -c -o midi.o midi.cpp mv -f .deps/midi.Tpo .deps/midi.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT sdl_gui.o -MD -MP -MF .deps/sdl_gui.Tpo -c -o sdl_gui.o sdl_gui.cpp mv -f .deps/sdl_gui.Tpo .deps/sdl_gui.Po rm -f libgui.a ar cru libgui.a sdlmain.o sdl_mapper.o render.o render_scalers.o midi.o sdl_gui.o /home/fred/Téléchargements/emsdk_portable/emscripten/master/emranlib libgui.a make[4]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/gui » Making all in hardware make[4]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/hardware » Making all in serialport make[5]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/hardware/serialport » /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -O3 -MT directserial.o -MD -MP -MF .deps/directserial.Tpo -c -o directserial.o directserial.cpp mv -f .deps/directserial.Tpo .deps/directserial.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -O3 -MT libserial.o -MD -MP -MF .deps/libserial.Tpo -c -o libserial.o libserial.cpp mv -f .deps/libserial.Tpo .deps/libserial.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -O3 -MT serialdummy.o -MD -MP -MF .deps/serialdummy.Tpo -c -o serialdummy.o serialdummy.cpp mv -f .deps/serialdummy.Tpo .deps/serialdummy.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -O3 -MT serialport.o -MD -MP -MF .deps/serialport.Tpo -c -o serialport.o serialport.cpp mv -f .deps/serialport.Tpo .deps/serialport.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -O3 -MT softmodem.o -MD -MP -MF .deps/softmodem.Tpo -c -o softmodem.o softmodem.cpp mv -f .deps/softmodem.Tpo .deps/softmodem.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -O3 -MT misc_util.o -MD -MP -MF .deps/misc_util.Tpo -c -o misc_util.o misc_util.cpp mv -f .deps/misc_util.Tpo .deps/misc_util.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -O3 -MT nullmodem.o -MD -MP -MF .deps/nullmodem.Tpo -c -o nullmodem.o nullmodem.cpp mv -f .deps/nullmodem.Tpo .deps/nullmodem.Po rm -f libserial.a ar cru libserial.a directserial.o libserial.o serialdummy.o serialport.o softmodem.o misc_util.o nullmodem.o /home/fred/Téléchargements/emsdk_portable/emscripten/master/emranlib libserial.a make[5]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/hardware/serialport » make[5]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/hardware » /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT adlib.o -MD -MP -MF .deps/adlib.Tpo -c -o adlib.o adlib.cpp adlib.cpp:656:11: warning: enumeration values 'OPL_none' and 'OPL_cms' not handled in switch [-Wswitch] switch ( oplmode ) { ^ 1 warning generated. mv -f .deps/adlib.Tpo .deps/adlib.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT dma.o -MD -MP -MF .deps/dma.Tpo -c -o dma.o dma.cpp mv -f .deps/dma.Tpo .deps/dma.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT gameblaster.o -MD -MP -MF .deps/gameblaster.Tpo -c -o gameblaster.o gameblaster.cpp mv -f .deps/gameblaster.Tpo .deps/gameblaster.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT hardware.o -MD -MP -MF .deps/hardware.Tpo -c -o hardware.o hardware.cpp mv -f .deps/hardware.Tpo .deps/hardware.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT iohandler.o -MD -MP -MF .deps/iohandler.Tpo -c -o iohandler.o iohandler.cpp mv -f .deps/iohandler.Tpo .deps/iohandler.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT joystick.o -MD -MP -MF .deps/joystick.Tpo -c -o joystick.o joystick.cpp mv -f .deps/joystick.Tpo .deps/joystick.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT keyboard.o -MD -MP -MF .deps/keyboard.Tpo -c -o keyboard.o keyboard.cpp mv -f .deps/keyboard.Tpo .deps/keyboard.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT memory.o -MD -MP -MF .deps/memory.Tpo -c -o memory.o memory.cpp mv -f .deps/memory.Tpo .deps/memory.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT mixer.o -MD -MP -MF .deps/mixer.Tpo -c -o mixer.o mixer.cpp mv -f .deps/mixer.Tpo .deps/mixer.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT pcspeaker.o -MD -MP -MF .deps/pcspeaker.Tpo -c -o pcspeaker.o pcspeaker.cpp mv -f .deps/pcspeaker.Tpo .deps/pcspeaker.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT pci_bus.o -MD -MP -MF .deps/pci_bus.Tpo -c -o pci_bus.o pci_bus.cpp mv -f .deps/pci_bus.Tpo .deps/pci_bus.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT pic.o -MD -MP -MF .deps/pic.Tpo -c -o pic.o pic.cpp mv -f .deps/pic.Tpo .deps/pic.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT sblaster.o -MD -MP -MF .deps/sblaster.Tpo -c -o sblaster.o sblaster.cpp mv -f .deps/sblaster.Tpo .deps/sblaster.Po /home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT tandy_sound.o -MD -MP -MF .deps/tandy_sound.Tpo -c -o tandy_sound.o tandy_sound.cpp tandy_sound.cpp:408:45: warning: '&' within '|' [-Wbitwise-op-parentheses] tandy.dac.frequency = tandy.dac.frequency & 0xf00 | (Bit8u)(data&0xff);
tandy_sound.cpp:408:45: note: place parentheses around the '&' expression to silence this warning
tandy.dac.frequency = tandy.dac.frequency & 0xf00 | (Bit8u)(data&0xff);
^
( )
tandy_sound.cpp:421:45: warning: '&' within '|' [-Wbitwise-op-parentheses]
tandy.dac.frequency = tandy.dac.frequency & 0x00ff | (((Bit8u)(data&0xf))<<8);
~~~~~~~~~~~~~~~~~~~~^~~~~~~~ ~
tandy_sound.cpp:421:45: note: place parentheses around the '&' expression to silence this warning
tandy.dac.frequency = tandy.dac.frequency & 0x00ff | (((Bit8u)(data&0xf))<<8);
^
( )
2 warnings generated.
mv -f .deps/tandy_sound.Tpo .deps/tandy_sound.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT timer.o -MD -MP -MF .deps/timer.Tpo -c -o timer.o timer.cpp
mv -f .deps/timer.Tpo .deps/timer.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT vga.o -MD -MP -MF .deps/vga.Tpo -c -o vga.o vga.cpp
mv -f .deps/vga.Tpo .deps/vga.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT vga_attr.o -MD -MP -MF .deps/vga_attr.Tpo -c -o vga_attr.o vga_attr.cpp
mv -f .deps/vga_attr.Tpo .deps/vga_attr.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT vga_crtc.o -MD -MP -MF .deps/vga_crtc.Tpo -c -o vga_crtc.o vga_crtc.cpp
mv -f .deps/vga_crtc.Tpo .deps/vga_crtc.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT vga_dac.o -MD -MP -MF .deps/vga_dac.Tpo -c -o vga_dac.o vga_dac.cpp
mv -f .deps/vga_dac.Tpo .deps/vga_dac.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT vga_draw.o -MD -MP -MF .deps/vga_draw.Tpo -c -o vga_draw.o vga_draw.cpp
mv -f .deps/vga_draw.Tpo .deps/vga_draw.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT vga_gfx.o -MD -MP -MF .deps/vga_gfx.Tpo -c -o vga_gfx.o vga_gfx.cpp
mv -f .deps/vga_gfx.Tpo .deps/vga_gfx.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT vga_other.o -MD -MP -MF .deps/vga_other.Tpo -c -o vga_other.o vga_other.cpp
vga_other.cpp:359:9: warning: 14 enumeration values not handled in switch: 'M_CGA2', 'M_CGA4', 'M_EGA'... [-Wswitch]
switch(vga.mode) {
^
1 warning generated.
mv -f .deps/vga_other.Tpo .deps/vga_other.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT vga_memory.o -MD -MP -MF .deps/vga_memory.Tpo -c -o vga_memory.o vga_memory.cpp
mv -f .deps/vga_memory.Tpo .deps/vga_memory.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT vga_misc.o -MD -MP -MF .deps/vga_misc.Tpo -c -o vga_misc.o vga_misc.cpp
mv -f .deps/vga_misc.Tpo .deps/vga_misc.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT vga_seq.o -MD -MP -MF .deps/vga_seq.Tpo -c -o vga_seq.o vga_seq.cpp
mv -f .deps/vga_seq.Tpo .deps/vga_seq.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT vga_xga.o -MD -MP -MF .deps/vga_xga.Tpo -c -o vga_xga.o vga_xga.cpp
vga_xga.cpp:975:9: warning: 14 enumeration values not handled in switch: 'M_CGA2', 'M_CGA4', 'M_EGA'... [-Wswitch]
switch(XGA_COLOR_MODE) {
^
vga_xga.cpp:30:25: note: expanded from macro 'XGA_COLOR_MODE'
#define XGA_COLOR_MODE vga.s3.xga_color_mode
^
vga_xga.cpp:994:9: warning: 14 enumeration values not handled in switch: 'M_CGA2', 'M_CGA4', 'M_EGA'... [-Wswitch]
switch(XGA_COLOR_MODE) {
^
vga_xga.cpp:30:25: note: expanded from macro 'XGA_COLOR_MODE'
#define XGA_COLOR_MODE vga.s3.xga_color_mode
^
2 warnings generated.
mv -f .deps/vga_xga.Tpo .deps/vga_xga.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT vga_s3.o -MD -MP -MF .deps/vga_s3.Tpo -c -o vga_s3.o vga_s3.cpp
mv -f .deps/vga_s3.Tpo .deps/vga_s3.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT vga_tseng.o -MD -MP -MF .deps/vga_tseng.Tpo -c -o vga_tseng.o vga_tseng.cpp
mv -f .deps/vga_tseng.Tpo .deps/vga_tseng.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT vga_paradise.o -MD -MP -MF .deps/vga_paradise.Tpo -c -o vga_paradise.o vga_paradise.cpp
mv -f .deps/vga_paradise.Tpo .deps/vga_paradise.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT cmos.o -MD -MP -MF .deps/cmos.Tpo -c -o cmos.o cmos.cpp
mv -f .deps/cmos.Tpo .deps/cmos.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT disney.o -MD -MP -MF .deps/disney.Tpo -c -o disney.o disney.cpp
mv -f .deps/disney.Tpo .deps/disney.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT gus.o -MD -MP -MF .deps/gus.Tpo -c -o gus.o gus.cpp
mv -f .deps/gus.Tpo .deps/gus.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT mpu401.o -MD -MP -MF .deps/mpu401.Tpo -c -o mpu401.o mpu401.cpp
mv -f .deps/mpu401.Tpo .deps/mpu401.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT ipx.o -MD -MP -MF .deps/ipx.Tpo -c -o ipx.o ipx.cpp
mv -f .deps/ipx.Tpo .deps/ipx.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT ipxserver.o -MD -MP -MF .deps/ipxserver.Tpo -c -o ipxserver.o ipxserver.cpp
mv -f .deps/ipxserver.Tpo .deps/ipxserver.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT dbopl.o -MD -MP -MF .deps/dbopl.Tpo -c -o dbopl.o dbopl.cpp
dbopl.cpp:847:10: warning: no case matching constant switch condition '11'
switch( mode ) {
^~~~
dbopl.cpp:1034:38: note: in instantiation of function template specialization 'DBOPL::Channel::BlockTemplate<11>'
requested here
chan[6].synthHandler = &Channel::BlockTemplate< sm3Percussion >;
^
dbopl.cpp:937:11: warning: no case matching constant switch condition '11'
switch( mode ) {
^~~~
dbopl.cpp:847:10: warning: no case matching constant switch condition '10'
switch( mode ) {
^~~~
dbopl.cpp:1036:38: note: in instantiation of function template specialization 'DBOPL::Channel::BlockTemplate<10>'
requested here
chan[6].synthHandler = &Channel::BlockTemplate< sm2Percussion >;
^
dbopl.cpp:937:11: warning: no case matching constant switch condition '10'
switch( mode ) {
^~~~
4 warnings generated.
mv -f .deps/dbopl.Tpo .deps/dbopl.Po
rm -f libhardware.a
ar cru libhardware.a adlib.o dma.o gameblaster.o hardware.o iohandler.o joystick.o keyboard.o memory.o mixer.o pcspeaker.o pci_bus.o pic.o sblaster.o tandy_sound.o timer.o vga.o vga_attr.o vga_crtc.o vga_dac.o vga_draw.o vga_gfx.o vga_other.o vga_memory.o vga_misc.o vga_seq.o vga_xga.o vga_s3.o vga_tseng.o vga_paradise.o cmos.o disney.o gus.o mpu401.o ipx.o ipxserver.o dbopl.o
/home/fred/Téléchargements/emsdk_portable/emscripten/master/emranlib libhardware.a
make[5]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/hardware »
make[4]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/hardware »
Making all in libs
make[4]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/libs »
Making all in zmbv
make[5]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/libs/zmbv »
make[5]: Rien à faire pour « all ».
make[5]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/libs/zmbv »
Making all in gui_tk
make[5]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/libs/gui_tk »
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -O3 -MT gui_tk.o -MD -MP -MF .deps/gui_tk.Tpo -c -o gui_tk.o gui_tk.cpp
mv -f .deps/gui_tk.Tpo .deps/gui_tk.Po
rm -f libgui_tk.a
ar cru libgui_tk.a gui_tk.o
/home/fred/Téléchargements/emsdk_portable/emscripten/master/emranlib libgui_tk.a
make[5]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/libs/gui_tk »
make[5]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/libs »
make[5]: Rien à faire pour « all-am ».
make[5]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/libs »
make[4]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/libs »
Making all in ints
make[4]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/ints »
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT mouse.o -MD -MP -MF .deps/mouse.Tpo -c -o mouse.o mouse.cpp
mv -f .deps/mouse.Tpo .deps/mouse.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT xms.o -MD -MP -MF .deps/xms.Tpo -c -o xms.o xms.cpp
mv -f .deps/xms.Tpo .deps/xms.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT ems.o -MD -MP -MF .deps/ems.Tpo -c -o ems.o ems.cpp
mv -f .deps/ems.Tpo .deps/ems.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT int10.o -MD -MP -MF .deps/int10.Tpo -c -o int10.o int10.cpp
mv -f .deps/int10.Tpo .deps/int10.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT int10_char.o -MD -MP -MF .deps/int10_char.Tpo -c -o int10_char.o int10_char.cpp
int10_char.cpp:532:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((CurMode->mode == 0x6)/\* || (CurMode->mode==0x11)_/) attr = (attr&0x80)|1;
~~~~~~~~~~~~~~^~~~~~
int10_char.cpp:532:21: note: remove extraneous parentheses around the comparison to silence this warning
if ((CurMode->mode == 0x6)/_ || (CurMode->mode==0x11)_/) attr = (attr&0x80)|1;
~ ^ ~
int10_char.cpp:532:21: note: use '=' to turn this equality comparison into an assignment
if ((CurMode->mode == 0x6)/_ || (CurMode->mode==0x11)_/) attr = (attr&0x80)|1;
^~
=
int10_char.cpp:562:11: warning: enumeration values 'MCH_HERC' and 'MCH_TANDY' not handled in switch [-Wswitch]
switch (machine) {
^
2 warnings generated.
mv -f .deps/int10_char.Tpo .deps/int10_char.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT int10_memory.o -MD -MP -MF .deps/int10_memory.Tpo -c -o int10_memory.o int10_memory.cpp
mv -f .deps/int10_memory.Tpo .deps/int10_memory.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT int10_misc.o -MD -MP -MF .deps/int10_misc.Tpo -c -o int10_misc.o int10_misc.cpp
mv -f .deps/int10_misc.Tpo .deps/int10_misc.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT int10_modes.o -MD -MP -MF .deps/int10_modes.Tpo -c -o int10_modes.o int10_modes.cpp
int10_modes.cpp:387:11: warning: 7 enumeration values not handled in switch: 'M_HERC_GFX', 'M_HERC_TEXT', 'M_CGA16'...
[-Wswitch]
switch (CurMode->type) {
^
int10_modes.cpp:455:10: warning: enumeration values 'MCH_EGA' and 'MCH_VGA' not handled in switch [-Wswitch]
switch (machine) {
^
int10_modes.cpp:498:9: warning: 14 enumeration values not handled in switch: 'M_EGA', 'M_VGA', 'M_LIN4'... [-Wswitch]
switch(CurMode->type) {
^
int10_modes.cpp:532:10: warning: enumeration values 'MCH_EGA' and 'MCH_VGA' not handled in switch [-Wswitch]
switch (machine) {
^
int10_modes.cpp:745:10: warning: 8 enumeration values not handled in switch: 'M_HERC_GFX', 'M_HERC_TEXT', 'M_CGA16'...
[-Wswitch]
switch (CurMode->type) {
^
int10_modes.cpp:900:10: warning: 10 enumeration values not handled in switch: 'M_EGA', 'M_LIN4', 'M_HERC_GFX'...
[-Wswitch]
switch (CurMode->type) {
^
int10_modes.cpp:969:10: warning: 8 enumeration values not handled in switch: 'M_HERC_GFX', 'M_HERC_TEXT', 'M_CGA16'...
[-Wswitch]
switch (CurMode->type) {
^
int10_modes.cpp:1042:10: warning: 8 enumeration values not handled in switch: 'M_HERC_GFX', 'M_HERC_TEXT', 'M_CGA16'...
[-Wswitch]
switch (CurMode->type) {
^
int10_modes.cpp:1082:10: warning: 7 enumeration values not handled in switch: 'M_HERC_GFX', 'M_HERC_TEXT', 'M_CGA16'...
[-Wswitch]
switch (CurMode->type) {
^
int10_modes.cpp:1183:11: warning: 7 enumeration values not handled in switch: 'M_HERC_GFX', 'M_HERC_TEXT', 'M_CGA16'...
[-Wswitch]
switch (CurMode->type) {
^
int10_modes.cpp:1267:10: warning: 11 enumeration values not handled in switch: 'M_LIN8', 'M_LIN15', 'M_LIN16'...
[-Wswitch]
switch (CurMode->type) {
^
int10_modes.cpp:1430:9: warning: 12 enumeration values not handled in switch: 'M_CGA2', 'M_CGA4', 'M_EGA'... [-Wswitch]
switch(vmodeBlock->type) {
^
12 warnings generated.
mv -f .deps/int10_modes.Tpo .deps/int10_modes.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT int10_vesa.o -MD -MP -MF .deps/int10_vesa.Tpo -c -o int10_vesa.o int10_vesa.cpp
int10_vesa.cpp:568:10: warning: 4 enumeration values not handled in switch: 'SVGA_None', 'SVGA_TsengET4K',
'SVGA_TsengET3K'... [-Wswitch]
switch (svgaCard) {
^
1 warning generated.
mv -f .deps/int10_vesa.Tpo .deps/int10_vesa.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT int10_pal.o -MD -MP -MF .deps/int10_pal.Tpo -c -o int10_pal.o int10_pal.cpp
int10_pal.cpp:37:10: warning: enumeration values 'MCH_HERC' and 'MCH_CGA' not handled in switch [-Wswitch]
switch (machine) {
^
int10_pal.cpp:91:10: warning: enumeration values 'MCH_HERC' and 'MCH_CGA' not handled in switch [-Wswitch]
switch (machine) {
^
int10_pal.cpp:107:10: warning: enumeration values 'MCH_HERC' and 'MCH_CGA' not handled in switch [-Wswitch]
switch (machine) {
^
int10_pal.cpp:312:10: warning: enumeration value 'MCH_HERC' not handled in switch [-Wswitch]
switch (machine) {
^
4 warnings generated.
mv -f .deps/int10_pal.Tpo .deps/int10_pal.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT int10_put_pixel.o -MD -MP -MF .deps/int10_put_pixel.Tpo -c -o int10_put_pixel.o int10_put_pixel.cpp
mv -f .deps/int10_put_pixel.Tpo .deps/int10_put_pixel.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT int10_video_state.o -MD -MP -MF .deps/int10_video_state.Tpo -c -o int10_video_state.o int10_video_state.cpp
mv -f .deps/int10_video_state.Tpo .deps/int10_video_state.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT int10_vptable.o -MD -MP -MF .deps/int10_vptable.Tpo -c -o int10_vptable.o int10_vptable.cpp
mv -f .deps/int10_vptable.Tpo .deps/int10_vptable.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT bios.o -MD -MP -MF .deps/bios.Tpo -c -o bios.o bios.cpp
mv -f .deps/bios.Tpo .deps/bios.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT bios_disk.o -MD -MP -MF .deps/bios_disk.Tpo -c -o bios_disk.o bios_disk.cpp
mv -f .deps/bios_disk.Tpo .deps/bios_disk.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT bios_keyboard.o -MD -MP -MF .deps/bios_keyboard.Tpo -c -o bios_keyboard.o bios_keyboard.cpp
mv -f .deps/bios_keyboard.Tpo .deps/bios_keyboard.Po
rm -f libints.a
ar cru libints.a mouse.o xms.o ems.o int10.o int10_char.o int10_memory.o int10_misc.o int10_modes.o int10_vesa.o int10_pal.o int10_put_pixel.o int10_video_state.o int10_vptable.o bios.o bios_disk.o bios_keyboard.o
/home/fred/Téléchargements/emsdk_portable/emscripten/master/emranlib libints.a
make[4]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/ints »
Making all in misc
make[4]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/misc »
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT cross.o -MD -MP -MF .deps/cross.Tpo -c -o cross.o cross.cpp
mv -f .deps/cross.Tpo .deps/cross.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT messages.o -MD -MP -MF .deps/messages.Tpo -c -o messages.o messages.cpp
messages.cpp:92:4: warning: expression result unused [-Wunused-value]
*parser++;
^~~~~~~~~
1 warning generated.
mv -f .deps/messages.Tpo .deps/messages.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT programs.o -MD -MP -MF .deps/programs.Tpo -c -o programs.o programs.cpp
mv -f .deps/programs.Tpo .deps/programs.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT setup.o -MD -MP -MF .deps/setup.Tpo -c -o setup.o setup.cpp
mv -f .deps/setup.Tpo .deps/setup.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT support.o -MD -MP -MF .deps/support.Tpo -c -o support.o support.cpp
support.cpp:189:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn]
}
^
1 warning generated.
mv -f .deps/support.Tpo .deps/support.Po
rm -f libmisc.a
ar cru libmisc.a cross.o messages.o programs.o setup.o support.o
/home/fred/Téléchargements/emsdk_portable/emscripten/master/emranlib libmisc.a
make[4]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/misc »
Making all in shell
make[4]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/shell »
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT shell.o -MD -MP -MF .deps/shell.Tpo -c -o shell.o shell.cpp
mv -f .deps/shell.Tpo .deps/shell.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT shell_batch.o -MD -MP -MF .deps/shell_batch.Tpo -c -o shell_batch.o shell_batch.cpp
mv -f .deps/shell_batch.Tpo .deps/shell_batch.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT shell_cmds.o -MD -MP -MF .deps/shell_cmds.Tpo -c -o shell_cmds.o shell_cmds.cpp
mv -f .deps/shell_cmds.Tpo .deps/shell_cmds.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -O3 -MT shell_misc.o -MD -MP -MF .deps/shell_misc.Tpo -c -o shell_misc.o shell_misc.cpp
mv -f .deps/shell_misc.Tpo .deps/shell_misc.Po
rm -f libshell.a
ar cru libshell.a shell.o shell_batch.o shell_cmds.o shell_misc.o
/home/fred/Téléchargements/emsdk_portable/emscripten/master/emranlib libshell.a
make[4]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/shell »
Making all in platform
make[4]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/platform »
Making all in visualc
make[5]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/platform/visualc »
make[5]: Rien à faire pour « all ».
make[5]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/platform/visualc »
make[5]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/platform »
make[5]: Rien à faire pour « all-am ».
make[5]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/platform »
make[4]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src/platform »
make[4]: entrant dans le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src »
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -DHAVE_CONFIG_H -I. -I.. -I../include -O3 -MT dosbox.o -MD -MP -MF .deps/dosbox.Tpo -c -o dosbox.o dosbox.cpp
mv -f .deps/dosbox.Tpo .deps/dosbox.Po
/home/fred/Téléchargements/emsdk_portable/emscripten/master/em++ -O3 -s TOTAL_MEMORY=134217728 -s ALLOW_MEMORY_GROWTH=0 --pre-js pre.js --memory-init-file 0 -o dosbox.html dosbox.o cpu/libcpu.a debug/libdebug.a dos/libdos.a fpu/libfpu.a hardware/libhardware.a gui/libgui.a ints/libints.a misc/libmisc.a shell/libshell.a hardware/serialport/libserial.a libs/gui_tk/libgui_tk.a
warning: unresolved symbol: SDL_WaitEvent
Traceback (most recent call last):
File "/home/fred/Téléchargements/emsdk_portable/emscripten/master/emscripten.py", line 1663, in <module>
_main(environ=os.environ)
File "/home/fred/Téléchargements/emsdk_portable/emscripten/master/emscripten.py", line 1652, in _main
temp_files.run_and_clean(lambda: main(
File "/home/fred/Téléchargements/emsdk_portable/emscripten/master/tools/tempfiles.py", line 39, in run_and_clean
return func()
File "/home/fred/Téléchargements/emsdk_portable/emscripten/master/emscripten.py", line 1659, in <lambda>
DEBUG_CACHE=DEBUG_CACHE,
File "/home/fred/Téléchargements/emsdk_portable/emscripten/master/emscripten.py", line 1551, in main
temp_files=temp_files, DEBUG=DEBUG, DEBUG_CACHE=DEBUG_CACHE)
File "/home/fred/Téléchargements/emsdk_portable/emscripten/master/emscripten.py", line 871, in emscript_fast
%s''' % (staticbump, global_initializers, mem_init)) # XXX wrong size calculation!
MemoryError
Traceback (most recent call last):
File "/home/fred/Téléchargements/emsdk_portable/emscripten/master/emcc", line 1317, in <module>
final = shared.Building.emscripten(final, append_ext=False, extra_args=extra_args)
File "/home/fred/Téléchargements/emsdk_portable/emscripten/master/tools/shared.py", line 1540, in emscripten
assert os.path.exists(filename + '.o.js'), 'Emscripten failed to generate .js'
AssertionError: Emscripten failed to generate .js
make[4]: *_\* [dosbox.html] Erreur 1
make[4]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src »
make[3]: **\* [all-recursive] Erreur 1
make[3]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src »
make[2]: **\* [all] Erreur 2
make[2]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox/src »
make[1]: **\* [all-recursive] Erreur 1
make[1]: quittant le répertoire « /home/fred/Téléchargements/em-dosbox2/em-dosbox »
make: **\* [all] Erreur 2
root@fred-HP-Compaq-nx7400-RH390ET-UUZ:~/Téléchargements/em-dosbox2/em-dosbox#
I think the MemoryError
above means that Emscripten ran out of memory during the final link. Try to free up more memory by quitting applications that are using a lot of memory.
Also try emcc --clean-cache
and make clean
to get rid of any files created by the old version of Emscripten. Maybe those are causing Emscripten to use excessive amounts of memory?
Hello, you are 100% right, my old laptop with 512 MB Ram is the problem. I try from scratch on another computer and now it works. It's time to play with em-dosbox :) Thanks for your support !!!
Hey i got continuously this error anyone have solution for this..
ERROR:root:compiler frontend failed to generate LLVM bitcode, halting mingw32-make: *** [obj/pgText.o] Error 1 mingw32-make: write error The terminal process terminated with exit code: 1
Terminal will be reused by tasks, press any key to close it.
System Details:
Hello, after using this tuto (https://gist.github.com/gogromat/98a748bc8f447480b005) for installing em-dosbox , I get an error when I try to make. The error is : dosbox.cpp:398:3: error: use of undeclared identifier 'emscripten_force_exit' emscripten_force_exit(em_exitarg); 1 error generated Could you help me please.