Subject: bug#23003: closed (Re: 25.1.50; --with-x-toolkit options cause the build to fail.)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 27 Mar 2016 01:59:02 +0000

Your bug report

#23003: 25.1.50; --with-x-toolkit options cause the build to fail.

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
23003: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23003
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: 25.1.50; --with-x-toolkit options cause the build to fail.
From: Paul Eggert <[email-masked]>
To: Keith David Bershatsky <[email-masked]>
Cc: [email-masked]
Date: Sat, 26 Mar 2016 18:58:18 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Keith David Bershatsky wrote:
> Because the other error messages relating to the athena and motif toolkits are fixed by running `make clean` prior to building, I am assuming that this doesn't require a fix?

Yes, that's right.

> So, if the `make clean` solution is the standard way of handling a situation when changing configuration x-toolkits, then this bug 23003 is resolved.

Thanks, closing.

Subject: 25.1.50; --with-x-toolkit options cause the build to fail.
From: Keith David Bershatsky <[email-masked]>
To: [email-masked]
Date: Sun, 13 Mar 2016 00:21:04 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

There appear to be several issues that relate to building Emacs with X11 support.

The first issue is with the default GTK3 -- i.e., "What toolkit should Emacs use?  GTK3"

  ./configure --with-x --with-ns=no --without-imagemagick --enable-checking='glyphs'

* * *
  CC       xsettings.o
  CC       gtkutil.o
gtkutil.c: In function 'get_utf8_string':
gtkutil.c:521: warning: comparison is always true due to limited range of data type
gtkutil.c:521: warning: comparison is always true due to limited range of data type
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
gtkutil.c:521: warning: comparison is always true due to limited range of data type
gtkutil.c:521: warning: comparison is always true due to limited range of data type
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 2

The second and third issues deal with other types of toolkit that I attempted to use -- i.e., "motif" and "athena".

~/Desktop/emacs $ ./configure --with-x --with-ns=no --with-x-toolkit=motif --without-imagemagick --enable-checking='glyphs'
***
  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

~/Desktop/emacs $ ./configure --with-x --with-ns=no --with-x-toolkit=athena --without-imagemagick --enable-checking='glyphs'
***
  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)
  "_xlwmenu_window_p", referenced from:
      _handle_one_xevent in xterm.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)
  "_xlwmenu_redisplay", referenced from:
      _handle_one_xevent in xterm.o
      _x_hide_tip in xfns.o
  "_xlw_creation_table", referenced from:
      _lw_make_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

I only tried those three (3) toolkit, but perhaps the other possible toolkit have problems also -- however I'm just guessing.

On a less important note, I did not know that it is necessary to manually deactivate --with-ns=no so that I could use --with-x and I spent a lot of time trying to figure that out.  Perhaps when a user types ./configure -h, there could be a message indicating how to disable --with-ns when building on OSX.  Alternatively, if a user specifies --with-x when building on OSX, then that specific setting should trump and internally set --with-ns=no.  Unless, of course it's possible to somehow have the best of both worlds.  If I can have both possibilities, I'd love to know how to do that.

Thanks,

Keith

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

In GNU Emacs 25.1.50.1 (x86_64-apple-darwin10.8.0, NS appkit-1038.36 Version 10.6.8 (Build 10K549))
 of 2016-03-11 built on server.private
Repository revision: ea626c72e590aa7a45fd26df42240854e4225cef
Windowing system distributor 'Apple', version 10.3.1038
Configured using:
 'configure --with-ns --without-imagemagick --enable-checking=glyphs
 CPPFLAGS=-I/Users/HOME/.0.data/.0.emacs/macports/include
 LDFLAGS=-L/Users/HOME/.0.data/.0.emacs/macports/lib'

Configured features:
JPEG RSVG DBUS NOTIFY ACL LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS

Important settings:
  value of $LANG: en_US
  locale-coding-system: utf-8-unix

Major mode: FM

