unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail.
@ 2016-03-13  8:21 Keith David Bershatsky
  2016-03-18  6:57 ` Paul Eggert
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Keith David Bershatsky @ 2016-03-13  8:21 UTC (permalink / raw)
  To: 23003

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





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail.
  2016-03-13  8:21 bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail Keith David Bershatsky
@ 2016-03-18  6:57 ` Paul Eggert
  2016-03-20 17:04 ` Keith David Bershatsky
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Paul Eggert @ 2016-03-18  6:57 UTC (permalink / raw)
  To: Keith David Bershatsky; +Cc: 23003

[-- Attachment #1: Type: text/plain, Size: 955 bytes --]

> emacsgtkfixed.c:36: error: redefinition of typedef 'EmacsFixedPrivate'
> ...
> emacsgtkfixed.c:37: error: redefinition of typedef 'EmacsFixedClass'

Thanks for reporting the problem. It looks like you have a picky C99 compiler 
that rejects duplicate typedefs. I installed into the emacs-25 branch the 
attached patch to fix this porting glitch; please give it a try.

The other diagnostics look like you ran './configure FOO-OPTIONS; make; 
./configure BAR-OPTIONS; make', which does not work in general.  When switching 
'configure' options, in general one must start with a fresh tree.  One way to do 
this is to leave the source tree alone and build in a separate directory, e.g.:

tar xf emacs-25.1.50.tar.gz

mkdir build-foo
cd build-foo
../emacs-25.1.50/configure FOO-OPTIONS
make
cd ..

mkdir build-bar
cd build-bar
../emacs-25.1.50/configure BAR-OPTIONS
make
cd ..


So please try something like the above, after installing the attached patch.

[-- Attachment #2: 0001-Port-to-GTK-with-strict-C99-compiler.patch --]
[-- Type: text/x-diff, Size: 1641 bytes --]

From 09154cfbe27159d5a9f0acd3e3ae89c6969f694d Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 17 Mar 2016 23:45:02 -0700
Subject: [PATCH] Port to GTK with strict C99 compiler

* src/emacsgtkfixed.c: Use workaround for GNOME bug 683906 only
in glib 2.35.6 and earlier, since the bug is fixed in 2.35.7.
* src/emacsgtkfixed.c (EmacsFixedPrivate):
* src/emacsgtkfixed.h (EmacsFixedClass):
Remove duplicate typedef, which strict C99 does not allow (Bug#23003).
---
 src/emacsgtkfixed.c | 3 +--
 src/emacsgtkfixed.h | 1 -
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/emacsgtkfixed.c b/src/emacsgtkfixed.c
index cebd7b6..ca0bbfb 100644
--- a/src/emacsgtkfixed.c
+++ b/src/emacsgtkfixed.c
@@ -27,13 +27,12 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #include "emacsgtkfixed.h"
 
 /* Silence a bogus diagnostic; see GNOME bug 683906.  */
-#if 4 < __GNUC__ + (7 <= __GNUC_MINOR__)
+#if 4 < __GNUC__ + (7 <= __GNUC_MINOR__) && ! GLIB_CHECK_VERSION (2, 35, 7)
 # pragma GCC diagnostic push
 # pragma GCC diagnostic ignored "-Wunused-local-typedefs"
 #endif
 
 typedef struct _EmacsFixed EmacsFixed;
-typedef struct _EmacsFixedPrivate EmacsFixedPrivate;
 typedef struct _EmacsFixedClass EmacsFixedClass;
 
 struct _EmacsFixedPrivate
diff --git a/src/emacsgtkfixed.h b/src/emacsgtkfixed.h
index 3d6a76a..0d09525 100644
--- a/src/emacsgtkfixed.h
+++ b/src/emacsgtkfixed.h
@@ -30,7 +30,6 @@ G_BEGIN_DECLS
 struct frame;
 
 typedef struct _EmacsFixedPrivate       EmacsFixedPrivate;
-typedef struct _EmacsFixedClass         EmacsFixedClass;
 
 struct _EmacsFixed
 {
-- 
2.5.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail.
  2016-03-13  8:21 bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail Keith David Bershatsky
  2016-03-18  6:57 ` Paul Eggert
