unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Emacs master build failing on RHEL 6.8 [image.c]
@ 2019-06-04 11:49 Kaushal Modi
  2019-06-04 19:17 ` Paul Eggert
  0 siblings, 1 reply; 6+ messages in thread
From: Kaushal Modi @ 2019-06-04 11:49 UTC (permalink / raw)
  To: Emacs developers; +Cc: Paul Eggert

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

Hello,

A recent change to image.c broke the emacs master build on my RHEL 6.8
system.

I get this error:

make[2]: Leaving directory '/home/kmodi/downloads/git/emacs/admin/unidata'
  CCLD     temacs
/usr/bin/ld: warning: libgmp.so.3, needed by
/cad/adi/apps/gnu/linux/x86_64/6/lib/libhogweed.so.2, may conflict with
libgmp.so.10
image.o: In function `gif_load':
image.c:(.text+0xa76b): undefined reference to `GifErrorString'
image.c:(.text+0xa7d8): undefined reference to `GifErrorString'
image.c:(.text+0xaefe): undefined reference to `GifErrorString'
collect2: error: ld returned 1 exit status

My librsvg version is 2.26.0 (Reference to a recent discussion around this
topic: https://lists.gnu.org/r/emacs-devel/2019-05/msg00145.html).

My last emacs devel build was 5 days back using
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=cc71a82fc705a73fa3ef6cda3ec6bee1cb654d7e,
and that works fine.

--
Kaushal Modi

[-- Attachment #2: Type: text/html, Size: 1437 bytes --]

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

* Re: Emacs master build failing on RHEL 6.8 [image.c]
  2019-06-04 11:49 Emacs master build failing on RHEL 6.8 [image.c] Kaushal Modi
@ 2019-06-04 19:17 ` Paul Eggert
  2019-06-04 19:36   ` Kaushal Modi
  0 siblings, 1 reply; 6+ messages in thread
From: Paul Eggert @ 2019-06-04 19:17 UTC (permalink / raw)
  To: Kaushal Modi; +Cc: Emacs developers

On 6/4/19 4:49 AM, Kaushal Modi wrote:
> /usr/bin/ld: warning: libgmp.so.3, needed by
> /cad/adi/apps/gnu/linux/x86_64/6/lib/libhogweed.so.2, may conflict with
> libgmp.so.10

This looks like some other glitch in your build process, something you 
should fix but unrelated to the GifErrorString problem.

> image.o: In function `gif_load':
> image.c:(.text+0xa76b): undefined reference to `GifErrorString'
> image.c:(.text+0xa7d8): undefined reference to `GifErrorString'
> image.c:(.text+0xaefe): undefined reference to `GifErrorString'
> collect2: error: ld returned 1 exit status

It looks like your GIFLIB implementation does not match its .h files. 
image.c calls GifErrorString only if HAVE_GIFERRORSTRING, which is true 
only if (5 < GIFLIB_MAJOR + (1 <= GIFLIB_MINOR)). So my guess is that 
your GIFLIB .h files are claiming to be release 5.1 or later, but the 
implementation predates 5.1. Please look into that. The situation is 
somewhat tricky as some GIFLIB .h files apparently define incorrect 
values for GIFLIB_MINOR.

I don't see any recent changes to image.c that would explain your problem.




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

* Re: Emacs master build failing on RHEL 6.8 [image.c]
  2019-06-04 19:17 ` Paul Eggert
@ 2019-06-04 19:36   ` Kaushal Modi
  2019-06-08 14:24     ` Richard Kim
  2019-06-10  2:01     ` Kaushal Modi
  0 siblings, 2 replies; 6+ messages in thread
From: Kaushal Modi @ 2019-06-04 19:36 UTC (permalink / raw)
  To: Paul Eggert; +Cc: Emacs developers

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

Hello Paul,

On Tue, Jun 4, 2019 at 3:17 PM Paul Eggert <eggert@cs.ucla.edu> wrote:

>
> This looks like some other glitch in your build process, something you
> should fix but unrelated to the GifErrorString problem.
>

You are right! I reverted to the old commit where I was last able to build
and I am seeing the same error.

I need to now figure out what change on my side could have caused this.
Sorry for this false alarm.

I'll update here if I figure this out.

[-- Attachment #2: Type: text/html, Size: 888 bytes --]

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

* Re: Emacs master build failing on RHEL 6.8 [image.c]
  2019-06-04 19:36   ` Kaushal Modi
