Open mmomtchev opened 2 weeks ago
That class of problems is caused by a GNU make that cannot read cygwin-style paths (/c/users...
), using the GNU make from MSYS2 fixes the problem - maybe these recipes should pull the dependency
The problem is that make/4.4.1
from conan
has the same problem while the make.exe
from msys2/cci.latest
does support this style of paths, however it does not work with CMake.
Description
libiconv
fails to build withclang
on Windows - this is a different problem from the other iconv problems:https://github.com/conan-io/conan-center-index/issues/20848 https://github.com/conan-io/conan-center-index/issues/20477
This is a more recent problem that seems to be common throughout the autotools-based recipes when using
clang
.Package and Environment Details
Conan profile
Steps to reproduce
conan install -pr=clang-win32.profile --build=missing --requires libiconv/1.17
Logs
Click to expand log
``` -------- Installing package libiconv/1.17 (16 of 30) -------- libiconv/1.17: Building from source libiconv/1.17: Package libiconv/1.17:697ff4af68e3adfb2ce9fc03ea77f78dcc1c808d libiconv/1.17: Copying sources to build folder libiconv/1.17: Building your package in C:\Users\mmom\.conan2\p\b\libic87f8a1d6a1f5f\b libiconv/1.17: Calling generate() libiconv/1.17: Generators folder: C:\Users\mmom\.conan2\p\b\libic87f8a1d6a1f5f\b\build-release\conan libiconv/1.17: Generating aggregated env files libiconv/1.17: Generated aggregated env files: ['conanbuild.sh', 'conanrun.bat'] libiconv/1.17: Calling build() libiconv/1.17: apply_conandata_patches(): No patches defined in conandata libiconv/1.17: RUN: "/c/users/mmom/.conan2/p/b/libic87f8a1d6a1f5f/b/src/configure" --disable-shared --enable-static --prefix=/ --bindir=${prefix}/bin --sbindir=${prefix}/bin --libdir=${prefix}/lib --includedir=${prefix}/include --oldincludedir=${prefix}/include MSYS2 is starting for the first time. Executing the initial setup. mkdir: cannot create directory '/dev/shm': Read-only file system Creating /dev/shm directory failed. POSIX semaphores and POSIX shared memory will not work mkdir: cannot create directory '/dev/mqueue': Read-only file system Creating /dev/mqueue directory failed. POSIX message queues will not work Copying skeleton files. These files are for the users to personalise their msys2 experience. They will never be overwritten nor automatically updated. './.bashrc' -> '/home/mmom/.bashrc' './.bash_logout' -> '/home/mmom/.bash_logout' './.bash_profile' -> '/home/mmom/.bash_profile' './.profile' -> '/home/mmom/.profile' Initial setup complete. MSYS2 is now ready to use. configure: loading site script /etc/config.site checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a race-free mkdir -p... /c/users/mmom/.conan2/p/msys27f2f094a41efb/p/bin/msys64/usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make sets $(MAKE)... (cached) yes checking for gcc... clang checking whether the C compiler works... yes checking for C compiler default output file name... a.exe checking for suffix of executables... .exe checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... no checking whether clang accepts -g... yes checking for clang option to enable C11 features... unsupported checking for clang option to enable C99 features... unsupported checking for clang option to enable C89 features... unsupported checking whether clang understands -c and -o together... yes checking whether the compiler is clang... yes checking for compiler option needed when checking for declarations... -Werror=implicit-function-declaration checking whether make supports the include directive... yes (GNU style) checking dependency style of clang... none checking how to run the C preprocessor... clang -E checking for strip... /c/users/mmom/.conan2/p/msys27f2f094a41efb/p/bin/msys64/usr/bin/strip checking build system type... x86_64-w64-mingw32 checking host system type... x86_64-w64-mingw32 checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... no checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... no checking for wchar.h... yes checking for minix/config.h... no checking for sys/param.h... no checking for sys/socket.h... no checking for limits.h... yes checking for sys/time.h... no checking for features.h... no checking for crtdefs.h... yes checking whether it is safe to define __EXTENSIONS__... yes checking whether _XOPEN_SOURCE should be defined... no checking for grep that handles long lines and -e... /c/users/mmom/.conan2/p/msys27f2f094a41efb/p/bin/msys64/usr/bin/grep checking for egrep... /c/users/mmom/.conan2/p/msys27f2f094a41efb/p/bin/msys64/usr/bin/grep -E checking for Minix Amsterdam compiler... no checking for ar... llvm-ar checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... unknown checking for _LARGE_FILES value needed for large files... unknown checking how to print strings... printf checking for a sed that does not truncate output... /c/users/mmom/.conan2/p/msys27f2f094a41efb/p/bin/msys64/usr/bin/sed checking for fgrep... /c/users/mmom/.conan2/p/msys27f2f094a41efb/p/bin/msys64/usr/bin/grep -F checking for non-GNU ld... clang-ld checking if the linker (clang-ld) is GNU ld... no checking for BSD- or MS-compatible name lister (nm)... llvm-nm checking the name lister (llvm-nm) interface... BSD nm checking whether ln -s works... no, using cp -pR checking the maximum length of command line arguments... 8192 checking how to convert x86_64-w64-mingw32 file names to x86_64-w64-mingw32 format... func_convert_file_msys_to_w32 checking how to convert x86_64-w64-mingw32 file names to toolchain format... func_convert_file_msys_to_w32 checking for clang-ld option to reload object files... -r checking for file... file checking for objdump... llvm-objdump checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL checking for dlltool... dlltool checking how to associate runtime and link libraries... func_cygming_dll_for_implib checking for archiver @FILE support... @ checking for strip... /c/users/mmom/.conan2/p/msys27f2f094a41efb/p/bin/msys64/usr/bin/strip checking for ranlib... llvm-ranlib checking command to parse llvm-nm output from clang object... ok checking for sysroot... no checking for a working dd... /c/users/mmom/.conan2/p/msys27f2f094a41efb/p/bin/msys64/usr/bin/dd checking how to truncate binary pipes... /c/users/mmom/.conan2/p/msys27f2f094a41efb/p/bin/msys64/usr/bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... yes checking for dlfcn.h... no checking for as... as checking for dlltool... (cached) dlltool checking for objdump... (cached) llvm-objdump checking for objdir... .libs checking for clang option to produce PIC... -DDLL_EXPORT -DPIC checking if clang PIC flag -DDLL_EXPORT -DPIC works... yes checking if clang static flag works... yes checking if clang supports -c -o file.o... yes checking if clang supports -c -o file.o... (cached) yes checking whether the clang linker (clang-ld) supports shared libraries... yes checking dynamic linker characteristics... Win32 link.exe checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... no checking whether to build static libraries... yes checking for ld... clang-ld checking if the linker (clang-ld) is GNU ld... no checking for shared library path variable... PATH checking whether to activate relocatable installation... no checking how to copy files... cp -p checking how to make hard links... ln checking whether ln -s works... no, using cp -pR checking for windres... windres checking for windres... windres checking for shared library run path origin... done checking 32-bit host C ABI... no checking for ELF binary format... no checking for the common suffixes of directories in the library search path... lib,lib,lib checking for iconv... no, consider installing GNU libiconv checking whether NLS is requested... yes checking for msgfmt... /c/users/mmom/.conan2/p/msys27f2f094a41efb/p/bin/msys64/usr/bin/msgfmt checking for gmsgfmt... /c/users/mmom/.conan2/p/msys27f2f094a41efb/p/bin/msys64/usr/bin/msgfmt checking for xgettext... /c/users/mmom/.conan2/p/msys27f2f094a41efb/p/bin/msys64/usr/bin/xgettext checking for msgmerge... /c/users/mmom/.conan2/p/msys27f2f094a41efb/p/bin/msys64/usr/bin/msgmerge checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyPreferredLanguages... no checking for GNU gettext in libc... no checking for iconv... (cached) no, consider installing GNU libiconv checking for GNU gettext in libintl... no checking whether to use NLS... no checking for mbstate_t... yes checking for wchar_t... yes checking for getc_unlocked... no checking for mbrtowc... yes checking for wcrtomb... yes checking for mbsinit... no checking for setlocale... yes checking whether