Subject: Re: 25.1.50; --with-x-toolkit options cause the build to fail.

From: Keith David Bershatsky <[email-masked]>
Date: Mon, 21 Mar 2016 20:54:08 -0700

I built few more times this evening and now believe the following to be true:

1.  The patch you proposed resolves the following issue with gtk3 in the master branch, which cannot be resolved absent applying the patch.

    gtkutil.c:521: warning: comparison is always false due to limited range of data type
    gtkutil.c:521: warning: comparison is always false due to limited range of data type
      CC       emacsgtkfixed.o
    emacsgtkfixed.c:36: error: redefinition of typedef 'EmacsFixedPrivate'
    emacsgtkfixed.h:32: error: previous declaration of 'EmacsFixedPrivate' was here
    emacsgtkfixed.c:37: error: redefinition of typedef 'EmacsFixedClass'
    emacsgtkfixed.h:33: error: previous declaration of 'EmacsFixedClass' was here
    make[1]: *** [emacsgtkfixed.o] Error 1
    make: *** [src] Error 2cd .

2.  The patch has nothing to do with the errors when building athena and motif.  Instead, running `make clean` in between builds resolves those issues:

    * * *
    
    image.c:6116: warning: comparison is always false due to limited range of data type
    image.c:6116: warning: comparison is always false due to limited range of data type
    image.c:6116: warning: comparison is always false due to limited range of data type
      CC       xgselect.o
      CC       terminfo.o
      CC       lastfile.o
      CC       widget.o
    /usr/bin/make -C ../admin/charsets all
    make[2]: Nothing to be done for `all'.
    /usr/bin/make -C ../admin/unidata charscript.el
    make[2]: Nothing to be done for `charscript.el'.
      CCLD     temacs
    Undefined symbols:
      "_xaw_create_dialog", referenced from:
          _lw_make_widget in liblw.a(lwlib.o)
      "_xlw_update_one_widget", referenced from:
          _set_one_value in liblw.a(lwlib.o)
      "_xlw_destroy_instance", referenced from:
          _destroy_one_instance in liblw.a(lwlib.o)
      "_xaw_pop_instance", referenced from:
          _lw_pop_all_widgets in liblw.a(lwlib.o)
      "_xaw_creation_table", referenced from:
          _lw_make_widget in liblw.a(lwlib.o)
      "_xaw_destroy_instance", referenced from:
          _destroy_one_instance in liblw.a(lwlib.o)
      "_xlw_popup_menu", referenced from:
          _lw_popup_menu in liblw.a(lwlib.o)
      "_xaw_update_one_widget", referenced from:
          _set_one_value in liblw.a(lwlib.o)
      "_lw_xaw_widget_p", referenced from:
          _get_one_value in liblw.a(lwlib.o)
          _set_one_value in liblw.a(lwlib.o)
          _lw_popup_menu in liblw.a(lwlib.o)
          _lw_pop_all_widgets in liblw.a(lwlib.o)
          _destroy_one_instance in liblw.a(lwlib.o)
      "_lw_lucid_widget_p", referenced from:
          _get_one_value in liblw.a(lwlib.o)
          _set_one_value in liblw.a(lwlib.o)
          _lw_popup_menu in liblw.a(lwlib.o)
          _lw_pop_all_widgets in liblw.a(lwlib.o)
          _destroy_one_instance in liblw.a(lwlib.o)
      "_xlw_creation_table", referenced from:
          _lw_make_widget in liblw.a(lwlib.o)
      "_XawPanedSetRefigureMode", referenced from:
          _lw_refigure_widget in liblw.a(lwlib.o)
    ld: symbol(s) not found
    collect2: ld returned 1 exit status
    make[1]: *** [temacs] Error 1
    make: *** [src] Error 2