emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#21425: closed ([PATCH] Remove needless mkstemp() c


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#21425: closed ([PATCH] Remove needless mkstemp() check)
Date: Thu, 29 Oct 2015 23:00:05 +0000

Your message dated Thu, 29 Oct 2015 23:59:45 +0100
with message-id <address@hidden>
and subject line Re: bug#21425: [PATCH] Remove needless mkstemp() check
has caused the debbugs.gnu.org bug report #21425,
regarding [PATCH] Remove needless mkstemp() check
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
21425: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21425
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: [PATCH] Remove needless mkstemp() check Date: Sun, 06 Sep 2015 16:40:42 +0900 (JST)
There is mkstemp() check by AC_REPLACE_FUNCS() in
configure.ac. If mkstemp() isn't found, mkstemp() is defined
by gnulib-tool.

But mkstemp() is always defined in libguile/mkstemp.c. If we
define mkstemp() by gnulib-tool, mkstemp() is defined
twice. It caused a link error.

The situation is caused when we cross-compile Guile by MinGW
because mkstemp() doesn't exist on Windows.

Here is an error message on my environment:

      CCLD     libguile-2.0.la
    ../lib/.libs/libgnu.a(mkstemp.o): In function `mkstemp':
    .../lib/mkstemp.c:48: multiple definition of `mkstemp'
    .libs/libguile_2.0_la-mkstemp.o:.../libguile/mkstemp.c:68: first defined 
here
    collect2: error: ld returned 1 exit status
    Makefile:2242: recipe for target 'libguile-2.0.la' failed
    make[3]: *** [libguile-2.0.la] Error 1


I attach a patch to fix this problem.

>From 6fca60d595f464b7f505d9132087836ca48d4947 Mon Sep 17 00:00:00 2001
From: Kouhei Sutou <address@hidden>
Date: Sun, 6 Sep 2015 15:53:20 +0900
Subject: [PATCH] Remove needless mkstemp() check

It causes build error on cross-compiling for Windows by the following
multiple definitions error:

      CCLD     libguile-2.0.la
    ../lib/.libs/libgnu.a(mkstemp.o): In function `mkstemp':
    .../lib/mkstemp.c:48: multiple definition of `mkstemp'
    .libs/libguile_2.0_la-mkstemp.o:.../libguile/mkstemp.c:68: first defined 
here
    collect2: error: ld returned 1 exit status
    Makefile:2242: recipe for target 'libguile-2.0.la' failed
    make[3]: *** [libguile-2.0.la] Error 1

* configure.ac: Remove mkstemp() check. mkstemp() is always defined in
  libguile/mkstemp.c.
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 19e00d8..49e937b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1124,7 +1124,7 @@ if test "$enable_regex" = yes; then
    AC_DEFINE([ENABLE_REGEX], 1, [Define when regex support is enabled.])
 fi
 
-AC_REPLACE_FUNCS([strerror memmove mkstemp])
+AC_REPLACE_FUNCS([strerror memmove])
 
 # Reasons for testing:
 #   asinh, acosh, atanh, trunc - C99 standard, generally not available on
-- 
2.5.1


--- End Message ---
--- Begin Message --- Subject: Re: bug#21425: [PATCH] Remove needless mkstemp() check Date: Thu, 29 Oct 2015 23:59:45 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)
Kouhei Sutou <address@hidden> skribis:

> There is mkstemp() check by AC_REPLACE_FUNCS() in
> configure.ac. If mkstemp() isn't found, mkstemp() is defined
> by gnulib-tool.
>
> But mkstemp() is always defined in libguile/mkstemp.c. If we
> define mkstemp() by gnulib-tool, mkstemp() is defined
> twice. It caused a link error.
>
> The situation is caused when we cross-compile Guile by MinGW
> because mkstemp() doesn't exist on Windows.

Indeed.  I pushed as similar patch as efd8a43.

Thank you!

Ludo’.


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]