Subject: bug#30240: emacs-26; xterm.c: undefined reference to `xg_get_scale' happens with --with-x-toolkit=lucid

From: Matt Armstrong <[email-masked]>
Date: Wed, 24 Jan 2018 11:44:24 -0800

I built from the emacs-26 branch:

$ git checkout emacs-26
$ git log -l
commit 59db8dca030ba6a34d143c3cc6715f02beba1068 (HEAD -> emacs-26, origin/emacs-26)
Author: Robert Pluim <[email-masked]>
Date:   Wed Jan 24 08:55:34 2018 +0100

    Use scaled coordinates when calling into GTK
    
    This is part two of a two part fix for the GTK scaling
    problems.  See the thread starting at
    http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
    for an explanation of why it has been added to Emacs 26.
    
    * src/gtkutil.c (xg_set_geometry): Scale down the coordinates that we
    pass to gtk_window_move and to gtk_window_parse_geometry.
    * src/xterm.c (x_set_offset): Likewise.

$ ./autogen.sh
$ ./configure --with-x-toolkit=lucid --prefix=$HOME/opt/emacs-git
$ make clean && make bootstrap
[...]
xterm.c: In function `x_set_offset`:
xterm.c:10313:15: warning: implicit declaration of function `xg_get_scale` [-Wimplicit-function-declaration]
   int scale = xg_get_scale (f);
               ^~~~~~~~~~~~
xterm.c:10313:3: warning: nested extern declaration of `x_get_scale` [-Wnested-externs]
   int scale = xg_get_scale (f);
   ^~~
xterm.c:10313:7: warning: unused variable `scale` [-Wunused-variable]
   int scale = xg_get_scale (f);
       ^~~~~
[...]
xterm.o: In function `x_set_offset':
/usr/local/google/home/marmstrong/git/emacs/src/xterm.c:10313: undefined reference to `xg_get_scale'
collect2: error: ld returned 1 exit status
Makefile:600: recipe for target 'temacs' failed