Off-topic: SM stopped actually downloading files. Restoring an old,
working profile helped.
Post by A.D. FundumSUPERTUX->Z._gzclose
eg SUPERTUX should be using _Z._gzclose..
Can e.g. EXEHDR be used by end-users as an additional condition,
before the condition that "any" newer DLL file with the same name
should safely replace an older copy?
the latest Z.DLL compiled with kLIBC should be on the libpath
programs such as links, gimp etc should use a script
(or run!) to set BEGINLIBPATH and LIBPATHSTRICT
to load EMX versions of dlls.
I'd like to point out, regardless of the compiler of that package,
that the Links v2.12 WPI install script uses the LIBPATH and that it
doesn't use any of the above. I don't actually use such a WPI file due
to its limited added value, but it could have inspired me to use the
same settings.
The latest SM WPI install script doesn't even work, because a required
DLL is successfully installed in the SM directory (".", a valid
LIBPATH entry) instead of in a LIBPATH directory, just like PM DLL
doesn't use the "." of a selected EXE.
Apps having their own copy without LIBPATHSTRICT isn't a good
solution because the system will use whichever is loaded.
Understood. Accidents may happen, albeit it't not my habit to play
SuperTux before reporting bugs.
Other than adding better solutions to WPI files not compiled by
you/programmers, is there a better way to protect the "brand" of
"right" DLLs?
You didn't say it at all, but "contact the author of a wrong Z.DLL" is
a helpdesk's solution. Perhaps it's possible to compose an utility
which checks EXEs and/or DLLs, like there was a PM utility to check
the version of VROBJ.DLL.?
PM DLL can detect that SUPERTUX.EXE cannot load Links' Z.DLL, moved to
a LIBPATH directory. That's step 1, detect that it requires Z.DLL but
that it cannot load Z.DLL. The final step would be to check if the
available Z.DLL (or the EXE) is right or "wrong". Usage history could
be used to check if an updated DLL will still work with all qualifying
EXEs. I'm not expecting that verificiation code will be added to EXEs.
It's best to use the latest DLLs as well as often they have
security
fixes which even on our system can prevent crashes.
I'll renew/modernize my strategy, albeit I don't always know which
DLLs should be safe. The number of installed Z.DLLs still is limited:
TCPIP\QupZilla 16-01-12 17:30 52.052 0 z.dll
Games\SuperTux 1-09-14 16:17 52.052 0 z.dll
Games\Toppler 1-09-14 16:17 52.052 0 z.dll
Multimedia\Qoobar 2-06-14 2:41 56.374 124 z.dll
Multimedia\SMPlayer 2-06-14 2:41 56.374 124 z.dll
TCPIP\Links 17-09-15 16:44 75.568 0 z.dll
Without some utility I'll first use PM DLL to make sure that apps can
load Links' Z.DLL, assuming that Links' Z.DLL is the right/best
LIBPATH "brand".
In general it would also help to use BEGINLIBPATH e.a. in relevant WPI
archives (compiled by Doug?), e.g. Links', based on your
recommendation. I'd adopt such a setting in my own install scripts,
without actually using the WPI script.
The SM WPI install script also uses the LIBPATH, without using any
SET=... in its WPS setup string.
BTW and FWIW, the SM WPI install script also still uses Rexx' ancient
OS2ENVIRONMENT instead of a bith shorter and portable ENVIRONMENT, but
I doubt that Microsoft OS/2 v1.x still is supported by the Mozilla
suite..
BTW, where did you get SUPERTUX?
Our Appstore, with a wife-"needs"-phone-alert of about 7.6 MiB:
http://hobbes.nmsu.edu/download/pub/os2/games/action/supertux-SDL-2014
0815.zip
--