Discussion:
MSVC 1.5 does not work anymore in Windows 10 build 18342
(too old to reply)
Jean-Francois Larvoire
2019-03-11 15:08:09 UTC
Permalink
I've always been using MSVC 1.5 to build DOS apps, and this worked in
all versions of Windows until now. (The MSVC 1.5 C compiler and linker
are WIN32 apps, even if they build DOS apps that do not run in Windows.)
But last week, my version of Windows 10 got upgraded to build 18342, and
MSVC 1.5 executables don't work anymore. :-(

cl.exe silently fails after a few seconds.

link.exe displays an error:

C:\MSVC\BIN>link /?

Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994
LINK : fatal error L5000 : internal failure - access violation
C:\MSVC\BIN>

I suppose that the upgrade removed a DLL that MSVC 1.5 depends on, or
introduced an incompatible change.

Anybody else still using MSVC 1.5?
Any fix already available?
Else any idea on how to debug this?

Jean-François
T. Ment
2019-03-11 16:42:58 UTC
Permalink
On Mon, 11 Mar 2019 16:08:09 +0100, Jean-Francois Larvoire
Post by Jean-Francois Larvoire
I've always been using MSVC 1.5 to build DOS apps, and this worked in
all versions of Windows until now. (The MSVC 1.5 C compiler and linker
are WIN32 apps, even if they build DOS apps that do not run in Windows.)
But last week, my version of Windows 10 got upgraded to build 18342, and
MSVC 1.5 executables don't work anymore. :-(
cl.exe silently fails after a few seconds.
Microsoft C 7.00 requires DPMI for command line executables. I don't
have MSVC 1.5 installed to look at, are they really WIN32 and not DOS
DPMI?

If your Win10 is 64-bit I suppose they must be.
Sjouke Burry
2019-03-11 17:12:42 UTC
Permalink
Post by Jean-Francois Larvoire
I've always been using MSVC 1.5 to build DOS apps, and this worked in
all versions of Windows until now. (The MSVC 1.5 C compiler and linker
are WIN32 apps, even if they build DOS apps that do not run in Windows.)
But last week, my version of Windows 10 got upgraded to build 18342, and
MSVC 1.5 executables don't work anymore. :-(
cl.exe silently fails after a few seconds.
C:\MSVC\BIN>link /?
Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994
LINK : fatal error L5000 : internal failure - access violation
C:\MSVC\BIN>
I suppose that the upgrade removed a DLL that MSVC 1.5 depends on, or
introduced an incompatible change.
Anybody else still using MSVC 1.5?
Any fix already available?
Else any idea on how to debug this?
Jean-François
Use the watcom compiler, 16 and 32 bit, and freeware.
Ross Ridge
2019-03-11 18:53:06 UTC
Permalink
Post by Jean-Francois Larvoire
I suppose that the upgrade removed a DLL that MSVC 1.5 depends on, or
introduced an incompatible change.
If a DLL was missing you'd get an error saying so, but Microsoft has
broken MSVCRT.DLL compatibility before so that could be a problem.
You can try using compatibility mode on it to see if that fixes the
problem. Finding an old version of MSVCRT.DLL and sticking in the same
directory as the executable might also work, assuming that's the problem.

You might also see if you can't find the Windows XP DDK (Device Driver
Kit) anywhere. It has an updated version of the segmented linker and
maybe the compiler as well.
--
l/ // Ross Ridge -- The Great HTMU
[oo][oo] ***@csclub.uwaterloo.ca
-()-/()/ http://www.csclub.uwaterloo.ca/~rridge/
db //
T. Ment
2019-03-11 21:00:17 UTC
Permalink
On Mon, 11 Mar 2019 16:08:09 +0100, Jean-Francois Larvoire
Post by Jean-Francois Larvoire
I've always been using MSVC 1.5 to build DOS apps, and this worked in
all versions of Windows until now. (The MSVC 1.5 C compiler and linker
are WIN32 apps, even if they build DOS apps that do not run in Windows.)
C:\MSVC\BIN>link /?
Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994
LINK : fatal error L5000 : internal failure - access violation
C:\MSVC\BIN>
I suppose that the upgrade removed a DLL that MSVC 1.5 depends on, or
introduced an incompatible change.
I installed MSVC 1.5 to have a look.

