We have successfully cross compiled GTK and DIRECTFB with all its dependencies for MIPS board.
On running the basic test example of GTK, it is getting struck in the thread loop infinitely.
We had put the  "debug printf"  statement in the gtkmain.c and debugged the test example.
It is getting struck in the  g_main_loop_run (loop); given below is the  code(code snippet from gtkmain.c)
gtk_main (void)
  GList *tmp_list;
  GList *functions;
  GtkInitFunction *init;
  GMainLoop *loop;
printf("\n%s :: %d\n",__FILE__,__LINE__);
  loop = g_main_loop_new (NULL, TRUE);
  main_loops = g_slist_prepend (main_loops, loop);
printf("\n%s :: %d\n",__FILE__,__LINE__);
  tmp_list = functions = init_functions;
  init_functions = NULL;
  while (tmp_list)
      init = tmp_list->data;
      tmp_list = tmp_list->next;
      (* init->function) (init->data);
      g_free (init);
  g_list_free (functions);
printf("\n%s :: %d\n",__FILE__,__LINE__);
  if (g_main_loop_is_running (main_loops->data))
    printf("\n%s :: %d\n",__FILE__,__LINE__);
      g_main_loop_run (loop);
      printf("\n%s :: %d\n",__FILE__,__LINE__);
      gdk_flush ();
printf("\n%s :: %d\n",__FILE__,__LINE__);
  if (quit_functions)
      GList *reinvoke_list = NULL;
      GtkQuitFunction *quitf;


Given below is the src code for test example of GTK:
#include <gtk/gtk.h>

int main( int   argc, char *argv[] )
	GtkWidget *window;
	GtkWidget *pMainWidget;
	GdkPixbuf *image;
	gboolean ret = 0;
	gtk_init (&argc, &argv);
printf("\n\n\ngtk_init (&argc, &argv);\n\n\n");		
	window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
	//gtk_container_set_border_width (GTK_CONTAINER (window), 10);
	image  = gdk_pixbuf_new_from_file ("test.gif", NULL);
   	if (!image)
		return FALSE;
   	pMainWidget = gtk_image_new_from_pixbuf(image);
printf("\n\n\npMainWidget = gtk_image_new_from_pixbuf(image);\n\n\n");	
	gtk_widget_show (pMainWidget);
	gtk_container_add (GTK_CONTAINER (window), pMainWidget);
 printf("\n\n\ngtk_container_add (GTK_CONTAINER (window), pMainWidget);\n\n\n") ; 
	gtk_widget_show (window);
printf("\n\n\nABHISHEK START OF gtk_main\n\n\n");	
	gtk_main ();
printf("\n\n\nABHISHEK END OF gtk_main\n\n\n");
	return 0;
Can anybody Plz throw some light on it?
Thanks in advcance
Thanks & Regards,