Issue Details (XML | Word | Printable)

Key: CORE-2609
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: Nickolay Samofatov
Reporter: Nickolay Samofatov
Votes: 0
Watchers: 3
Operations

If you were logged in you would be able to see more operations.
Firebird Core

Support for Windows NT4/98/ME

Created: 30/Aug/09 09:52 AM   Updated: 23/Jan/13 10:07 AM
Component/s: Engine
Affects Version/s: 2.5 Beta 2
Fix Version/s: 2.5 RC1

Time Tracking:
Not Specified

Environment: Windows 98, ME and NT4 SP3+

Planning Status: Unspecified


 Description  « Hide
Firebird 2.1 works on Windows 98/ME, and on NT4 is you use patched MSVC8 CRT.

Firebird 2.5 dropped this support while demand for such deployments is still there.


 All   Comments   Work Log   Change History   Version Control   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Nickolay Samofatov added a comment - 30/Aug/09 10:24 AM
Implemented static MSVC7 build that supports Windows 98/ME and NT4 SP3+

Vlad Khorsun added a comment - 30/Aug/09 10:54 PM
There was NO agreement in fb-devel to commit this code.

Nickolay Samofatov added a comment - 30/Aug/09 11:40 PM
Well there was an agreement, and we've spent quite a bit of time to reach it.

Quote from Dmitry, 2009-03-12
"This sounds acceptable to me. I would feel even more positive if you'd
hide the Win98 specific assembly code inside a separate file, like you
did for PIO, but I won't be insisting..."

Other changes in the patch are mostly the bugfixes (error handling, etc)

Denis added a comment - 22/Jan/13 06:48 AM
It's not clear how to build Firebird 2.5.2 for Windows 98/ME and NT4 SP3+ support.
I tried

  adjust_vc7_files
  make_icu
  make_boot
  make_all

with Visual C++ 2003 installed but got binaries incompatible with win98.

Can you please tell me what mistakes I made and how to build working win98 compatible build?

Nickolay Samofatov added a comment - 22/Jan/13 02:34 PM
You seem to proceed correctly.

Can you please explain in more detail how the resulting binaries are not compatible?
Any unsupported functions used?

BTW, re Win98 we didn't test original 98 build, only Win98 SE

Denis added a comment - 23/Jan/13 08:22 AM
Window caption says: "Error Starting Program".

Text inside window:
"The FB_INET_SERVER.EXE file is
linked to missing export KERNEL32.DLL:OpenThread.".

And it's on Windows 98 SE.

Nickolay Samofatov added a comment - 23/Jan/13 10:07 AM
Well, some code was added into Firebird that broke Win98 support after the issue was closed.

In this particular case OpenThread call is used in fb_exception.cpp to check if threads are still alive.

The code is not very good, as it iterates over all threads and opens each and every one of them. If you have 2000+ threads this might take a while.

You might want to read MSDN and see if Win98 has OpenThread replacement. Or you might undo the patch that introduced OpenThread usage.
IMO this change only introduced a performance regression and should not have other useful effects.