@ 2019-06-08 14:24     ` Richard Kim
  2022-01-16 18:09       ` Eli Zaretskii
  2019-06-10  2:01     ` Kaushal Modi
  1 sibling, 1 reply; 6+ messages in thread
From: Richard Kim @ 2019-06-08 14:24 UTC (permalink / raw)
  To: emacs-devel

Kaushal Modi <kaushal.modi@gmail.com> writes:

> Hello Paul,
>
> On Tue, Jun 4, 2019 at 3:17 PM Paul Eggert <eggert@cs.ucla.edu> wrote:
>
>  This looks like some other glitch in your build process, something you 
>  should fix but unrelated to the GifErrorString problem.
>
> You are right! I reverted to the old commit where I was last able to build and I am seeing the same error.
>
> I need to now figure out what change on my side could have caused this. Sorry for this false alarm.
>
> I'll update here if I figure this out.

Actually I too ran into compile failure on Red Hat 6.6. The root cause
was that the change shown below added code referring to
LIBRSVG_CHECK_VERSION macro which is not defined for me.

I have been using the same build script to build emacs on Red Hat 6.6
for a long time for both master and emacs-26 branches. This is the first
time that emacs build failed for me on RH 6 in many months if not over a
year.

--------------------------------------------------------------------------------
Author:     Paul Eggert <eggert@cs.ucla.edu>
AuthorDate: Thu May 30 15:06:39 2019 -0700
Commit:     Paul Eggert <eggert@cs.ucla.edu>
CommitDate: Thu May 30 15:29:50 2019 -0700

Parent:     d93f4bda7a Simplify xd_signature to pacify GCC 9
Contained:  emacs-26 master
Follows:    emacs-26.2 (78)

Pacify librsvg 2.45.1 and later

* src/image.c (svg_load_image): Pacify librsvg 2.45.1 and later,
and add a FIXME comment about the deprecated librsvg functions.
Backport from master.

1 file changed, 15 insertions(+)
src/image.c | 15 +++++++++++++++

modified   src/image.c
@@ -9306,6 +9306,17 @@ svg_load_image (struct frame *f, struct image *img, char *contents,
   if (filename)
     rsvg_handle_set_base_uri(rsvg_handle, filename);

+  /* Suppress GCC deprecation warnings starting in librsvg 2.45.1 for
+     rsvg_handle_write and rsvg_handle_close.  FIXME: Use functions
+     like rsvg_handle_new_from_gfile_sync on newer librsvg versions,
+     and remove this hack.  */
+  #if GNUC_PREREQ (4, 6, 0)
+   #pragma GCC diagnostic push
+  #endif
+  #if LIBRSVG_CHECK_VERSION (2, 45, 1) && GNUC_PREREQ (4, 2, 0)
+   #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+  #endif
+
   /* Parse the contents argument and fill in the rsvg_handle.  */
   rsvg_handle_write (rsvg_handle, (unsigned char *) contents, size, &err);
   if (err) goto rsvg_error;
@@ -9315,6 +9326,10 @@ svg_load_image (struct frame *f, struct image *img, char *contents,
   rsvg_handle_close (rsvg_handle, &err);
   if (err) goto rsvg_error;

+  #if GNUC_PREREQ (4, 6, 0)
+   #pragma GCC diagnostic pop
+  #endif
+
   rsvg_handle_get_dimensions (rsvg_handle, &dimension_data);
   if (! check_image_size (f, dimension_data.width, dimension_data.height))
     {





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

* Re: Emacs master build failing on RHEL 6.8 [image.c]
  2019-06-04 19:36   ` Kaushal Modi
  2019-06-08 14:24     ` Richard Kim
@ 2019-06-10  2:01     ` Kaushal Modi
  1 sibling, 0 replies; 6+ messages in thread
From: Kaushal Modi @ 2019-06-10  2:01 UTC (permalink / raw)
  To: Paul Eggert; +Cc: Emacs developers

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

On Tue, Jun 4, 2019 at 3:36 PM Kaushal Modi <kaushal.modi@gmail.com> wrote:

>
> I'll update here if I figure this out.
>

Turns out that I have both libgif 4.1.6 and libgif 5.1.0 on my system.

In some juggling of LD_LIBRARY_PATH and INCLUDE_PATH, the gif_lib.h of
v5.1.0 got read, but the libgif.so of v4.1.6 got used (even though the
newer v5.1.0 libgif.so was in the LD_LIBRARY_PATH too).

To fix this, I moved the "-L/path/containing/5.1.0.so" *before* the
"-L/path/containing/4.1.6.so" and this issue got fixed.

After this builds fine properly, I will move libgif/libungif 4.1.6
completely out of LD_LIBRARY_PATH and INCLUDE_PATH (not sure why libungif
doesn't exist for 5.1.0).

[-- Attachment #2: Type: text/html, Size: 1349 bytes --]

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

* Re: Emacs master build failing on RHEL 6.8 [image.c]
  2019-06-08 14:24     ` Richard Kim
@ 2022-01-16 18:09       ` Eli Zaretskii
  0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2022-01-16 18:09 UTC (permalink / raw)
  To: emacs18; +Cc: emacs-devel

> From: Richard Kim <emacs18@gmail.com>
> Date: Sat, 08 Jun 2019 07:24:34 -0700
> 
> Actually I too ran into compile failure on Red Hat 6.6. The root cause
> was that the change shown below added code referring to
> LIBRSVG_CHECK_VERSION macro which is not defined for me.

It is defined either by librsvg headers or, failing that, around line
10175 of image.c



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

end of thread, other threads:[~2022-01-16 18:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-04 11:49 Emacs master build failing on RHEL 6.8 [image.c] Kaushal Modi
2019-06-04 19:17 ` Paul Eggert
2019-06-04 19:36   ` Kaushal Modi
2019-06-08 14:24     ` Richard Kim
2022-01-16 18:09       ` Eli Zaretskii
2019-06-10  2:01     ` Kaushal Modi

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).