[oi-dev] Wine 1.9.10 : compilation trial

Aurélien Larcher aurelien.larcher at gmail.com
Mon May 23 09:40:22 UTC 2016


Illumos changed inclusion of regset.h some months ago.
You need to include sys/regset.h


À lun. mai 23 04:25:12 2016 GMT+0200, bentahyr at chez.com a écrit :
> Hi
> I have a bit of free time today and thought I could give wine compilation a go.
> 
> configure stage is ok
> I need to add the -std=gnu99  to C(XX)FLAGS to pass first error then unfortunately it fails a lot later with the following error :
> 
> gmake[1]: Entering directory '/home/franck/tmp/wine-1.9.10/dlls/ntdll'
> gcc -c -o signal_i386.o signal_i386.c -I. -I../../include -D__WINESRC__ -D_NTSYSTEM_ -D_REENTRANT -fPIC \
>   -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers \
>   -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith \
>   -Wlogical-op -fno-omit-frame-pointer -std=gnu99
> In file included from signal_i386.c:60:0:
> signal_i386.c: In function 'init_handler':
> signal_i386.c:342:60: error: 'FS' undeclared (first use in this function)
>  #define FS_sig(context)      ((context)->uc_mcontext.gregs[FS])
>                                                             ^
> ../../include/windef.h:337:52: note: in definition of macro 'LOWORD'
>  #define LOWORD(l)              ((WORD)((DWORD_PTR)(l) & 0xFFFF))
>                                                     ^
> signal_i386.c:965:18: note: in expansion of macro 'FS_sig'
>      *fs = LOWORD(FS_sig(sigcontext));
>                   ^
> signal_i386.c:342:60: note: each undeclared identifier is reported only once for each function it appears in
>  #define FS_sig(context)      ((context)->uc_mcontext.gregs[FS])
>                                                             ^
> ../../include/windef.h:337:52: note: in definition of macro 'LOWORD'
>  #define LOWORD(l)              ((WORD)((DWORD_PTR)(l) & 0xFFFF))
>                                                     ^
> signal_i386.c:965:18: note: in expansion of macro 'FS_sig'
>      *fs = LOWORD(FS_sig(sigcontext));
>                   ^
> signal_i386.c:343:60: error: 'GS' undeclared (first use in this function)
>  #define GS_sig(context)      ((context)->uc_mcontext.gregs[GS])
>                                                             ^
> ../../include/windef.h:337:52: note: in definition of macro 'LOWORD'
>  #define LOWORD(l)              ((WORD)((DWORD_PTR)(l) & 0xFFFF))
>                                                     ^
> signal_i386.c:970:18: note: in expansion of macro 'GS_sig'
>      *gs = LOWORD(GS_sig(sigcontext));
>                   ^
> signal_i386.c:337:60: error: 'CS' undeclared (first use in this function)
>  #define CS_sig(context)      ((context)->uc_mcontext.gregs[CS])
>                                                             ^
> signal_i386.c:983:29: note: in expansion of macro 'CS_sig'
>      if (!wine_ldt_is_system(CS_sig(sigcontext)) ||
>                              ^
> signal_i386.c:340:60: error: 'SS' undeclared (first use in this function)
>  #define SS_sig(context)      ((context)->uc_mcontext.gregs[SS])
>                                                             ^
> signal_i386.c:984:29: note: in expansion of macro 'SS_sig'
>          !wine_ldt_is_system(SS_sig(sigcontext)))  /* 16-bit mode */
>                              ^
> signal_i386.c:353:60: error: 'ESP' undeclared (first use in this function)
>  #define ESP_sig(context)     ((context)->uc_mcontext.gregs[ESP])
>                                                             ^
> signal_i386.c:995:21: note: in expansion of macro 'ESP_sig'
>      return (void *)(ESP_sig(sigcontext) & ~3);
>                      ^
> signal_i386.c: In function 'save_context':
> signal_i386.c:329:60: error: 'EAX' undeclared (first use in this function)
>  #define EAX_sig(context)     ((context)->uc_mcontext.gregs[EAX])
>                                                             ^
> signal_i386.c:1108:29: note: in expansion of macro 'EAX_sig'
>      context->Eax          = EAX_sig(sigcontext);
>                              ^
> signal_i386.c:330:60: error: 'EBX' undeclared (first use in this function)
>  #define EBX_sig(context)     ((context)->uc_mcontext.gregs[EBX])
>                                                             ^
> signal_i386.c:1109:29: note: in expansion of macro 'EBX_sig'
>      context->Ebx          = EBX_sig(sigcontext);
>                              ^
> signal_i386.c:331:60: error: 'ECX' undeclared (first use in this function)
>  #define ECX_sig(context)     ((context)->uc_mcontext.gregs[ECX])
>                                                             ^
> signal_i386.c:1110:29: note: in expansion of macro 'ECX_sig'
>      context->Ecx          = ECX_sig(sigcontext);
>                              ^
> signal_i386.c:332:60: error: 'EDX' undeclared (first use in this function)
>  #define EDX_sig(context)     ((context)->uc_mcontext.gregs[EDX])
>                                                             ^
> signal_i386.c:1111:29: note: in expansion of macro 'EDX_sig'
>      context->Edx          = EDX_sig(sigcontext);
>                              ^
> signal_i386.c:333:60: error: 'ESI' undeclared (first use in this function)
>  #define ESI_sig(context)     ((context)->uc_mcontext.gregs[ESI])
>                                                             ^
> signal_i386.c:1112:29: note: in expansion of macro 'ESI_sig'
>      context->Esi          = ESI_sig(sigcontext);
>                              ^
> signal_i386.c:334:60: error: 'EDI' undeclared (first use in this function)
>  #define EDI_sig(context)     ((context)->uc_mcontext.gregs[EDI])
>                                                             ^
> signal_i386.c:1113:29: note: in expansion of macro 'EDI_sig'
>      context->Edi          = EDI_sig(sigcontext);
>                              ^
> signal_i386.c:335:60: error: 'EBP' undeclared (first use in this function)
>  #define EBP_sig(context)     ((context)->uc_mcontext.gregs[EBP])
>                                                             ^
> signal_i386.c:1114:29: note: in expansion of macro 'EBP_sig'
>      context->Ebp          = EBP_sig(sigcontext);
>                              ^
> signal_i386.c:345:60: error: 'EFL' undeclared (first use in this function)
>  #define EFL_sig(context)     ((context)->uc_mcontext.gregs[EFL])
>                                                             ^
> signal_i386.c:1115:29: note: in expansion of macro 'EFL_sig'
>      context->EFlags       = EFL_sig(sigcontext);
>                              ^
> signal_i386.c:347:60: error: 'EIP' undeclared (first use in this function)
>  #define EIP_sig(context)     ((context)->uc_mcontext.gregs[EIP])
>                                                             ^
> signal_i386.c:1116:29: note: in expansion of macro 'EIP_sig'
>      context->Eip          = EIP_sig(sigcontext);
>                              ^
> signal_i386.c:353:60: error: 'ESP' undeclared (first use in this function)
>  #define ESP_sig(context)     ((context)->uc_mcontext.gregs[ESP])
>                                                             ^
> signal_i386.c:1117:29: note: in expansion of macro 'ESP_sig'
>      context->Esp          = ESP_sig(sigcontext);
>                              ^
> In file included from signal_i386.c:60:0:
> signal_i386.c:337:60: error: 'CS' undeclared (first use in this function)
>  #define CS_sig(context)      ((context)->uc_mcontext.gregs[CS])
>                                                             ^
> signal_i386.c:1118:29: note: in expansion of macro 'LOWORD'
>      context->SegCs        = LOWORD(CS_sig(sigcontext));
>                              ^
> signal_i386.c:1118:36: note: in expansion of macro 'CS_sig'
>      context->SegCs        = LOWORD(CS_sig(sigcontext));
>                                     ^
> signal_i386.c:338:60: error: 'DS' undeclared (first use in this function)
>  #define DS_sig(context)      ((context)->uc_mcontext.gregs[DS])
>                                                             ^
> ../../include/windef.h:337:52: note: in definition of macro 'LOWORD'
>  #define LOWORD(l)              ((WORD)((DWORD_PTR)(l) & 0xFFFF))
>                                                     ^
> signal_i386.c:1119:36: note: in expansion of macro 'DS_sig'
>      context->SegDs        = LOWORD(DS_sig(sigcontext));
>                                     ^
> signal_i386.c:339:60: error: 'ES' undeclared (first use in this function)
>  #define ES_sig(context)      ((context)->uc_mcontext.gregs[ES])
>                                                             ^
> ../../include/windef.h:337:52: note: in definition of macro 'LOWORD'
>  #define LOWORD(l)              ((WORD)((DWORD_PTR)(l) & 0xFFFF))
>                                                     ^
> signal_i386.c:1120:36: note: in expansion of macro 'ES_sig'
>      context->SegEs        = LOWORD(ES_sig(sigcontext));
>                                     ^
> signal_i386.c:340:60: error: 'SS' undeclared (first use in this function)
>  #define SS_sig(context)      ((context)->uc_mcontext.gregs[SS])
>                                                             ^
> ../../include/windef.h:337:52: note: in definition of macro 'LOWORD'
>  #define LOWORD(l)              ((WORD)((DWORD_PTR)(l) & 0xFFFF))
>                                                     ^
> signal_i386.c:1123:36: note: in expansion of macro 'SS_sig'
>      context->SegSs        = LOWORD(SS_sig(sigcontext));
>                                     ^
> signal_i386.c: In function 'restore_context':
> signal_i386.c:329:60: error: 'EAX' undeclared (first use in this function)
>  #define EAX_sig(context)     ((context)->uc_mcontext.gregs[EAX])
>                                                             ^
> signal_i386.c:1164:5: note: in expansion of macro 'EAX_sig'
>      EAX_sig(sigcontext) = context->Eax;
>      ^
> signal_i386.c:330:60: error: 'EBX' undeclared (first use in this function)
>  #define EBX_sig(context)     ((context)->uc_mcontext.gregs[EBX])
>                                                             ^
> signal_i386.c:1165:5: note: in expansion of macro 'EBX_sig'
>      EBX_sig(sigcontext) = context->Ebx;
>      ^
> signal_i386.c:331:60: error: 'ECX' undeclared (first use in this function)
>  #define ECX_sig(context)     ((context)->uc_mcontext.gregs[ECX])
>                                                             ^
> signal_i386.c:1166:5: note: in expansion of macro 'ECX_sig'
>      ECX_sig(sigcontext) = context->Ecx;
>      ^
> signal_i386.c:332:60: error: 'EDX' undeclared (first use in this function)
>  #define EDX_sig(context)     ((context)->uc_mcontext.gregs[EDX])
>                                                             ^
> signal_i386.c:1167:5: note: in expansion of macro 'EDX_sig'
>      EDX_sig(sigcontext) = context->Edx;
>      ^
> signal_i386.c:333:60: error: 'ESI' undeclared (first use in this function)
>  #define ESI_sig(context)     ((context)->uc_mcontext.gregs[ESI])
>                                                             ^
> signal_i386.c:1168:5: note: in expansion of macro 'ESI_sig'
>      ESI_sig(sigcontext) = context->Esi;
>      ^
> signal_i386.c:334:60: error: 'EDI' undeclared (first use in this function)
>  #define EDI_sig(context)     ((context)->uc_mcontext.gregs[EDI])
>                                                             ^
> signal_i386.c:1169:5: note: in expansion of macro 'EDI_sig'
>      EDI_sig(sigcontext) = context->Edi;
>      ^
> signal_i386.c:335:60: error: 'EBP' undeclared (first use in this function)
>  #define EBP_sig(context)     ((context)->uc_mcontext.gregs[EBP])
>                                                             ^
> signal_i386.c:1170:5: note: in expansion of macro 'EBP_sig'
>      EBP_sig(sigcontext) = context->Ebp;
>      ^
> signal_i386.c:345:60: error: 'EFL' undeclared (first use in this function)
>  #define EFL_sig(context)     ((context)->uc_mcontext.gregs[EFL])
>                                                             ^
> signal_i386.c:1171:5: note: in expansion of macro 'EFL_sig'
>      EFL_sig(sigcontext) = context->EFlags;
>      ^
> signal_i386.c:347:60: error: 'EIP' undeclared (first use in this function)
>  #define EIP_sig(context)     ((context)->uc_mcontext.gregs[EIP])
>                                                             ^
> signal_i386.c:1172:5: note: in expansion of macro 'EIP_sig'
>      EIP_sig(sigcontext) = context->Eip;
>      ^
> signal_i386.c:353:60: error: 'ESP' undeclared (first use in this function)
>  #define ESP_sig(context)     ((context)->uc_mcontext.gregs[ESP])
>                                                             ^
> signal_i386.c:1173:5: note: in expansion of macro 'ESP_sig'
>      ESP_sig(sigcontext) = context->Esp;
>      ^
> signal_i386.c:337:60: error: 'CS' undeclared (first use in this function)
>  #define CS_sig(context)      ((context)->uc_mcontext.gregs[CS])
>                                                             ^
> signal_i386.c:1174:5: note: in expansion of macro 'CS_sig'
>      CS_sig(sigcontext)  = context->SegCs;
>      ^
> signal_i386.c:338:60: error: 'DS' undeclared (first use in this function)
>  #define DS_sig(context)      ((context)->uc_mcontext.gregs[DS])
>                                                             ^
> signal_i386.c:1175:5: note: in expansion of macro 'DS_sig'
>      DS_sig(sigcontext)  = context->SegDs;
>      ^
> signal_i386.c:339:60: error: 'ES' undeclared (first use in this function)
>  #define ES_sig(context)      ((context)->uc_mcontext.gregs[ES])
>                                                             ^
> signal_i386.c:1176:5: note: in expansion of macro 'ES_sig'
>      ES_sig(sigcontext)  = context->SegEs;
>      ^
> signal_i386.c:340:60: error: 'SS' undeclared (first use in this function)
>  #define SS_sig(context)      ((context)->uc_mcontext.gregs[SS])
>                                                             ^
> signal_i386.c:1177:5: note: in expansion of macro 'SS_sig'
>      SS_sig(sigcontext)  = context->SegSs;
>      ^
> signal_i386.c:343:60: error: 'GS' undeclared (first use in this function)
>  #define GS_sig(context)      ((context)->uc_mcontext.gregs[GS])
>                                                             ^
> signal_i386.c:1179:5: note: in expansion of macro 'GS_sig'
>      GS_sig(sigcontext)  = context->SegGs;
>      ^
> signal_i386.c:342:60: error: 'FS' undeclared (first use in this function)
>  #define FS_sig(context)      ((context)->uc_mcontext.gregs[FS])
>                                                             ^
> signal_i386.c:1184:5: note: in expansion of macro 'FS_sig'
>      FS_sig(sigcontext)  = context->SegFs;
>      ^
> In file included from signal_i386.c:64:0:
> signal_i386.c: In function 'setup_exception_record':
> signal_i386.c:347:60: error: 'EIP' undeclared (first use in this function)
>  #define EIP_sig(context)     ((context)->uc_mcontext.gregs[EIP])
>                                                             ^
> ../../include/wine/debug.h:91:49: note: in definition of macro '__WINE_DBG_LOG'
>      wine_dbg_log( __dbcl, __dbch, __FUNCTION__, args); } } while(0)
>                                                  ^
> signal_i386.c:1775:56: note: in expansion of macro 'EIP_sig'
>                    GetCurrentThreadId(), (unsigned int) EIP_sig(sigcontext),
>                                                         ^
> signal_i386.c:353:60: error: 'ESP' undeclared (first use in this function)
>  #define ESP_sig(context)     ((context)->uc_mcontext.gregs[ESP])
>                                                             ^
> ../../include/wine/debug.h:91:49: note: in definition of macro '__WINE_DBG_LOG'
>      wine_dbg_log( __dbcl, __dbch, __FUNCTION__, args); } } while(0)
>                                                  ^
> signal_i386.c:1776:34: note: in expansion of macro 'ESP_sig'
>                    (unsigned int) ESP_sig(sigcontext), NtCurrentTeb()->Tib.StackLimit,
>                                   ^
> signal_i386.c:345:60: error: 'EFL' undeclared (first use in this function)
>  #define EFL_sig(context)     ((context)->uc_mcontext.gregs[EFL])
>                                                             ^
> signal_i386.c:1837:5: note: in expansion of macro 'EFL_sig'
>      EFL_sig(sigcontext) &= ~(0x100|0x400|0x40000);
>      ^
> signal_i386.c:337:60: error: 'CS' undeclared (first use in this function)
>  #define CS_sig(context)      ((context)->uc_mcontext.gregs[CS])
>                                                             ^
> signal_i386.c:1838:5: note: in expansion of macro 'CS_sig'
>      CS_sig(sigcontext)  = wine_get_cs();
>      ^
> signal_i386.c:338:60: error: 'DS' undeclared (first use in this function)
>  #define DS_sig(context)      ((context)->uc_mcontext.gregs[DS])
>                                                             ^
> signal_i386.c:1839:5: note: in expansion of macro 'DS_sig'
>      DS_sig(sigcontext)  = wine_get_ds();
>      ^
> signal_i386.c:339:60: error: 'ES' undeclared (first use in this function)
>  #define ES_sig(context)      ((context)->uc_mcontext.gregs[ES])
>                                                             ^
> signal_i386.c:1840:5: note: in expansion of macro 'ES_sig'
>      ES_sig(sigcontext)  = wine_get_es();
>      ^
> signal_i386.c:342:60: error: 'FS' undeclared (first use in this function)
>  #define FS_sig(context)      ((context)->uc_mcontext.gregs[FS])
>                                                             ^
> signal_i386.c:1841:5: note: in expansion of macro 'FS_sig'
>      FS_sig(sigcontext)  = wine_get_fs();
>      ^
> signal_i386.c:343:60: error: 'GS' undeclared (first use in this function)
>  #define GS_sig(context)      ((context)->uc_mcontext.gregs[GS])
>                                                             ^
> signal_i386.c:1842:5: note: in expansion of macro 'GS_sig'
>      GS_sig(sigcontext)  = wine_get_gs();
>      ^
> signal_i386.c:340:60: error: 'SS' undeclared (first use in this function)
>  #define SS_sig(context)      ((context)->uc_mcontext.gregs[SS])
>                                                             ^
> signal_i386.c:1843:5: note: in expansion of macro 'SS_sig'
>      SS_sig(sigcontext)  = wine_get_ss();
>      ^
> signal_i386.c: In function 'init_handler':
> signal_i386.c:996:1: warning: control reaches end of non-void function [-Wreturn-type]
>  }
>  ^
> Makefile:596: recipe for target 'signal_i386.o' failed
> gmake[1]: *** [signal_i386.o] Error 1
> gmake[1]: Leaving directory '/home/franck/tmp/wine-1.9.10/dlls/ntdll'
> Makefile:12228: recipe for target 'dlls/ntdll' failed
> gmake: *** [dlls/ntdll] Error 2
> 
> 
> If anyone have an idea, it would be great.
> 
> Best regards.
> Ben
> 
> _______________________________________________
> oi-dev mailing list
> oi-dev at openindiana.org
> http://openindiana.org/mailman/listinfo/oi-dev
>

-- 
Thanks for sailing Jolla :)


More information about the oi-dev mailing list