[Mono-devel-list] Strangeness with lib versions

Paolo Molaro lupus at ximian.com
Fri Feb 6 11:03:40 EST 2004


On 02/05/04 Taylor Christopher P wrote:
> I've been trying to build gtk# on my ppc machine and when i tried
> debugging the build (it craps out in the pango directory), I'm getting
> this message:
> 
> ct at winnabego pango $ mono --debug ../parser/gapi-fixup.exe
> --api=pango-api.xml --metadata=Pango.metadata
> 
> ** (../parser/gapi-fixup.exe:3477): WARNING **: Symbol file
> /usr/local/lib/mscorlib.dll has is not a mono symbol file
[...]
> Any suggestions, tips are appreciated!

Most likely the debug symbol data code wasn't written with
portability in mind and it's full of endianess issues: from
metadata/debug-mono-symfile.c:

        magic = *((guint64 *) ptr);
        ptr += sizeof(guint64);
        if (magic != MONO_SYMBOL_FILE_MAGIC) {
                g_warning ("Symbol file %s has is not a mono symbol file", handle->image_file);
                return FALSE;
        }

ptr is a pointer to the data loaded from disk: since it was probably
written from a little endian box it won't work on ppc. Code like that
should be changed to use mono_read64() as in the rest of mono.
Similarly, the code that writes out the data should be changed to emit
it always in little endian format. I filed the following bug to track
it: http://bugzilla.ximian.com/show_bug.cgi?id=53975

lupus

-- 
-----------------------------------------------------------------
lupus at debian.org                                     debian/rules
lupus at ximian.com                             Monkeys do it better



More information about the Mono-devel-list mailing list