Bug #12644
closedSupport debug build on Windows with MSVC
Description
When building debug build with MSVC (-MDd
flag) then it will be linked to ucrtbased.dll
where _isatty
function obviously differs.
I've attached a patch which fixes this so that __pioinfo
will be found for both debug and non-debug builds (x86 and x64)
Anyway I really really don't like this and I think Ruby should keep it's own fd <=> handle mapping and not use this hack, but for now this works until _isatty
changes.
Files
Updated by usa (Usaku NAKAMURA) over 8 years ago
- Status changed from Open to Closed
Applied in changeset r55792.
- win32/win32.c (set_pioinfo_extra): use more reliable way to search
the position of pioinfo of VC14, and also support debug library of it.
patched by davispuh AT gmail.com
[ruby-core:76644] [Bug #12644]
this fixes also [Bug #12631]
Updated by usa (Usaku NAKAMURA) over 8 years ago
Great work! Thank you!
Updated by usa (Usaku NAKAMURA) over 8 years ago
- Backport changed from 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN to 2.1: DONTNEED, 2.2: DONTNEED, 2.3: DONTNEED
Updated by rocifier (Ryan O'Connor) over 7 years ago
davispuh (Dāvis Mosāns) wrote:
When building debug build with MSVC (
-MDd
flag) then it will be linked toucrtbased.dll
where_isatty
function obviously differs.I've attached a patch which fixes this so that
__pioinfo
will be found for both debug and non-debug builds (x86 and x64)Anyway I really really don't like this and I think Ruby should keep it's own fd <=> handle mapping and not use this hack, but for now this works until
_isatty
changes.
I'm running into a similar issue to this trying to build with VS2015. I am seeing this error unexpected ucrtbased.dll
appearing when my debug (MDd) build runs miniruby.exe
Where can I find the exact version of this dll required by this assembly language code?
EDIT: I got it working, please see the separate issue I opened here for the answer: https://bugs.ruby-lang.org/issues/13920
Updated by davispuh (Dāvis Mosāns) over 7 years ago
Most likely your ucrtbased.dll differs in such way that can't locate that structure, so either need to update implementation to work for it (you'll need to look at disassembly)
or you will need to compile with probably older version of MSVC 2015 which worked.
Updated by usa (Usaku NAKAMURA) almost 7 years ago
- Related to Bug #14623: backport r54737, r54740 and r55792 added