[CCing bug-gnulib because that's where socklen.m4 comes from] Hi,
Yann Bourdeau wrote in <https://lists.gnu.org/archive/html/bug-gettext/2023-05/msg00031.html>: > I'm using the recipe defined in the INSTALL.windows text file that use Cygwin > and Visual Studio. > ... > The error occurs while compile libtextstyle: > ... > > checking for socklen_t... no > checking for socklen_t equivalent... configure: error: Cannot find a type to > use in place of socklen_t > configure: error: ./configure failed for libtextstyle > > I noticed the following earlier in the log: > checking for winsock2.h... (cached) no Indeed, that's the cause. On native Windows systems, winsock2.h is expected to be found; this header file is expected to define socklen_t. The test "checking for socklen_t equivalent..." is only meant to be run for the sake of old Unix platforms (HP-UX, IRIX, OSF/1). > However, socklent_t is defined in the Windows header files and > it seems to no fin winsock2.h. I don't know if it is related. This suggests that your INCLUDE variable is missing some directory. Here's how I set the INCLUDE and LIB variables in a MSVC 14.30 (= Visual C++ 2022) installation for x86_64 on Windows 10. For arm there will be changes needed, and for Windows 11 there will also be changes needed, I guess. And maybe the Visual C++ version (14.35.32215) is also not the same on your side as on mine. =============================================================================== # Set environment variables for using MSVC 14.30, # for creating native 64-bit Windows executables. # Windows C library headers and libraries. WindowsCrtIncludeDir='C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt' WindowsCrtLibDir='C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\ucrt\' INCLUDE="${WindowsCrtIncludeDir};$INCLUDE" LIB="${WindowsCrtLibDir}x64;$LIB" # Windows API headers and libraries. WindowsSdkIncludeDir='C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\' WindowsSdkLibDir='C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\um\' INCLUDE="${WindowsSdkIncludeDir}um;${WindowsSdkIncludeDir}shared;$INCLUDE" LIB="${WindowsSdkLibDir}x64;$LIB" # Visual C++ tools, headers and libraries. VSINSTALLDIR='C:\Program Files\Microsoft Visual Studio\2022\Community' VCINSTALLDIR="${VSINSTALLDIR}"'\VC' PATH=`cygpath -u "${VCINSTALLDIR}"`/Tools/MSVC/14.35.32215/bin/Hostx64/x64:"$PATH" INCLUDE="${VCINSTALLDIR}"'\Tools\MSVC\14.35.32215\include;'"${INCLUDE}" LIB="${VCINSTALLDIR}"'\Tools\MSVC\14.35.32215\lib\x64;'"${LIB}" export INCLUDE LIB =============================================================================== It's all a bit of a search-and-guess game to find the correct values for these variables. Bruno