--- Begin Message ---
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"
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#35406: Build error for emacsclient on FreeBSD |
Date: |
Thu, 25 Apr 2019 15:15:58 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 |
On 4/24/19 8:21 PM, Josh Howard wrote:
>
> Yep, this works fine. Thanks!
>
Thanks for checking; closing the bug report.
--- End Message ---