Re: [amaya-dev]Re: still trying to compile Amaya on Windows

Martin Duerst <[email protected]>
Newsgroups gmane.comp.web.amaya.devel
Message-ID <6.0.0.20.2.20061102102816.04c19740@localhost>
At 17:24 06/11/01, Martin Duerst wrote:

>Next, I got some link errors, as follows:
>
>linking...
>   Building library .\bin/amaya.lib and object .\bin/amaya.exp
>libwww.lib(resconf.obj) : error LNK2001: unresolved external symbol 
>"_idn__util_getregistrystring"
>
>This has to do with the earlier reported fix in libwww\modules\idn\util.c
>that switched off the WIN32 #define. I tried to add the same #undefine to
>the affected files, namely util.h, resconf.c, and converter.c, but that
>doesn't work, there are some followup errors. But I'm confident that
>I can solve this on my own, it's in the IDN (Internationalized Domain Names)
>code that I added.

I have solved this problem (at least as far as linking is concerned).
I reinstated the #define WIN32 in util.c, but commented out most of
the implementation of idn__util_getregistrystring, so that it just
returns 0, and doesn't use any Windows-specific stuff.


>But for the following link errors, I don't have a solution. Please help.
>
>freetype2110_D.lib(type42.obj) : error LNK2001: unresolved external symbol 
>"__pctype"
>freetype2110_D.lib(type1cid.obj) : error LNK2001: unresolved external 
>symbol "__pctype"
>freetype2110_D.lib(type1.obj) : error LNK2001: unresolved external symbol 
>"__pctype"
>freetype2110_D.lib(type42.obj) : error LNK2001: unresolved external symbol 
>"___mb_cur_max"
>freetype2110_D.lib(type1cid.obj) : error LNK2001: unresolved external 
>symbol "___mb_cur_max"
>freetype2110_D.lib(type1.obj) : error LNK2001: unresolved external symbol 
>"___mb_cur_max"

I tried to look at these. I haven't found "_pctype" or "__mc_cur_max" in
any of the files in the freetype folder. Looking at the files type42.c,
type1cid.c, and type1.c, all of them just include some other .c files.

mb_cur_max, in the form of MB_CUR_MAX, is defined in the C standard
library, as the max number of bytes for a multibyte character in the
current locale. It is defined in stdlib.h, usually as a macro.

I had no idea what to do, but I decided just to add
   int __mb_cur_max;
   int _pctype;
somewhere in a file. I added them in util.c is the idn module of libwww,
to keep all these changes together. But any advice on what the problem
is or how to solve it in a better way is very much appreciated.

Anyway, after these hacks, Amaya 9.52 compiled, and actually started up!
Shortly after startup, I get a "Debug Assertion Failed!"
(file dbgheap.c, line 1017, expression "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)",
and when I ignore that, I get a Debug Error: DAMAGE: before block (#-572662307)
at 0x54A2810. I seem to get these whenever I load a document. Otherwise,
on first impression, things seem to work reasonably okay.

Regards,    Martin.
   


#-#-#  Martin J. Du"rst, Assoc. Professor, Aoyama Gakuin University
#-#-#  http://www.sw.it.aoyama.ac.jp       mailto:[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.