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

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:duerst@it.aoyama.ac.jp     

Received on Friday, 3 November 2006 02:57:01 UTC