ReactOS/Instalace-chyby

překladač zahlásí zastaralé binutils, ale vy ho máte aktuální

editovat

Pravděpodobně máte aktuální linuxové binutils, ale nikoliv ty z MingW32. Nainstalujte nejnovější verzi MingW32.

Následující řešení není řešením, ale spíš hack - v podstatě odstraňuje kontrolu verzí:

zakomentujte tyto řádky v souboru tools/tool-check.c z tohoto stavu:

#if (BINUTILS_VERSION_DATE >= 20040902 && BINUTILS_VERSION_DATE <= 20041008) || (BINUTILS_VERSION_DATE < 20031001)/
#error "Due to technical reasons your binutils version can't be used to" \
"build ReactOS. Please consider upgrading to newer version. See" \
"www.mingw.org for details."
#endif

na tento:

/*#if (BINUTILS_VERSION_DATE >= 20040902 && BINUTILS_VERSION_DATE <= 20041008) || (BINUTILS_VERSION_DATE < 20031001)
#error "Due to technical reasons your binutils version can't be used to" \
"build ReactOS. Please consider upgrading to newer version. See" \
"www.mingw.org for details."
#endif*/

překladač zahlásí problém s nekompatibilitou pointerů v ntoskrnl/kdinit.c a skončí chybou

editovat

Pravděpodobně máte starou nebo z jiného důvodu nepodporovanou verzi GCC. Upgradujte GCC z balíčku MingW32.

Workaround:

Nahraďte část souboru reactos/nttoskrnl/kd/kdinit.c:

PKDP_INIT_ROUTINE InitRoutines[KdMax] = {KdpScreenInit,
KdpSerialInit,
KdpInitDebugLog}

na toto:

PKDP_INIT_ROUTINE InitRoutines[KdMax] = {(PKDP_INIT_ROUTINE)KdpScreenInit,
(PKDP_INIT_ROUTINE)KdpSerialInit,
(PKDP_INIT_ROUTINE)KdpInitDebugLog}