GNU bug report logs -
#78701
Undeclared reference to access on Windows
Previous Next
Full log
Message #10 received at 78701-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 05/06/2025 19:22, Kirill Makurin wrote:
> Building libltdl on Windows using clang-cl.exe fails with the following
> diagnostic:
>
> ```
> H:/git/libtool/libltdl/ltdl.c(781,19): error: call to undeclared
> function 'access'; ISO C99 and later do not support implicit function
> declarations [-Wimplicit-function-declaration]
> 781 | int notfound = access (filename, R_OK);
> | ^
> H:/git/libtool/libltdl/ltdl.c(781,19): note: did you mean 'accept'?
> C:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\
> \um\winsock.h(739,19): note: 'accept' declared here
> 739 | SOCKET PASCAL FAR accept (
> | ^
> ```
>
> On native Windows (MSVC/mingw), access is declared in io.h, which is not
> included. (On mingw, it could be indirectly included from
> other header files.)
>
> A solution would be to add
>
> ```
> #if defined (_WIN32) && !defined (__CYGWIN__)
> #include <io.h>
> #endif
> ```
>
> on top of libltdl/ltdl.c.
Thank you for the bug report and suggested patch! I have applied the
change to ltdl.h, and it is on the development branch [1].
[1]
https://cgit.git.savannah.gnu.org/cgit/libtool.git/commit/?h=development&id=a26932a36ecb2c3013be0c1e7fdbf2eb9062e845
--
Ileana Dumitrescu
GPG Public Key: FA26 CA78 4BE1 8892 7F22 B99F 6570 EA01 146F 7354
[OpenPGP_0x6570EA01146F7354.asc (application/pgp-keys, attachment)]
[OpenPGP_signature.asc (application/pgp-signature, attachment)]
This bug report was last modified 35 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.