My link.exe version is 5.60.339 Dec 5 1994, same as yours. These are
not WIN32 apps, they are 32-bit DPMI, you can see "Phar Lap" in each
executable. They work on DOS or Windows 3.1, and later Windows versions
which support DPMI in a DOS command prompt.

You must be using 32-bit Windows, given the link.exe version string you
posted above. I've heard Microsoft broke DPMI support, so you may be out
of luck with Windows 10.

You might try Microsoft C 6.00a. It does not require DPMI.
Maxe
2019-03-16 00:50:17 UTC
Permalink
I've always been using MSVC 1.5 to build DOS apps ...
me too. msvc is good, but msc6.0a is more stable, but you know that
better than me.
...The MSVC 1.5 C compiler and linker ...
IIRC, msvc link is a pharlap executable (dpmi) and msvc 1.52 and
components needs a full compatible win3x environment, last seen in
virtual xp machine under win7.
Anybody else still using MSVC 1.5?
yes!
Any fix already available?
I assume know.
Else any idea on how to debug this?
unfortunately no.
Steve Nickolas
2019-03-16 01:51:00 UTC
Permalink
Post by Maxe
I've always been using MSVC 1.5 to build DOS apps ...
me too. msvc is good, but msc6.0a is more stable, but you know that
better than me.
...The MSVC 1.5 C compiler and linker ...
IIRC, msvc link is a pharlap executable (dpmi) and msvc 1.52 and
components needs a full compatible win3x environment, last seen in
virtual xp machine under win7.
Anybody else still using MSVC 1.5?
yes!
Any fix already available?
I assume know.
<snip>

I wonder if this would help any ;p, or if it still needs work.

I don't use VC, I prefer Borland. But anyway, I've run some Win3.x apps
with it and it's actively under development.

https://github.com/otya128/winevdm/releases/

-uso.
T. Ment
2019-03-16 18:00:56 UTC
Permalink
On Mon, 11 Mar 2019 16:08:09 +0100, Jean-Francois Larvoire
Post by Jean-Francois Larvoire
I've always been using MSVC 1.5 to build DOS apps, and this worked in
all versions of Windows until now. (The MSVC 1.5 C compiler and linker
are WIN32 apps, even if they build DOS apps that do not run in Windows.)
But last week, my version of Windows 10 got upgraded to build 18342, and
MSVC 1.5 executables don't work anymore. :-(
Any fix already available?
I believe there is a shim in recent versions of Windows limiting the
available DPMI memory to 32 MB, for yet more ancient software incapable
of unprepared such wast quantities of RAM. You may try creating a
DpmiLimit key under
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WOW in the registry
to adjust this with the limit in bytes as a DWORD
https://stackoverflow.com/questions/42303118/dos-4gw-fatal-error-1307-not-enough-memory


That was for Windows 7, but it might be worth a try on Windows 10.
M***@none.i2p
2019-06-17 08:59:25 UTC
Permalink
I just confirmed the link (Microsoft Segmented Executable Linker Version 5.60.339 Dec 5 1994) worked in the June update of Windows 10 1903.
The version of Windows is OS Build 18362.175.
T. Ment
2019-06-17 17:08:28 UTC
Permalink
Post by M***@none.i2p
I just confirmed the link (Microsoft Segmented Executable Linker
Version 5.60.339 Dec 5 1994) worked in the June update of Windows 10
1903. The version of Windows is OS Build 18362.175.
Using Windows 10 to run MSVC 1.5 seems like a hard way to do a simple
thing. A minimal install of Windows 10 is what, 20GB or more?

And why? To be all things to all people?

Windows 7 will be my last. There has to be a better way.

Loading...