Subject: [Norbert Koch] Error building emacs after 73277a4097b
From: Stefan Kangas <[email-masked]>
To: [email-masked]
Date: Sun, 1 Sep 2024 07:45:35 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Norbert,

Thanks for reporting this.

Forwarding the below to the bug tracker in case anyone sees a quick fix.
I'll be AFK in the next couple of hours or so.

FWIW, I can't reproduce the below on macOS 15 or Ubuntu 22.04 LTS.

Did you try `make bootstrap`?  Could you include your build details as
per `M-x report-emacs-bug`?

-------------------- Start of forwarded message --------------------
From: Norbert Koch
To: Stefan Kangas
Subject: Error building emacs after 73277a4097b
Date: Sun, 01 Sep 2024 16:14:22 +0200

Hello Stefan,

sorry to disturb you, but I get an error when building emacs on my
Debian sid:

--8<---------------cut here---------------start------------->8---
image.c: In function ‘xpm_str_to_int’:
image.c:6254:17: error: implicit declaration of function ‘strtol’; did
you mean ‘strtok’? [-Wimplicit-function-declaration]
 6254 |   long result = strtol (*buf, &p, 10);
      |                 ^~~~~~
      |                 strtok
image.c:6254:17: warning: nested extern declaration of ‘strtol’
[-Wnested-externs]
In file included from ../lib/stdlib.h:49,
                 from /usr/include/glib-2.0/glib/gutils.h:426,
                 from /usr/include/glib-2.0/glib/gthread.h:36,
                 from /usr/include/glib-2.0/glib/gasyncqueue.h:34,
                 from /usr/include/glib-2.0/glib.h:34,
                 from /usr/include/glib-2.0/gobject/gbinding.h:30,
                 from /usr/include/glib-2.0/glib-object.h:24,
                 from /usr/include/librsvg-2.0/librsvg/rsvg.h:30,
                 from image.c:11649:
/usr/include/stdlib.h: At top level:
/usr/include/stdlib.h:177:17: error: conflicting types for ‘strtol’;
have ‘long int(const char * restrict,  char ** restrict,  int)’
  177 | extern long int strtol (const char *__restrict __nptr,
      |                 ^~~~~~
image.c:6254:17: note: previous implicit declaration of ‘strtol’ with
type ‘int()’
 6254 |   long result = strtol (*buf, &p, 10);
      |                 ^~~~~~
--8<---------------cut here---------------end--------------->8---

Regards,
Norbert
-- 
-------------------- End of forwarded message --------------------