Menu

#32 Build fails on AMD 64

closed
nobody
None
5
2012-11-02
2005-02-07
Anonymous
No

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 functionreset_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 functionvideo_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 functionacquire_vt':
vc.c:160: error: invalid use of undefined type struct sigcontext_struct' vc.c:160: error: invalid use of undefined typestruct
sigcontext_struct'
vc.c:160: error: invalid use of undefined type struct sigcontext_struct' vc.c: At top level: vc.c:306: error: parametercontext' has incomplete type
vc.c: In function release_vt': vc.c:307: error: invalid use of undefined typestruct
sigcontext_struct'
vc.c:307: error: invalid use of undefined type struct sigcontext_struct' vc.c:307: error: invalid use of undefined typestruct
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 functionput_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 functionclear_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'

Discussion

  • Nobody/Anonymous

    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

     
  • Nobody/Anonymous

    Logged In: NO

    Also my email address is zinc@hazlorealidad.com if you need
    more information

     
  • Bart Oldeman

    Bart Oldeman - 2005-02-07

    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..

     
  • Nobody/Anonymous

    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.

     
  • Stas Sergeev

    Stas Sergeev - 2005-02-17

    Logged In: YES
    user_id=501371

    Maybe some VERY evil Linux kernel trick could
    switch the CPU to classic mode
    VMWare kernel module does that AFAIK, btw.

     
  • Bart Oldeman

    Bart Oldeman - 2005-07-24

    Logged In: YES
    user_id=176505

    Compilation (CVS) is fully functional now.

     

Log in to post a comment.