X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com Message-ID: <561BED4D.8080309@gmx.de> Date: Mon, 12 Oct 2015 19:26:37 +0200 From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp AT delorie DOT com]" User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.13) Gecko/20101206 SUSE/3.1.7 Thunderbird/3.1.7 MIME-Version: 1.0 To: djgpp AT delorie DOT com Subject: Re: Random compile errors under WIndows (32 bit Windows Vista and Windows 10) References: <5611566C DOT 4020507 AT iki DOT fi> In-Reply-To: <5611566C.4020507@iki.fi> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:1X/UDFh8ZfqtpQSaHBw2w30Sx9nZDlnMyJczB8GKkJdpUeXKfPv UE8SP+ifoOMXVqAOPajz2Wsbtw7hNc9bGZm8ALFph9SDioyQVifo/ysOhyhAbke5eRbcqfO X7zttE8/r45jISBuLXC1XwCBV8bHPI6FglHtcAxTWUKbsBUFHv9KrPydILwA/gm/I7xd8g6 1BfS+Jxg+owHyLECX2Dhg== X-UI-Out-Filterresults: notjunk:1;V01:K0:LiFPEc6kEbU=:M/WDDqbrTmIG+ALD71lul/ G4qmqxHtu9uuZibDK5YHHewDZ3L7hfw2PqnNATq60B7o+HgO8ij3of6VmIMbRV/T+y2V4jWee wI05rifabd1DfNYKrfPiFCjB3MwhtVRQvi0D5JiPF8X9+dI1Dle6J27SSCFr0uT7rzdpjRH6y 3eC6Jpi3ilYs6NWeX2aZOdTyFVEx/ZB8IjXH0YVxnJd/dq5/X3kt85CzQP81WOlAADc+3Meg4 h8KgxdBoQo2nijet85oH3MwGVivJyR0pt826MtVi3hq7aZnvM4tIdVnGVL8P5iG4ql/D8y9yg 5kXDcgdypnCumtHwMoc3knS0XqbBeifZTRT/UT3QZY8OVow0X/8ViB3rvbsJBF4jOsFIqTd25 C0+wiHbJMMI4dmi1JyKMM2z4v4BG52OBjlhepmCjCr4y3a96GbR8J0CiLKuF9wdNICcNjeK+o To3/ZJLb9nKOszc3uy67NXRB3ZxtGk3ur5wGJIADe0h1uAnp27obYDH4Z7zJH4jf+aXAwaiIg FKO+yZTPFLAoHrb1OTatv8ms3lmIpAPCutjmwCw59y+lX7sno/fT0dQyFpQaONtOr8gA2KzSq vCwtRnFcUjWnqfGv7qgw3n73E4lNPHH5wkPk9DOSf6hIheeKcD86JbRkse8ENcwr8/ka3IqQm ksWMh9vyQAMxLx/h/LJrbymFufz/Zi2q80Zi/x6prj1oNfbojGSABZ4fsUMO6p/HIUhDzh0me h41vP1LMZsSu9p6qH6H+cs2Rf7F5tCbMg+R79VbCGBn1Uv+ACnV/AAhP0+oEbgyDF2G4pZ93S OQKz7Ua Reply-To: djgpp AT delorie DOT com Am 04.10.2015 18:40, schrieb Andris Pavenis (andris DOT pavenis AT iki DOT fi) [via djgpp AT delorie DOT com]: > I have earlier noticed random stray compile errors when building > DJGPP port of gcc under Windows Vista Business. Running make again > compiled some file without problems. Such errors where > extremely rare for DJGPP CVS from CVS (also 2.04 before bumping version > to 2.05). I usually did not get them at all for 2.04 or 2.05. The situation > was noticeably worse for 2.03p2. Building GCC was still possible but I had to > restart build often enough. > > I have 64-bit Windows 10 (earlier Windows 7) on desktop computer and dual boot > with Linux (currently Fedora 22 x86_64). So there no DJGPP testing possible in this > Windows installation for understandable reasons. > > Today downloaded 32 bit Windows 10 Enterprise 90 days trial from Microsoft and > installed it in VirtualBox VM under Linux. I needed slightly more steps to get DJGPP > working rather than on Windows Vista (for VIsta only registry hack was needed to > workaround 32MB DMPI memory limit) > > Trying to build gcc-5.2.0 on this Windows 10 installation (DJGPP v2.05 only) showed > that I'm getting stray compiler errors much more often (once per several minutes) > > These errors look like: > gpp -c -DIN_GCC_FRONTEND -DIN_GCC_FRONTEND -g -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -Ic-family -I/gcc-5.20/gcc -I/gcc-5.20/gcc/c-family -I/gcc-5.20/gcc/../include -I/gcc-5.20/gcc/../libcpp/include -I/gcc-5.20/gcc/../libdecnumber -I/gcc-5.20/gcc/../libdecnumber/dpd -I../libdecnumber -I/gcc-5.20/gcc/../libbacktrace -I/dev/env/DJDIR/include -o c-family/c-gimplify.o -MT c-family/c-gimplify.o -MMD -MP -MF c-family/.deps/c-gimplify.TPo /gcc-5.20/gcc/c-family/c-gimplify.c > In file included from /gcc-5.20/gcc/flags.h:24:0, > from /gcc-5.20/gcc/c-family/c-common.h:36, > from /gcc-5.20/gcc/c-family/c-gimplify.c:41: > ./options.h:10:0: error: unterminated #if > #if !defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS) > ^ > ./options.h:3:0: error: unterminated #ifndef > #ifndef OPTIONS_H > ^ > Makefile:1066: recipe for target 'c-family/c-gimplify.o' failed > make.exe[3]: *** [c-family/c-gimplify.o] Error 1 > make.exe[3]: Leaving directory 'c:/build.gcc/gcc' > Makefile:4376: recipe for target 'all-stage1-gcc' failed > make.exe[2]: *** [all-stage1-gcc] Error 2 > make.exe[2]: Leaving directory 'c:/build.gcc' > Makefile:17534: recipe for target 'stage1-bubble' failed > make.exe[1]: *** [stage1-bubble] Error 2 > make.exe[1]: Leaving directory 'c:/build.gcc' > Makefile:17838: recipe for target 'bootstrap' failed > make.exe: *** [bootstrap] Error 2 > > Same error do not repeat when I try to run 'sh ./djmake.sh bootstrap' again. > > Most likely explanation is that reading file (opened in binary mode) is unreliable > and one randomly gets corrupted data. Total data size is correct as libcpp compares > data size with one from response of stat() and reports an error in case of size discrepancy > (we needed to handle DOS end of file mark ^Z specially for that reason) > > It could be a bug in NTVDM. It could also be some problem on our side. > More testing is needed. Such test could repeatedly read some set of files into memory > and calculate MD5 sum or something similar to detect random corruptions. It would > be possible to investigate further and see what is getting corrupted > > > How to get DJGPP programs running on Windows 10 32 bit (please comment > if one has possibility to check on different edition) > > Steps needed to get DJGPP apps running on 32 bit WIndows 10 enterprise trial version. > It may be different in Win 10 Home or WIn 10 Pro. I just do not know. > > 1) Dialog asking confirmation for installing NTVDM appears when trying > to run DJGPP program first time: You need to allow it to be run any DJGPP > executable (it was when I tried to run unzip32.exe) > > 2) 32 MB DPMI memory limit is still present. Use old hack from Windows Vista > epoch to got around it: Add registry entry DpmiLimit with large enough > value to Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WOW. > No need to restart Windows. It's active immediately. > I used value 0x7FFFFFFF and it is accepted and works > > 3) Command prompt configuration: mark check box "Use legacy console" active. > Otherwise ls.exe, bash.exe, less.exe and other similar programs will not work and Windows > will report NTVDM error > > Andris > Only for the record, I have compiled gcc520s.zip out-of-the-box a multpile of times during the last week using a clean DJGPP 2.05 installation as described in: on Win2K SP5 and WinXP SP3 without any difficulties. Every build took around 12h on a virtual machine, so acouple of days have been invested in this test. On Win98SE (GUI) the build failed with the following output: c:/djgpp-2.05/bin/sh.exe ./libtool --tag=CC --mode=compile /dev/d/gnu/build.gcc/./gcc/xgcc -B/dev/d/gnu/build.gcc/./gcc/ -B/dev/env/DJDIR/djgpp/bin/ -B/dev/env/DJDIR/djgpp/lib/ -isystem /dev/env/DJDIR/djgpp/include -isystem /dev/env/DJDIR/djgpp/sys-include -DHAVE_CONFIG_H -I. -I/gnu/gcc-5.20/libgfortran -iquote/gnu/gcc-5.20/libgfortran/io -I/gnu/gcc-5.20/libgfortran/../gcc -I/gnu/gcc-5.20/libgfortran/../gcc/config -I/gnu/gcc-5.20/libgfortran/../libquadmath -I../.././gcc -I/gnu/gcc-5.20/libgfortran/../libgcc -I../libgcc -std=gnu11 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings -Werror=implicit-function-declaration -Werror=vla -fcx-fortran-rules -ffunction-sections -fdata-sections -g -O2 -MT size_from_kind.lo -MD -MP -MF .deps/size_from_kind.Tpo -c -o size_from_kind.lo `test -f 'io/size_from_kind.c' || echo '/gnu/gcc-5.20/libgfortran/'`io/size_from_kind.c libtool: compile: /dev/d/gnu/build.gcc/./gcc/xgcc -B/dev/d/gnu/build.gcc/./gcc/ -B/dev/env/DJDIR/djgpp/bin/ -B/dev/env/DJDIR/djgpp/lib/ -isystem /dev/env/DJDIR/djgpp/include -isystem /dev/env/DJDIR/djgpp/sys-include -DHAVE_CONFIG_H -I. -I/gnu/gcc-5.20/libgfortran -iquote/gnu/gcc-5.20/libgfortran/io -I/gnu/gcc-5.20/libgfortran/../gcc -I/gnu/gcc-5.20/libgfortran/../gcc/config -I/gnu/gcc-5.20/libgfortran/../libquadmath -I../.././gcc -I/gnu/gcc-5.20/libgfortran/../libgcc -I../libgcc -std=gnu11 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings -Werror=implicit-function-declaration -Werror=vla -fcx-fortran-rules -ffunction-sections -fdata-sections -g -O2 -MT size_from_kind.lo -MD -MP -MF .deps/size_from_kind.Tpo -c /gnu/gcc-5.20/libgfortran/io/size_from_kind.c -o size_from_kind.o mv -f .deps/size_from_kind.Tpo .deps/size_from_kind.Plo c:/djgpp-2.05/bin/sh.exe ./libtool --tag=CC --mode=compile /dev/d/gnu/build.gcc/./gcc/xgcc -B/dev/d/gnu/build.gcc/./gcc/ -B/dev/env/DJDIR/djgpp/bin/ -B/dev/env/DJDIR/djgpp/lib/ -isystem /dev/env/DJDIR/djgpp/include -isystem /dev/env/DJDIR/djgpp/sys-include -DHAVE_CONFIG_H -I. -I/gnu/gcc-5.20/libgfortran -iquote/gnu/gcc-5.20/libgfortran/io -I/gnu/gcc-5.20/libgfortran/../gcc -I/gnu/gcc-5.20/libgfortran/../gcc/config -I/gnu/gcc-5.20/libgfortran/../libquadmath -I../.././gcc -I/gnu/gcc-5.20/libgfortran/../libgcc -I../libgcc -std=gnu11 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings -Werror=implicit-function-declaration -Werror=vla -fcx-fortran-rules -ffunction-sections -fdata-sections -g -O2 -MT close.lo -MD -MP -MF .deps/close.Tpo -c -o close.lo `test -f 'io/close.c' || echo '/gnu/gcc-5.20/libgfortran/'`io/close.c libtool: compile: /dev/d/gnu/build.gcc/./gcc/xgcc -B/dev/d/gnu/build.gcc/./gcc/ -B/dev/env/DJDIR/djgpp/bin/ -B/dev/env/DJDIR/djgpp/lib/ -isystem /dev/env/DJDIR/djgpp/include -isystem /dev/env/DJDIR/djgpp/sys-include -DHAVE_CONFIG_H -I. -I/gnu/gcc-5.20/libgfortran -iquote/gnu/gcc-5.20/libgfortran/io -I/gnu/gcc-5.20/libgfortran/../gcc -I/gnu/gcc-5.20/libgfortran/../gcc/config -I/gnu/gcc-5.20/libgfortran/../libquadmath -I../.././gcc -I/gnu/gcc-5.20/libgfortran/../libgcc -I../libgcc -std=gnu11 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings -Werror=implicit-function-declaration -Werror=vla -fcx-fortran-rules -ffunction-sections -fdata-sections -g -O2 -MT close.lo -MD -MP -MF .deps/close.Tpo -c /gnu/gcc-5.20/libgfortran/io/close.c -o close.o /gnu/gcc-5.20/libgfortran/io/close.c: In Funktion »st_close«: /gnu/gcc-5.20/libgfortran/io/close.c:75:11: Fehler: Implizite Deklaration der Funktion »strdup« [-Werror=implicit-function-declaration] path = strdup (u->filename); ^ /gnu/gcc-5.20/libgfortran/io/close.c:75:11: Warnung: UnvertrÀgliche implizite Deklaration der eingebauten Funktion »strdup« /gnu/gcc-5.20/libgfortran/io/close.c:85:15: Warnung: UnvertrÀgliche implizite Deklaration der eingebauten Funktion »strdup« path = strdup (u->filename); ^ /gnu/gcc-5.20/libgfortran/io/close.c:95:4: Fehler: Implizite Deklaration der Funktion »unlink« [-Werror=implicit-function-declaration] unlink (path); ^ cc1.exe: Einige Warnungen werden als Fehler behandelt Makefile:5137: recipe for target 'close.lo' failed make.exe[3]: *** [close.lo] Error 1 make.exe[3]: Leaving directory 'd:/gnu/build.gcc/djgpp/libgfortran' Makefile:1297: recipe for target 'all' failed make.exe[2]: *** [all] Error 2 make.exe[2]: Leaving directory 'd:/gnu/build.gcc/djgpp/libgfortran' Makefile:15584: recipe for target 'all-target-libgfortran' failed make.exe[1]: *** [all-target-libgfortran] Error 2 make.exe[1]: Leaving directory 'd:/gnu/build.gcc' Makefile:17838: recipe for target 'bootstrap' failed make.exe: *** [bootstrap] Error 2 I have not investigated this further. The generation of numeric tails for file names must be enabled to get the zip file extracted in a working fashion. I do not know if this is worth to be fixed. Specially I have not tried to build it on DOS 7.0 with a LFN driver. This would even more slower than using Win98SE (GUI). Regards, Juan M. Guerrero