bug-libtool
[Top][All Lists]
Advanced

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

bug#78701: Undeclared reference to access on Windows


From: Ileana Dumitrescu
Subject: bug#78701: Undeclared reference to access on Windows
Date: Fri, 6 Jun 2025 20:47:51 +0300
User-agent: Mozilla Thunderbird

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

Attachment: OpenPGP_0x6570EA01146F7354.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature


reply via email to

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