Minor modes in effect:
  tabbar-mode: t
  ml-mode: t
  ds-mode: t
  sd-mode: t

Recent messages:

Load-path shadows:
None found.

Features:
(shadow emacsbug message mml mml-sec epa epg mm-decode mm-bodies
mm-encode gmm-utils mailheader sendmail lawlist-ztree lawlist-ys
lawlist-ws lawlist-wl elmo-imap4 elmo-localdir modb-standard
modb-legacy elmo-internal elmo-flag mmelmo-imap mmelmo-buffer
elsp-generic mel-u epg-config lawlist-w3m doc-view jka-compr
image-mode ccl lawlist-vl lawlist-view lawlist-undo lawlist-txt
lawlist-tm lawlist-tex compare-w diff-mode lawlist-tabbar
lawlist-speedbar lawlist-shell info esh-groups ehelp ange-ftp
lawlist-sgml lawlist-sb lawlist-ruler lawlist-replace
lawlist-rectangle lawlist-re-builder lawlist-python skeleton
lawlist-profiler lawlist-print lawlist-php lawlist-perl lawlist-parens
lawlist-org lawlist-calendar org-agenda org org-macro org-footnote
org-pcomplete org-list org-faces org-entities org-version
ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src
ob-keys ob-comint ob-core ob-eval org-compat org-macs org-loaddefs
find-func holidays hol-loaddefs cal-menu calendar cal-loaddefs
lawlist-neotree lawlist-movement lawlist-mouse lawlist-ml lawlist-misc
lawlist-messages lawlist-mc lawlist-markdown noutline outline
lawlist-lorem lawlist-linum lawlist-keymap lawlist-js json map
thingatpt cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs lawlist-ispell lawlist-isearch
lawlist-info lawlist-imenu lawlist-ibuffer lawlist-hl lawlist-grep
lawlist-git pcvs-util ido seq server conf-mode lawlist-framebufs
lawlist-frame lawlist-fm lawlist-env lawlist-elscreen lawlist-elisp
lawlist-dv lawlist-image lawlist-files zeroconf dbus xml lawlist-ds
lawlist-dired dired dired-loaddefs format-spec lawlist-diff
lawlist-desktop frameset lawlist-saveplace lawlist-debug
lawlist-window debug lawlist-css smie lawlist-compile rx lawlist-color
lawlist-cm lawlist-cc-mode lawlist-cc-awk lawlist-font-lock cl-macs
lawlist-cc-fonts lawlist-cc-guess lawlist-cc-menus lawlist-cc-align
lawlist-cc-cmds lawlist-cc-styles lawlist-cc-engine lawlist-cc-langs
lawlist-cc-vars lawlist-cc-defs lawlist-cc-bytecomp lawlist-calc
lawlist-calc+ lawlist-bk lawlist-bc lawlist-bbdb gnus nnheader subr-x
wid-edit mail-parse rfc2231 mailabbrev mail-extr rfc822 timezone
lawlist-minibuffer gv lawlist-auth gnus-util rmail rmail-loaddefs
rfc2047 rfc2045 ietf-drums mail-utils mm-util mail-prsvr
password-cache lawlist-as lawlist-archive lawlist-apropos lawlist-+
lawlist-lcl byte-opt bytecomp byte-compile cl-extra cconv lawlist-help
disp-table easy-mmode edmacro kmacro quail help-mode easymenu
cl-loaddefs cl-lib pcase derived advice shell pcomplete comint
ansi-color ring savehist time-date mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win
ucs-normalize term/common-win tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode
register page menu-bar rfn-eshadow timer select scroll-bar mouse
jit-lock font-lock syntax facemenu font-core term/tty-colors frame
cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian
slovak czech european ethiopic indian cyrillic chinese charscript
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
minibuffer cl-preloaded nadvice loaddefs button faces cus-face
macroexp files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
dbusbind kqueue cocoa ns multi-tty make-network-process emacs)

Memory information:
nil