With help, I now have a 32-bit emacs binary built
with GTK that runs properly:

    http://mail.opensolaris.org/pipermail/xwin-discuss/2008-August/003452.html

I spent some time today trying to finish the job and uncover
why the 64-bit version doesn't work.

When you start the 64-bit version, it seemingly hangs for a
long period of time, and eventually dumps core.

I believe that the root cause of this problem can be
traced to the behavior of g_utf8_validate(). Consider the
following test program:


         #include "stdio.h"
         #include "glib.h"

        int main(int argc, char **argv)
        {
                printf("validate %d\n", g_utf8_validate("File", -1, NULL));
                return (0);
        }

The constant string "File" is valid UTF8, so g_utf8_validate()
should report True (1). And it does, when built as 32-bit X86
code, or as either 32 or 64-bit code on sparc. On amd64
however:

    %  gcc -m64 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include gtk_test.c 
-lglib-2.0
    % ./a.out
    validate 0

If anyone can shed light on what is happening here, it would
be a big help, and you'll be facilitating the introduction
of 64-bit emacs/GTK into OpenSolaris.

Thanks!

- Ali
 
 
This message posted from opensolaris.org

Reply via email to