GNU bug report logs - #35406
Build error for emacsclient on FreeBSD

Previous Next

Package: emacs;

Reported by: Josh Howard <jraitch <at> outlook.com>

Date: Tue, 23 Apr 2019 23:27:02 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#35406: closed (Build error for emacsclient on FreeBSD)
Date: Thu, 25 Apr 2019 22:17:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 25 Apr 2019 15:15:58 -0700
with message-id <e9072d6e-1c82-3e66-2fcc-ba3c74d7a0b9 <at> cs.ucla.edu>
and subject line Re: bug#35406: Build error for emacsclient on FreeBSD
has caused the debbugs.gnu.org bug report #35406,
regarding Build error for emacsclient on FreeBSD
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
35406: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=35406
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Josh Howard <jraitch <at> outlook.com>
To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org>
Subject: Build error for emacsclient on FreeBSD
Date: Tue, 23 Apr 2019 23:26:05 +0000
It appears in a recent commit there was a change to emacsclient.c that breaks its ability to build on FreeBSD by using the euidaccess() function which doesn't exist on the platform.

CCLD     emacsclient
emacsclient.c:1475:11: warning: implicit declaration of function 'euidaccess' is
      invalid in C99 [-Wimplicit-function-declaration]
              && euidaccess (sockdirname, X_OK) == 0)
                 ^
1 warning generated.
/usr/bin/ld: error: undefined symbol: euidaccess
>>> referenced by emacsclient.c:1475
>>>               /tmp/emacsclient-a0b189.o:(set_local_socket)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake: *** [Makefile:399: emacsclient] Error 1

I'd propose it be switched to eaccess() which should be a synonym on Linux and makes it a bit more portable.

diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index 5871a18ce6..aac1b3c2b4 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -1472,7 +1472,7 @@ set_local_socket (char const *server_name)
          int sockdirnamelen = snprintf (sockdirname, sizeof sockdirname,
                                         "/run/user/%"PRIuMAX, id);
          if (0 <= sockdirnamelen && sockdirnamelen < sizeof sockdirname
-             && euidaccess (sockdirname, X_OK) == 0)
+             && eaccess (sockdirname, X_OK) == 0)
            message
              (true,
               ("%s: Should XDG_RUNTIME_DIR='%s' be in the environment?\n"



[Message part 3 (message/rfc822, inline)]
From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Josh Howard <jraitch <at> outlook.com>, Glenn Morris <rgm <at> gnu.org>,
 35406-done <at> debbugs.gnu.org
Subject: Re: bug#35406: Build error for emacsclient on FreeBSD
Date: Thu, 25 Apr 2019 15:15:58 -0700
On 4/24/19 8:21 PM, Josh Howard wrote:
>
> Yep, this works fine. Thanks!
>
Thanks for checking; closing the bug report.



This bug report was last modified 6 years and 23 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.