@ 2016-03-20 17:04 ` Keith David Bershatsky
  2016-03-21  6:24   ` Paul Eggert
  2016-03-22  3:38 ` Keith David Bershatsky
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Keith David Bershatsky @ 2016-03-20 17:04 UTC (permalink / raw)
  To: Paul Eggert; +Cc: 23003

The patch contains email headers . . .  Would it be possible for you to please resend the patch as a regular attachment, so that I don't make a mistake trying to edit/extract the relevant portions?

Thanks,

Keith





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail.
  2016-03-20 17:04 ` Keith David Bershatsky
@ 2016-03-21  6:24   ` Paul Eggert
  0 siblings, 0 replies; 9+ messages in thread
From: Paul Eggert @ 2016-03-21  6:24 UTC (permalink / raw)
  To: Keith David Bershatsky; +Cc: 23003

[-- Attachment #1: Type: text/plain, Size: 476 bytes --]

Keith David Bershatsky wrote:
> The patch contains email headers . . .  Would it be possible for you to please resend the patch as a regular attachment, so that I don't make a mistake trying to edit/extract the relevant portions?

The patch is in the format generated by 'git format-patch'. You can apply it 
with either 'git am' or with 'patch -p1'.

I'm attaching it with a .txt extension this time; perhaps you'll have better 
luck that way. Contents should be identical.


[-- Attachment #2: 0001-Port-to-GTK-with-strict-C99-compiler.txt --]
[-- Type: text/plain, Size: 1641 bytes --]

From 09154cfbe27159d5a9f0acd3e3ae89c6969f694d Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 17 Mar 2016 23:45:02 -0700
Subject: [PATCH] Port to GTK with strict C99 compiler

* src/emacsgtkfixed.c: Use workaround for GNOME bug 683906 only
in glib 2.35.6 and earlier, since the bug is fixed in 2.35.7.
* src/emacsgtkfixed.c (EmacsFixedPrivate):
* src/emacsgtkfixed.h (EmacsFixedClass):
Remove duplicate typedef, which strict C99 does not allow (Bug#23003).
---
 src/emacsgtkfixed.c | 3 +--
 src/emacsgtkfixed.h | 1 -
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/emacsgtkfixed.c b/src/emacsgtkfixed.c
index cebd7b6..ca0bbfb 100644
--- a/src/emacsgtkfixed.c
+++ b/src/emacsgtkfixed.c
@@ -27,13 +27,12 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #include "emacsgtkfixed.h"
 
 /* Silence a bogus diagnostic; see GNOME bug 683906.  */
-#if 4 < __GNUC__ + (7 <= __GNUC_MINOR__)
+#if 4 < __GNUC__ + (7 <= __GNUC_MINOR__) && ! GLIB_CHECK_VERSION (2, 35, 7)
 # pragma GCC diagnostic push
 # pragma GCC diagnostic ignored "-Wunused-local-typedefs"
 #endif
 
 typedef struct _EmacsFixed EmacsFixed;
-typedef struct _EmacsFixedPrivate EmacsFixedPrivate;
 typedef struct _EmacsFixedClass EmacsFixedClass;
 
 struct _EmacsFixedPrivate
diff --git a/src/emacsgtkfixed.h b/src/emacsgtkfixed.h
index 3d6a76a..0d09525 100644
--- a/src/emacsgtkfixed.h
+++ b/src/emacsgtkfixed.h
@@ -30,7 +30,6 @@ G_BEGIN_DECLS
 struct frame;
 
 typedef struct _EmacsFixedPrivate       EmacsFixedPrivate;
-typedef struct _EmacsFixedClass         EmacsFixedClass;
 
 struct _EmacsFixed
 {
-- 
2.5.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail.
  2016-03-13  8:21 bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail Keith David Bershatsky
  2016-03-18  6:57 ` Paul Eggert
  2016-03-20 17:04 ` Keith David Bershatsky
@ 2016-03-22  3:38 ` Keith David Bershatsky
  2016-03-22  3:54 ` Keith David Bershatsky
  2016-03-27  1:57 ` Keith David Bershatsky
  4 siblings, 0 replies; 9+ messages in thread
From: Keith David Bershatsky @ 2016-03-22  3:38 UTC (permalink / raw)
  To: Paul Eggert; +Cc: 23003

It appears that an apology may be needed with respect to launching bug report for 23003 in that the problem appears to be caused by first building Emacs using the `--with-ns` option, followed by building Emacs again using `--with-x`.  I have never used `make clean`, but that appears to resolve the issues with gtk3, athena and motif.

Your patch applies to the master branch, instead of the emacs-25 branch.  But, the patch may not be necessary . . . .

