You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Dialer now builds "fine" for OS/2 with OpenWatcom. setenv.cmd will add Zinc to the include and lib paths, and \kermit\dialer\mkos2.cmd will do a build. There is also \kermit\dialer\mkos2.bat for cross-compiling from Windows which Github Actions runs on every build.
But the Dialer doesn't actually work on OS/2 right now. The resulting binaries just crash on startup under Warp 4 Fixpak 15 (The Kermit 95 2.1.2 dialer works fine on this VM). A little investigation with a debug build and the OpenWatcom debugger suggests its failing at zinc\include\ui_win.hpp:1751 which is part of UIW_PULL_DOWN_MENU:
I'm not sure where this code is being called from or why its failing on OS/2 when built with Watcom at the moment. Perhaps it would fail when built with ICC too but I don't have access to that. Rebuilding OpenZinc didn't fix it, nor did rebuilding OpenZinc with the /bm (multithreaded runtime) compiler option. At this stage I'm not sure if its an OpenZinc bug, a Dialer bug, some issue with the way I'm building the dialer (linker script could be wrong?), or some other issue.
Further investigation in late 2024 found it to be crashing when creating a new SERVICE_MANAGER, with the crash seeming to happen somewhere in Zinc:
An attempt to debug this further with a version of zinc built with -bm -d3 (multithreaded runtime libraries, debugging) resulted in it crashing somewhere else. I've not been able to get the Open Watcom debugger to show me where its crashing in the source view.
At this stage I've no idea what the cause is or if the problem is something in the dialer, something in zinc, or an issue with the way the two are being built. I've compared the OpenZinc code with what was used to build the dialer in the retail release of K95 and see no differences that seem likely to be the cause, so it seems less likely to be an issue somewhere in OpenZinc.
A minimal version of Zinc can be built on OS/2 with OpenWatcom by doing the following:
cd zinc
cleanall.bat
cd source
wmake -f ow19.mak os2
cd ..
cd design
cd service
wmake -f ow19.mak os2
cd ..
cd direct
wmake -f ow19.mak os2
cd ..
cd storage
wmake -f ow19.mak os2
cd ..
cd ..
The libraries end up in zinc/lib/ow19. To modify the build parameters (eg, to build with the multithreaded runtime), macros such as OS2_CPP_OPTS will need to be adjusted in these makefiles:
/zinc/source/ow19.mak
/zinc/design/service/ow19.mak
/zinc/design/direct/ow19.mak
/zinc/design/storage/ow19.mak
The text was updated successfully, but these errors were encountered:
The Dialer now builds "fine" for OS/2 with OpenWatcom.
setenv.cmd
will add Zinc to the include and lib paths, and\kermit\dialer\mkos2.cmd
will do a build. There is also\kermit\dialer\mkos2.bat
for cross-compiling from Windows which Github Actions runs on every build.But the Dialer doesn't actually work on OS/2 right now. The resulting binaries just crash on startup under Warp 4 Fixpak 15 (The Kermit 95 2.1.2 dialer works fine on this VM). A little investigation with a debug build and the OpenWatcom debugger suggests its failing at
zinc\include\ui_win.hpp:1751
which is part ofUIW_PULL_DOWN_MENU
:I'm not sure where this code is being called from or why its failing on OS/2 when built with Watcom at the moment. Perhaps it would fail when built with ICC too but I don't have access to that. Rebuilding OpenZinc didn't fix it, nor did rebuilding OpenZinc with the
/bm
(multithreaded runtime) compiler option. At this stage I'm not sure if its an OpenZinc bug, a Dialer bug, some issue with the way I'm building the dialer (linker script could be wrong?), or some other issue.Further investigation in late 2024 found it to be crashing when creating a new SERVICE_MANAGER, with the crash seeming to happen somewhere in Zinc:
An attempt to debug this further with a version of zinc built with
-bm -d3
(multithreaded runtime libraries, debugging) resulted in it crashing somewhere else. I've not been able to get the Open Watcom debugger to show me where its crashing in the source view.At this stage I've no idea what the cause is or if the problem is something in the dialer, something in zinc, or an issue with the way the two are being built. I've compared the OpenZinc code with what was used to build the dialer in the retail release of K95 and see no differences that seem likely to be the cause, so it seems less likely to be an issue somewhere in OpenZinc.
A minimal version of Zinc can be built on OS/2 with OpenWatcom by doing the following:
The libraries end up in zinc/lib/ow19. To modify the build parameters (eg, to build with the multithreaded runtime), macros such as
OS2_CPP_OPTS
will need to be adjusted in these makefiles:/zinc/source/ow19.mak
/zinc/design/service/ow19.mak
/zinc/design/direct/ow19.mak
/zinc/design/storage/ow19.mak
The text was updated successfully, but these errors were encountered: