I downloaded dosemu-1.2.2
did a ./configure
a make
it failed with
cc -I/usr/X11R6/include -MP -MMD -I../../../src/include
-I../../../src/plugin/include -I/usr/include/slang -I.
-Wall -Wstrict-prototypes -Wmissing-declarations
-Wnested-externs -O2 -fomit-frame-pointer
-fno-strict-aliasing -mtune=x86_64 -pipe hdinfo.c -o
hdinfo
hdinfo.c:1: error: bad value (x86_64) for -mtune= switch
So I edited Makefile.conf to remove the mtune option
and did a make again
it failed with
gcc -c -I/usr/X11R6/include -MP -MMD
-I../../../src/include -I../../../src/plugin/include
-I/usr/include/slang -Wall -Wstrict-prototypes
-Wmissing-declarations-Wnested-externs -O2
-fomit-frame-pointer -fno-strict-aliasing -pipe -o
miscemu.omiscemu.c
In file included from ../../../src/include/emu.h:32,
from miscemu.c:69:
../../../src/include/cpu.h:25:22: sys/vm86.h: No such
file or directory
In file included from ../../../src/include/emu.h:32,
from miscemu.c:69:
../../../src/include/cpu.h:189: warning: "struct
revectored_struct" declared inside parameter list
../../../src/include/cpu.h:189: warning: its scope is
only this definition or declaration, which is probably
not what you want
../../../src/include/cpu.h: In function set_revectored':
../../../src/include/cpu.h:193: error: dereferencing
pointer to incomplete type
../../../src/include/cpu.h: At top level:
../../../src/include/cpu.h:196: warning: "struct
revectored_struct" declared inside parameter list
../../../src/include/cpu.h: In function
reset_revectored':
../../../src/include/cpu.h:200: error: dereferencing
pointer to incomplete type
In file included from ../../../src/include/emu.h:32,
from miscemu.c:69:
../../../src/include/cpu.h: At top level:
../../../src/include/cpu.h:319: warning: "struct
sigcontext_struct" declared inside parameter list
../../../src/include/cpu.h:319: warning: parameter has
incomplete type
../../../src/include/cpu.h:320: warning: "struct
sigcontext_struct" declared inside parameter list
../../../src/include/cpu.h:326: warning: "struct
sigcontext_struct" declared inside parameter list
In file included from miscemu.c:69:
../../../src/include/emu.h:429: warning: parameter has
incomplete type
../../../src/include/emu.h:431: warning: parameter has
incomplete type
make[2]: [miscemu.o] Error 1
make[2]: Leaving directory
`/home/andy/installer/windows/dosemu-1.2.2/src/env/video'
make[1]: [env/video] Error 2
in cpu.h and vm86plus.h I replaced the line with
vm86.h to
<asm-i386 vm86.h="">
the make failed again
gcc -c -I/usr/X11R6/include -MP -MMD
-I../../../src/include -I../../../src/plugin/include
-I/usr/include/slang -Wall -Wstrict-prototypes
-Wmissing-declarations-Wnested-externs -O2
-fomit-frame-pointer -fno-strict-aliasing -pipe -o
miscemu.o miscemu.c
In file included from ../../../src/include/emu.h:32,
from miscemu.c:69:
../../../src/include/cpu.h:320: warning: "struct
sigcontext_struct" declared inside parameter list
../../../src/include/cpu.h:320: warning: its scope is
only this definition or declaration, which is probably
not what you want
../../../src/include/cpu.h:320: warning: parameter has
incomplete type
../../../src/include/cpu.h:321: warning: "struct
sigcontext_struct" declared inside parameter list
../../../src/include/cpu.h:327: warning: "struct
sigcontext_struct" declared inside parameter list
In file included from miscemu.c:69:
../../../src/include/emu.h:429: warning: parameter has
incomplete type
../../../src/include/emu.h:431: warning: parameter has
incomplete type
gcc -c -I/usr/X11R6/include -MP -MMD
-I../../../src/include -I../../../src/plugin/include
-I/usr/include/slang -Wall -Wstrict-prototypes
-Wmissing-declarations-Wnested-externs -O2
-fomit-frame-pointer -fno-strict-aliasing -pipe -o
video.o video.c
In file included from ../../../src/include/emu.h:32,
from video.c:23:
../../../src/include/cpu.h:320: warning: "struct
sigcontext_struct" declared inside parameter list
../../../src/include/cpu.h:320: warning: its scope is
only this definition or declaration, which is probably
not what you want
../../../src/include/cpu.h:320: warning: parameter has
incomplete type
../../../src/include/cpu.h:321: warning: "struct
sigcontext_struct" declared inside parameter list
../../../src/include/cpu.h:327: warning: "struct
sigcontext_struct" declared inside parameter list
In file included from video.c:23:
../../../src/include/emu.h:429: warning: parameter has
incomplete type
../../../src/include/emu.h:431: warning: parameter has
incomplete type
video.c: In function scr_state_init':
video.c:149: warning: cast to pointer from integer of
different size
video.c: In function
video_config_init':
video.c:391: warning: cast to pointer from integer of
different size
gcc -c -I/usr/X11R6/include -MP -MMD
-I../../../src/include -I../../../src/plugin/include
-I/usr/include/slang -Wall -Wstrict-prototypes
-Wmissing-declarations-Wnested-externs -O2
-fomit-frame-pointer -fno-strict-aliasing -pipe -o
vc.o vc.c
In file included from ../../../src/include/emu.h:32,
from vc.c:51:
../../../src/include/cpu.h:320: warning: "struct
sigcontext_struct" declared inside parameter list
../../../src/include/cpu.h:320: warning: its scope is
only this definition or declaration, which is probably
not what you want
../../../src/include/cpu.h:320: warning: parameter has
incomplete type
../../../src/include/cpu.h:321: warning: "struct
sigcontext_struct" declared inside parameter list
../../../src/include/cpu.h:327: warning: "struct
sigcontext_struct" declared inside parameter list
In file included from vc.c:51:
../../../src/include/emu.h:429: warning: parameter has
incomplete type
../../../src/include/emu.h:431: warning: parameter has
incomplete type
vc.c:85: warning: parameter has incomplete type
vc.c:86: warning: parameter has incomplete type
vc.c:159: error: parameter context' has incomplete type
vc.c: In function
acquire_vt':
vc.c:160: error: invalid use of undefined type struct
sigcontext_struct'
vc.c:160: error: invalid use of undefined type
struct
sigcontext_struct'
vc.c:160: error: invalid use of undefined type struct
sigcontext_struct'
vc.c: At top level:
vc.c:306: error: parameter
context' has incomplete type
vc.c: In function release_vt':
vc.c:307: error: invalid use of undefined type
struct
sigcontext_struct'
vc.c:307: error: invalid use of undefined type struct
sigcontext_struct'
vc.c:307: error: invalid use of undefined type
struct
sigcontext_struct'
vc.c: In function get_video_ram':
vc.c:337: warning: cast to pointer from integer of
different size
vc.c:361: warning: cast to pointer from integer of
different size
vc.c:407: warning: cast to pointer from integer of
different size
vc.c:408: warning: cast to pointer from integer of
different size
vc.c:413: warning: cast to pointer from integer of
different size
vc.c:415: warning: cast to pointer from integer of
different size
vc.c:420: warning: cast from pointer to integer of
different size
vc.c:424: warning: cast to pointer from integer of
different size
vc.c:424: warning: cast to pointer from integer of
different size
vc.c:428: warning: cast to pointer from integer of
different size
vc.c:437: warning: cast to pointer from integer of
different size
vc.c: In function
put_video_ram':
vc.c:459: warning: cast to pointer from integer of
different size
vc.c: In function set_process_control':
vc.c:502: warning: cast from pointer to integer of
different size
vc.c: In function
clear_process_control':
vc.c:514: warning: cast from pointer to integer of
different size
make[2]: *** [vc.o] Error 1
make[2]: Leaving directory
`/home/andy/installer/windows/dosemu-1.2.2/src/env/video'
Logged In: NO
Forgot to say that its an AMD64 running Fedora Core3
uname -a
Linux hazlorealidad 2.6.9-1.667 #1 Tue Nov 2 14:50:10 EST
2004 x86_64 x86_64 x86_64 GNU/Linux
Thanks
Andy Bailey
Logged In: NO
Also my email address is zinc@hazlorealidad.com if you need
more information
Logged In: YES
user_id=176505
sys/vm86.h: No such file or directory
AMD64 does not support vm86 mode. Porting dosemu
to it would require significant effort using CPU emulation
This is more an RFE than a bug really..
Logged In: NO
Even if (known problem) you cannot run
DOSEMU on a 64bit operating system,
simply because vm86 is not available there,
it should still be possible to cross-COMPILE
DOSEMU on a 64bit platform. The confusing
point here is that a 64bit AMD or Intel PC
processor LOOKS like any other 386 or Pentium
for an operating system which does not use the
64bit features, but as soon as the OS itself
is running in 64bit mode, the backwards
compatibility / ability to open DOS boxes and
similar things is lost. You can ONLY run
protected mode tasks while the kernel runs in
64bit mode, but DOSEMU runs DOS in a "virtual
8086 real mode" task.
Maybe some VERY evil Linux kernel trick could
switch the CPU to classic mode while DOSEMU
is running, but the switch would be VERY slow
and all 64bit apps would have to wait until
the DOSEMU timeslice has elapsed and the slow
switch back to 64bit has completed...
To compare, it is trivial to run a DOSEMU
task for 0.01 seconds and switch back to
"normal" Linux tasks in no time even on a
486 processor, but there you have hardware
support for running protected mode and virtual
mode as sister tasks under the same kernel.
Logged In: YES
user_id=501371
Logged In: YES
user_id=176505
Compilation (CVS) is fully functional now.