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