Even when switching between athena and motif, it is apparently necessary to run `make clean` before running a new configure and make.

If it is not inconvenient, perhaps leave this ticket open for a reasonable period of time.  I will be building using all of the options over the next few weeks and will make a note on my calendar to report back.

I would also like to apologize for my unfamiliarity with a patch containing things like:

  From 09154cfbe27159d5a9f0acd3e3ae89c6969f694d Mon Sep 17 00:00:00 2001
  From: Paul Eggert <eggert@cs.ucla.edu>
  Date: Thu, 17 Mar 2016 23:45:02 -0700
  Subject: [PATCH] Port to GTK with strict C99 compiler

I had never seen such a thing before and erroneously assumed it would cause problems when applying the patch.

So, in a nutshell, no changes for now please. . .  Thank you for all your hard work, and my apologies for potentially wasting your time.

Thanks,

Keith





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail.
  2016-03-13  8:21 bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail Keith David Bershatsky
                   ` (2 preceding siblings ...)
  2016-03-22  3:38 ` Keith David Bershatsky
@ 2016-03-22  3:54 ` Keith David Bershatsky
  2016-03-22  5:45   ` Paul Eggert
  2016-03-27  1:57 ` Keith David Bershatsky
  4 siblings, 1 reply; 9+ messages in thread
From: Keith David Bershatsky @ 2016-03-22  3:54 UTC (permalink / raw)
  To: Paul Eggert; +Cc: 23003

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





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail.
  2016-03-22  3:54 ` Keith David Bershatsky
@ 2016-03-22  5:45   ` Paul Eggert
  0 siblings, 0 replies; 9+ messages in thread
From: Paul Eggert @ 2016-03-22  5:45 UTC (permalink / raw)
  To: Keith David Bershatsky; +Cc: 23003

Keith David Bershatsky wrote:

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

Yes, I reproduced a similar problem on Fedora, and tested that the patch works.

The patch has already been applied to the emacs-25 branch, so it shouldn't be 
applied there again. It should be applied to the master branch in the next merge 
from emacs-25; at that point you won't need to apply it yourself any more.

> 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

You can safely ignore these warnings.

>        CCLD     temacs
>      Undefined symbols:
>        "_xaw_create_dialog", referenced from:
>            _lw_make_widget in liblw.a(lwlib.o)

These symbols ought to be defined in lwlib/lwlib-Xlw.o. On my platform:

> $ nm -o lwlib/liblw.a | grep xlw_update_one_widget
> lwlib/liblw.a:lwlib.o:                 U xlw_update_one_widget
> lwlib/liblw.a:lwlib-Xlw.o:0000000000000310 T xlw_update_one_widget

You might investigate why this isn't working for you. One possibility is that 
RANLIB isn't defined correctly on your platform; see lwlib/Makefile.






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail.
  2016-03-13  8:21 bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail Keith David Bershatsky
                   ` (3 preceding siblings ...)
  2016-03-22  3:54 ` Keith David Bershatsky
@ 2016-03-27  1:57 ` Keith David Bershatsky
  2016-03-27  1:58   ` Paul Eggert
  4 siblings, 1 reply; 9+ messages in thread
From: Keith David Bershatsky @ 2016-03-27  1:57 UTC (permalink / raw)
  To: Paul Eggert; +Cc: 23003

The fix has now been merged with the master branch and I am able to build with the default gtk3 without any problems.

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?

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,

Keith





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail.
  2016-03-27  1:57 ` Keith David Bershatsky
@ 2016-03-27  1:58   ` Paul Eggert
  0 siblings, 0 replies; 9+ messages in thread
From: Paul Eggert @ 2016-03-27  1:58 UTC (permalink / raw)
  To: Keith David Bershatsky; +Cc: 23003-done

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.





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-03-27  1:58 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-13  8:21 bug#23003: 25.1.50; --with-x-toolkit options cause the build to fail Keith David Bershatsky
2016-03-18  6:57 ` Paul Eggert
2016-03-20 17:04 ` Keith David Bershatsky
2016-03-21  6:24   ` Paul Eggert
2016-03-22  3:38 ` Keith David Bershatsky
2016-03-22  3:54 ` Keith David Bershatsky
2016-03-22  5:45   ` Paul Eggert
2016-03-27  1:57 ` Keith David Bershatsky
2016-03-27  1:58   ` Paul Eggert

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).