Quantcast
Channel: MobileRead Forums - Kindle Developer's Corner
Viewing all articles
Browse latest Browse all 4414

PW3 Having A Pain Trying To Cross-Compile

$
0
0
Howdy,

I've been trying to set up a cross-compiler for my PW3, but I'm having trouble.

I went here and grabbed the release for my kindle (kindlepw2.zip
) and extracted it to my home folder and added the bin directory to my PATH.

By running
Code:

arm-kindlepw2-linux-gnueabi-gcc test.c -o test
I was able to compile a simple hello world C program.

Next, using this command,

Code:

arm-kindlepw2-linux-gnueabi-gcc test.c -o test `pkg-config gtk+-2.0 --cflags` -L./x-tools/arm-kindlepw2-linux-gnueabi/arm-kindlepw2-linux-gnueabi/lib -L./x-tools/arm-kindlepw2-linux-gnueabi/lib -L./lib/ -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrender -lXinerama -lXext -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lXdamage -lXfixes -latk-1.0 -lcairo -lpixman-1 -lpng12 -lxcb-shm -lxcb-render -lX11 -lxcb -lXau -lXdmcp -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lfontconfig -lfreetype -lz -lexpat -lgobject-2.0 -lffi -lgmodule-2.0 -lgthread-2.0 -lglib-2.0
I tried to compile this:

Code:

#include <gtk/gtk.h>

static void hello( GtkWidget *widget,gpointer data ) {
    gtk_main_quit ();
}

static gboolean delete_event( GtkWidget *widget, GdkEvent  *event, gpointer  data ) {
    g_print ("delete event occurred\n");
    return FALSE; // we do want to quit
}

static void destroy( GtkWidget *widget, gpointer  data ) {
    gtk_main_quit ();
}

int main( int  argc, char *argv[] ) {

    GtkWidget *window;
    GtkWidget *button;

    gtk_init (&argc, &argv);

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    g_signal_connect (window, "delete-event", G_CALLBACK (delete_event), NULL);
    g_signal_connect (window, "destroy", G_CALLBACK (destroy), NULL);
    gtk_container_set_border_width (GTK_CONTAINER (window), 10);
    button = gtk_button_new_with_label ("Hello World");
    g_signal_connect (button, "clicked", G_CALLBACK (hello), NULL);
    gtk_container_add (GTK_CONTAINER (window), button);
    gtk_window_set_title ( GTK_WINDOW(window) , "L:A_N:application_ID:test");
    gtk_widget_show_all (window);

    gtk_main ();
    return 0;
}

But it failed with this error

Code:

debian@debian11:~$ arm-kindlepw2-linux-gnueabi-gcc test.c -o test `pkg-config gtk+-2.0 --cflags` -L./x-tools/arm-kindlepw2-linux-gnueabi/arm-kindlepw2-linux-gnueabi/lib -L./x-tools/arm-kindlepw2-linux-gnueabi/lib -L./lib/ -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrender -lXinerama -lXext -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lXdamage -lXfixes -latk-1.0 -lcairo -lpixman-1 -lpng12 -lxcb-shm -lxcb-render -lX11 -lxcb -lXau -lXdmcp -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lfontconfig -lfreetype -lz -lexpat -lgobject-2.0 -lffi -lgmodule-2.0 -lgthread-2.0 -lglib-2.0
In file included from /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h:9,
                from /usr/include/glib-2.0/glib/gtypes.h:32,
                from /usr/include/glib-2.0/glib/galloca.h:32,
                from /usr/include/glib-2.0/glib.h:30,
                from /usr/include/glib-2.0/gobject/gbinding.h:28,
                from /usr/include/glib-2.0/glib-object.h:22,
                from /usr/include/glib-2.0/gio/gioenums.h:28,
                from /usr/include/glib-2.0/gio/giotypes.h:28,
                from /usr/include/glib-2.0/gio/gio.h:26,
                from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                from /usr/include/gtk-2.0/gdk/gdk.h:32,
                from /usr/include/gtk-2.0/gtk/gtk.h:32,
                from test.c:1:
/usr/include/glib-2.0/glib/gtypes.h: In function '_GLIB_CHECKED_ADD_U64':
/usr/include/glib-2.0/glib/gmacros.h:740:31: error: static assertion failed: "Expression evaluates to false"
  740 | #define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
      |                              ^~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gtypes.h:463:3: note: in expansion of macro 'G_STATIC_ASSERT'
  463 |  G_STATIC_ASSERT(sizeof (unsigned long long) == sizeof (guint64));
      |  ^~~~~~~~~~~~~~~
In file included from /usr/include/gtk-2.0/gtk/gtkobject.h:37,
                from /usr/include/gtk-2.0/gtk/gtkwidget.h:36,
                from /usr/include/gtk-2.0/gtk/gtkcontainer.h:35,
                from /usr/include/gtk-2.0/gtk/gtkbin.h:35,
                from /usr/include/gtk-2.0/gtk/gtkwindow.h:36,
                from /usr/include/gtk-2.0/gtk/gtkdialog.h:35,
                from /usr/include/gtk-2.0/gtk/gtkaboutdialog.h:32,
                from /usr/include/gtk-2.0/gtk/gtk.h:33,
                from test.c:1:
/usr/include/gtk-2.0/gtk/gtktypeutils.h: At top level:
/usr/include/gtk-2.0/gtk/gtktypeutils.h:236:1: warning: 'GTypeDebugFlags' is deprecated [-Wdeprecated-declarations]
  236 | void            gtk_type_init  (GTypeDebugFlags    debug_flags);
      | ^~~~
In file included from /usr/include/glib-2.0/gobject/gobject.h:24,
                from /usr/include/glib-2.0/gobject/gbinding.h:29,
                from /usr/include/glib-2.0/glib-object.h:22,
                from /usr/include/glib-2.0/gio/gioenums.h:28,
                from /usr/include/glib-2.0/gio/giotypes.h:28,
                from /usr/include/glib-2.0/gio/gio.h:26,
                from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                from /usr/include/gtk-2.0/gdk/gdk.h:32,
                from /usr/include/gtk-2.0/gtk/gtk.h:32,
                from test.c:1:
/usr/include/glib-2.0/gobject/gtype.h:679:1: note: declared here
  679 | {
      | ^
In file included from /usr/include/gtk-2.0/gtk/gtktoolitem.h:31,
                from /usr/include/gtk-2.0/gtk/gtktoolbutton.h:30,
                from /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h:30,
                from /usr/include/gtk-2.0/gtk/gtk.h:126,
                from test.c:1:
/usr/include/gtk-2.0/gtk/gtktooltips.h:73:3: warning: 'GTimeVal' is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
  73 |  GTimeVal last_popdown;
      |  ^~~~~~~~
In file included from /usr/include/glib-2.0/glib/galloca.h:32,
                from /usr/include/glib-2.0/glib.h:30,
                from /usr/include/glib-2.0/gobject/gbinding.h:28,
                from /usr/include/glib-2.0/glib-object.h:22,
                from /usr/include/glib-2.0/gio/gioenums.h:28,
                from /usr/include/glib-2.0/gio/giotypes.h:28,
                from /usr/include/glib-2.0/gio/gio.h:26,
                from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                from /usr/include/gtk-2.0/gdk/gdk.h:32,
                from /usr/include/gtk-2.0/gtk/gtk.h:32,
                from test.c:1:
/usr/include/glib-2.0/glib/gtypes.h:547:8: note: declared here
  547 | struct _GTimeVal
      |        ^~~~~~~~~

I've done a fair bit of googling, but no solutions.
A nudge in the right direction would be greatly appreciated.

Viewing all articles
Browse latest Browse all 4414

Trending Articles