conan-io / conan-center-index

Recipes for the ConanCenter repository
https://conan.io/center
MIT License
948 stars 1.73k forks source link

[package] libcurl/7.79.1 cannot cross-compile x64 -> x86 because of m4/1.4.19 dependency #8313

Open nioncode opened 2 years ago

nioncode commented 2 years ago

Package and Environment Details (include every applicable attribute)

Conan profile (output of conan profile show default or conan profile show <profile> if custom profile is in use)

[settings]
os=Linux
os.distro=CentOS6
os_build=Linux
arch=x86_64
arch_build=x86_64
compiler=gcc
compiler.version=4.8
compiler.libcxx=libstdc++
build_type=Release
[options]
[conf]
[build_requires]
[env]

Steps to reproduce (Include if Applicable)

Use the following conanfile.txt:

[requires]
libcurl/7.79.1

[generators]
cmake_find_package
cmake_paths

Install with: conan install .. -s arch=x86 --build=missing

Logs (Include/Attach if Applicable)

Click to expand log ``` Configuration: [settings] arch=x86 arch_build=x86_64 build_type=Release compiler=gcc compiler.libcxx=libstdc++ compiler.version=4.8 os=Linux os.distro=CentOS6 os_build=Linux [options] [build_requires] [env] libcurl/7.79.1: Not found in local cache, looking in remotes... libcurl/7.79.1: Trying with 'conancenter'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz libcurl/7.79.1: Downloaded recipe revision 0 openssl/1.1.1l: Not found in local cache, looking in remotes... openssl/1.1.1l: Trying with 'conancenter'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz openssl/1.1.1l: Downloaded recipe revision 0 zlib/1.2.11: Not found in local cache, looking in remotes... zlib/1.2.11: Trying with 'conancenter'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz zlib/1.2.11: Downloaded recipe revision 0 libtool/2.4.6: Not found in local cache, looking in remotes... libtool/2.4.6: Trying with 'conancenter'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz libtool/2.4.6: Downloaded recipe revision 0 automake/1.16.4: Not found in local cache, looking in remotes... automake/1.16.4: Trying with 'conancenter'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz automake/1.16.4: Downloaded recipe revision 0 autoconf/2.71: Not found in local cache, looking in remotes... autoconf/2.71: Trying with 'conancenter'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz autoconf/2.71: Downloaded recipe revision 0 m4/1.4.19: Not found in local cache, looking in remotes... m4/1.4.19: Trying with 'conancenter'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz m4/1.4.19: Downloaded recipe revision 0 pkgconf/1.7.4: Not found in local cache, looking in remotes... pkgconf/1.7.4: Trying with 'conancenter'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz pkgconf/1.7.4: Downloaded recipe revision 0 meson/0.59.2: Not found in local cache, looking in remotes... meson/0.59.2: Trying with 'conancenter'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz meson/0.59.2: Downloaded recipe revision 0 ninja/1.10.2: Not found in local cache, looking in remotes... ninja/1.10.2: Trying with 'conancenter'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz ninja/1.10.2: Downloaded recipe revision 0 gnu-config/cci.20201022: Not found in local cache, looking in remotes... gnu-config/cci.20201022: Trying with 'conancenter'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz gnu-config/cci.20201022: Downloaded recipe revision 0 conanfile.txt: Installing package Requirements libcurl/7.79.1 from 'conancenter' - Downloaded openssl/1.1.1l from 'conancenter' - Downloaded zlib/1.2.11 from 'conancenter' - Downloaded Packages libcurl/7.79.1:a247063e97b958dbd0699376c5843f96f5807a05 - Build openssl/1.1.1l:7093403bcab090bc277a0c7f889c5532729d3a52 - Build zlib/1.2.11:7093403bcab090bc277a0c7f889c5532729d3a52 - Build Build requirements autoconf/2.71 from 'conancenter' - Downloaded automake/1.16.4 from 'conancenter' - Downloaded gnu-config/cci.20201022 from 'conancenter' - Downloaded libtool/2.4.6 from 'conancenter' - Downloaded m4/1.4.19 from 'conancenter' - Downloaded meson/0.59.2 from 'conancenter' - Downloaded ninja/1.10.2 from 'conancenter' - Downloaded pkgconf/1.7.4 from 'conancenter' - Downloaded Build requirements packages autoconf/2.71:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Download automake/1.16.4:940ae2123f87b0c78eddddcae404c80602ed7379 - Build gnu-config/cci.20201022:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Download libtool/2.4.6:b925abeee80ccbce1bce480431492590d2043964 - Build m4/1.4.19:93233cb515e4c52a96eac0940bb5519ddd8c9120 - Build meson/0.59.2:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Download ninja/1.10.2:93233cb515e4c52a96eac0940bb5519ddd8c9120 - Build pkgconf/1.7.4:7093403bcab090bc277a0c7f889c5532729d3a52 - Build Cross-build from 'Linux:x86_64' to 'Linux:x86' Installing (downloading, building) binaries... gnu-config/cci.20201022: Retrieving package 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 from remote 'conancenter' Downloading conanmanifest.txt Downloading conaninfo.txt Downloading conan_package.tgz gnu-config/cci.20201022: Package installed 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 gnu-config/cci.20201022: Downloaded package revision 0 autoconf/2.71: Retrieving package 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 from remote 'conancenter' Downloading conanmanifest.txt Downloading conaninfo.txt Downloading conan_package.tgz autoconf/2.71: Package installed 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 autoconf/2.71: Downloaded package revision 0 meson/0.59.2: Retrieving package 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 from remote 'conancenter' Downloading conanmanifest.txt Downloading conaninfo.txt Downloading conan_package.tgz meson/0.59.2: Package installed 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 meson/0.59.2: Downloaded package revision 0 gnu-config/cci.20201022: Appending PATH environment variable: /home/jenkins/.conan/data/gnu-config/cci.20201022/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin Downloading conan_sources.tgz m4/1.4.19: Configuring sources in /home/jenkins/.conan/data/m4/1.4.19/_/_/source m4/1.4.19: Copying sources to build folder m4/1.4.19: Building your package in /home/jenkins/.conan/data/m4/1.4.19/_/_/build/93233cb515e4c52a96eac0940bb5519ddd8c9120 m4/1.4.19: Generator txt created conanbuildinfo.txt m4/1.4.19: Aggregating env generators m4/1.4.19: Calling build() m4/1.4.19: Calling: > source_subfolder/configure '--prefix=/home/jenkins/.conan/data/m4/1.4.19/_/_/package/93233cb515e4c52a96eac0940bb5519ddd8c9120' '--bindir=${prefix}/bin' '--sbindir=${prefix}/bin' '--libexecdir=${prefix}/bin' '--libdir=${prefix}/lib' '--includedir=${prefix}/include' '--oldincludedir=${prefix}/include' '--datarootdir=${prefix}/share' --build=x86_64-linux-gnu --host=x86-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for x86-linux-gnu-strip... no checking for strip... strip configure: WARNING: using cross tools not prefixed with host triplet checking for a race-free mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking for x86-linux-gnu-gcc... no checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... yes checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... -std=gnu11 checking whether gcc -std=gnu11 understands -c and -o together... yes checking whether the compiler is clang... no checking for compiler option needed when checking for declarations... none checking whether make supports the include directive... yes (GNU style) checking dependency style of gcc -std=gnu11... gcc3 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... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for wchar.h... yes checking for minix/config.h... no checking for pthread.h... yes checking for sys/param.h... yes checking for sys/socket.h... yes checking for dirent.h... yes checking for stdio_ext.h... yes checking for getopt.h... yes checking for sys/cdefs.h... yes checking for threads.h... no checking for iconv.h... yes checking for limits.h... yes checking for crtdefs.h... no checking for wctype.h... yes checking for langinfo.h... yes checking for xlocale.h... yes checking for math.h... yes checking for sys/mman.h... yes checking for malloc.h... yes checking for spawn.h... yes checking for sys/time.h... yes checking for sys/random.h... no checking for sys/wait.h... yes checking for features.h... yes checking for arpa/inet.h... yes checking for semaphore.h... yes checking for netdb.h... yes checking for netinet/in.h... yes checking for sys/select.h... yes checking for sys/ioctl.h... yes checking for sys/uio.h... yes checking whether it is safe to define __EXTENSIONS__... yes checking whether _XOPEN_SOURCE should be defined... no checking build system type... x86_64-pc-linux-gnu checking host system type... x86-unknown-linux-gnu checking how to run the C preprocessor... gcc -std=gnu11 -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for Minix Amsterdam compiler... no checking for x86-linux-gnu-ar... no checking for ar... ar checking for x86-linux-gnu-ranlib... no checking for ranlib... ranlib checking whether to use C++... no checking for _LARGEFILE_SOURCE value needed for large files... no checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... 64 configure: autobuild project... GNU M4 configure: autobuild revision... 1.4.19 configure: autobuild hostname... localhost configure: autobuild timestamp... 20211203T112441Z checking for unsigned long long int... yes checking for long long int... yes checking for unsigned long long int... (cached) yes checking for size_t... yes checking for working alloca.h... yes checking for alloca... yes checking for inline... inline checking whether uses 'inline' correctly... yes checking for btowc... yes checking for canonicalize_file_name... yes checking for faccessat... yes checking for realpath... yes checking for lstat... yes checking for _set_invalid_parameter_handler... no checking for fchdir... yes checking for fcntl... yes checking for symlink... yes checking for fdopendir... yes checking for mempcpy... yes checking for fpurge... no checking for __fpurge... yes checking for __freadahead... no checking for __freading... yes checking for fstatat... yes checking for getdtablesize... yes checking for getprogname... no checking for getexecname... no checking for getrandom... no checking for iswcntrl... yes checking for iswblank... yes checking for uselocale... yes checking for newlocale... yes checking for duplocale... yes checking for freelocale... yes checking for mbsinit... yes checking for mbrtowc... yes checking for mbslen... no checking for mprotect... yes checking for mkstemp... yes checking for nl_langinfo... yes checking for openat... yes checking for pipe... yes checking for pipe2... yes checking for posix_spawn_file_actions_addchdir_np... no checking for posix_spawn_file_actions_addchdir... no checking for readlink... yes checking for isblank... yes checking for iswctype... yes checking for link... yes checking for secure_getenv... no checking for getuid... yes checking for geteuid... yes checking for getgid... yes checking for getegid... yes checking for sigaction... yes checking for sigaltstack... yes checking for siginterrupt... yes checking for setrlimit... yes checking for getrlimit... yes checking for snprintf... yes checking for strerror_r... yes checking for __xpg_strerror_r... yes checking for strndup... yes checking for vasnprintf... no checking for wcrtomb... yes checking for wcwidth... yes checking for explicit_bzero... no checking for memset_s... no checking for ftruncate... yes checking for gettimeofday... yes checking for pthread_sigmask... no checking for setenv... yes checking for sleep... yes checking for catgets... yes checking for shutdown... yes checking for mquery... no checking for pstat_getprocvm... no checking for wctob... yes checking for nl_langinfo and CODESET... yes checking for a traditional french locale... fr_FR checking whether malloc is ptrdiff_t safe... no checking whether malloc, realloc, calloc set errno on failure... yes checking whether lstat correctly handles trailing slash... guessing yes checking whether // is distinct from /... unknown, assuming no checking whether realpath works... guessing yes checking for getcwd... yes checking whether the preprocessor supports include_next... yes checking whether source code line length is unlimited... yes checking for gcc -std=gnu11 options needed to detect all undeclared functions... none needed checking if environ is properly declared... yes checking for complete errno.h... yes checking whether strerror_r is declared... yes checking whether strerror_r returns char *... yes checking for mode_t... yes checking for sig_atomic_t... yes checking whether fchdir is declared... yes checking for working fcntl.h... cross-compiling checking for pid_t... yes checking for eaccess... yes checking whether frexp() can be used without linking with libm... yes checking whether alarm is declared... yes checking whether long double and double are the same... no checking whether stdin defaults to large file offsets... yes checking whether fseeko is declared... yes checking for fseeko... yes checking whether fflush works on input streams... cross checking whether stat file-mode macros are broken... no checking for C/C++ restrict keyword... __restrict__ checking for nlink_t... yes checking whether ftello is declared... yes checking whether ungetc works on arbitrary bytes... guessing yes checking for ftello... yes checking whether ftello works... guessing yes checking whether getcwd (NULL, 0) allocates memory for result... guessing yes checking for getcwd with POSIX signature... yes checking whether getcwd is declared... yes checking whether getdtablesize is declared... yes checking for getopt.h... (cached) yes checking for getopt_long_only... yes checking whether getopt is POSIX compatible... guessing yes checking for working GNU getopt function... guessing no checking for pthread.h... (cached) yes checking whether POSIX threads API is available... yes checking whether setlocale (LC_ALL, NULL) is multithread-safe... yes checking whether setlocale (category, NULL) is multithread-safe... yes checking host CPU and C ABI... x86 checking for ld used by gcc -std=gnu11... /opt/rh/devtoolset-2/root/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/ld checking if the linker (/opt/rh/devtoolset-2/root/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/ld) is GNU ld... yes checking for shared library run path origin... done checking 32-bit host C ABI... unknown checking for ELF binary format... yes checking for the common suffixes of directories in the library search path... lib,lib,lib64 checking for iconv... yes checking for working iconv... guessing yes checking whether iconv is compatible with its POSIX signature... yes checking whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.... no checking for wint_t... yes checking whether wint_t is large enough... yes checking whether the compiler produces multi-arch binaries... no checking whether stdint.h conforms to C99... no checking for sys/inttypes.h... no checking for sys/bitypes.h... yes checking for bit size of ptrdiff_t... 32 checking for bit size of size_t... 32 checking for bit size of sig_atomic_t... 32 checking for bit size of wchar_t... 32 checking for bit size of wint_t... 32 checking whether sig_atomic_t is signed... yes checking whether wchar_t is signed... yes checking whether wint_t is signed... no checking for ptrdiff_t integer literal suffix... checking for size_t integer literal suffix... u checking for sig_atomic_t integer literal suffix... checking for wchar_t integer literal suffix... l checking for wint_t integer literal suffix... u checking where to find the exponent in a 'double'... word 1 bit 20 checking where to find the exponent in a 'float'... word 0 bit 23 checking whether byte ordering is bigendian... (cached) no checking whether iswcntrl works... guessing yes checking for towlower... yes checking for wctype_t... yes checking for wctrans_t... yes checking for a traditional japanese locale... ja_JP checking for a french Unicode locale... fr_FR.UTF-8 checking for a transitional chinese locale... zh_CN.GB18030 checking whether langinfo.h defines CODESET... yes checking whether langinfo.h defines T_FMT_AMPM... yes checking whether langinfo.h defines ALTMON_1... no checking whether langinfo.h defines ERA... yes checking whether langinfo.h defines YESEXPR... yes checking for wchar_t... yes checking for good max_align_t... yes checking whether NULL can be used in arbitrary expressions... yes checking whether locale.h defines locale_t... yes checking whether locale.h conforms to POSIX:2001... yes checking whether struct lconv is properly defined... yes checking for LC_MESSAGES... yes checking whether uselocale works... guessing yes checking for fake locale system (OpenBSD)... guessing no checking for Solaris 11.4 locale system... no checking for getlocalename_l... no checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyPreferredLanguages... no checking for multithread API to use... none checking for a sed that does not truncate output... /bin/sed checking whether malloc (0) returns nonnull... guessing yes checking whether NAN macro works... yes checking whether HUGE_VAL works... yes checking for mbstate_t... yes checking for mmap... yes checking for MAP_ANONYMOUS... yes checking whether memchr works... guessing no checking whether memrchr is declared... yes checking whether defines MIN and MAX... no checking whether defines MIN and MAX... yes checking for O_CLOEXEC... yes checking for promoted mode_t type... mode_t checking for library containing posix_spawn... none required checking for posix_spawn... yes checking whether posix_spawn is declared... yes checking for sigset_t... yes checking for SIGPIPE... yes checking for sched.h... yes checking for struct sched_param... yes checking for uid_t in sys/types.h... yes checking for volatile sig_atomic_t... yes checking for sighandler_t... yes checking whether C symbols are prefixed with underscore at the linker level... no checking whether snprintf returns a byte count as in C99... guessing yes checking whether snprintf is declared... yes checking for posix_spawnattr_t... yes checking for posix_spawn_file_actions_t... yes checking for stdbool.h that conforms to C99... yes checking for _Bool... yes checking whether fcloseall is declared... yes checking which flavor of printf attribute matches inttypes macros... system checking whether ecvt is declared... yes checking whether fcvt is declared... yes checking whether gcvt is declared... yes checking whether strdup is declared... yes checking whether strerror(0) succeeds... guessing yes checking for strerror_r with POSIX signature... no checking whether __xpg_strerror_r works... guessing no checking whether strndup is declared... yes checking whether strnlen is declared... yes checking whether strsignal is declared... yes checking whether ldexp() can be used without linking with libm... yes checking for struct timespec in ... yes checking for TIME_UTC in ... no checking whether execvpe is declared... yes checking whether clearerr_unlocked is declared... yes checking whether feof_unlocked is declared... yes checking whether ferror_unlocked is declared... yes checking whether fflush_unlocked is declared... yes checking whether fgets_unlocked is declared... yes checking whether fputc_unlocked is declared... yes checking whether fputs_unlocked is declared... yes checking whether fread_unlocked is declared... yes checking whether fwrite_unlocked is declared... yes checking whether getc_unlocked is declared... yes checking whether getchar_unlocked is declared... yes checking whether putc_unlocked is declared... yes checking whether putchar_unlocked is declared... yes checking for inttypes.h... yes checking for stdint.h... yes checking for intmax_t... yes checking whether snprintf truncates the result as in C99... guessing yes checking for snprintf... (cached) yes checking for strnlen... yes checking for wcslen... yes checking for wcsnlen... yes checking for mbrtowc... (cached) yes checking for wcrtomb... (cached) yes checking whether _snprintf is declared... no checking whether printf supports size specifiers as in C99... guessing yes checking whether printf supports 'long double' arguments... guessing yes checking whether printf supports infinite 'double' arguments... guessing yes checking whether printf supports infinite 'long double' arguments... guessing yes checking whether printf supports the 'a' and 'A' directives... guessing yes checking whether printf supports the 'F' directive... guessing yes checking whether printf supports the 'n' directive... guessing yes checking whether printf supports the 'ls' directive... guessing yes checking whether printf supports the grouping flag... guessing yes checking whether printf supports the left-adjust flag correctly... guessing yes checking whether printf supports the zero flag correctly... guessing yes checking whether printf supports large precisions... guessing yes checking whether printf survives out-of-memory conditions... guessing yes checking whether wcsdup is declared... yes checking whether is self-contained... yes checking for shutdown... (cached) yes checking whether defines the SHUT_* macros... yes checking for struct sockaddr_storage... yes checking for sa_family_t... yes checking for struct sockaddr_storage.ss_family... yes checking for library needed for semaphore functions... none checking for struct timeval... yes checking for wide-enough struct timeval.tv_sec member... yes checking for IPv4 sockets... yes checking for IPv6 sockets... yes checking for off_t... yes checking whether INT32_MAX < INTMAX_MAX... yes checking whether INT64_MAX == LONG_MAX... no checking whether UINT32_MAX < UINTMAX_MAX... yes checking whether UINT64_MAX == ULONG_MAX... no checking whether is self-contained... yes checking for library containing setsockopt... none needed checking whether select supports a 0 argument... guessing yes checking whether select detects invalid fds... guessing yes checking for pthread_t... yes checking for pthread_spinlock_t... yes checking for PTHREAD_CREATE_DETACHED... yes checking for PTHREAD_MUTEX_RECURSIVE... yes checking for PTHREAD_MUTEX_ROBUST... yes checking for PTHREAD_PROCESS_SHARED... yes checking whether setenv is declared... yes checking for search.h... yes checking for tsearch... yes checking whether declares ioctl... yes checking whether unsetenv is declared... yes checking for alloca as a compiler built-in... yes checking whether to enable assertions... yes checking whether btowc(0) is correct... guessing yes checking whether btowc(EOF) is correct... guessing yes checking for __builtin_expect... yes checking whether this system supports file names of any length... no checking for library containing clock_gettime... -lrt checking for clock_gettime... yes checking for clock_settime... yes checking for closedir... yes checking for d_ino member in directory struct... guessing yes checking for dirfd... yes checking whether dirfd is declared... yes checking whether dirfd is a macro... no checking whether // is distinct from /... (cached) unknown, assuming no checking whether dup works... guessing yes checking whether dup2 works... guessing yes checking for error_at_line... yes checking whether fflush works on input streams... (cached) cross checking whether fcntl handles F_DUPFD correctly... guessing yes checking whether fcntl understands F_DUPFD_CLOEXEC... guessing no checking whether fdopendir is declared... yes checking whether fdopendir works... guessing yes checking whether fflush works on input streams... (cached) cross checking for flexible array member... yes checking whether conversion from 'int' to 'long double' works... guessing yes checking whether fopen recognizes a trailing slash... guessing yes checking whether fopen supports the mode character 'x'... guessing yes checking whether fopen supports the mode character 'e'... guessing yes checking for __fpending... yes checking whether __fpending is declared... yes checking whether fpurge is declared... no checking whether free is known to preserve errno... no checking whether frexp works... guessing yes checking whether frexpl is declared... yes checking whether frexpl() can be used without linking with libm... yes checking whether frexpl works... guessing yes checking for fseeko... (cached) yes checking whether fflush works on input streams... (cached) cross checking for _fseeki64... no checking whether fstatat (..., 0) works... guessing yes checking for ftello... (cached) yes checking whether ftello works... (cached) guessing yes checking whether getcwd handles long file names properly... guessing no, but it is partly working checking for getpagesize... yes checking whether getcwd succeeds when 4k < cwd_length < 16k... guessing no checking whether getdtablesize works... guessing yes checking for getpagesize... (cached) yes checking whether getpagesize is declared... yes checking whether program_invocation_name is declared... yes checking whether program_invocation_short_name is declared... yes checking whether __argv is declared... no checking whether the compiler generally respects inline... yes checking whether isnan(double) can be used without linking with libm... yes checking whether isnan(float) can be used without linking with libm... yes checking whether isnan(float) works... guessing yes checking whether isnan(long double) can be used without linking with libm... yes checking whether isnanl works... guessing yes checking whether iswblank is declared... yes checking whether iswdigit is ISO C compliant... guessing yes checking whether iswxdigit is ISO C compliant... guessing yes checking whether the compiler supports the __inline keyword... yes checking whether lseek detects pipes... yes checking whether mbrtowc handles incomplete characters... guessing yes checking whether mbrtowc works as well as mbtowc... guessing yes checking whether mbrtowc handles a NULL pwc argument... guessing yes checking whether mbrtowc handles a NULL string argument... guessing yes checking whether mbrtowc has a correct return value... guessing yes checking whether mbrtowc returns 0 when parsing a NUL character... guessing yes checking whether mbrtowc stores incomplete characters... guessing no checking whether mbrtowc works on empty input... guessing no checking whether the C locale is free of encoding errors... guessing no checking whether mbrtowc handles incomplete characters... (cached) guessing yes checking whether mbrtowc works as well as mbtowc... (cached) guessing yes checking for mbtowc... yes checking for bp-sym.h... no checking for mempcpy... (cached) yes checking for memrchr... yes checking whether mkdir handles trailing slash... guessing yes checking whether mkdir handles trailing dot... guessing yes checking for mkdtemp... yes checking for working mkstemp... guessing yes checking whether YESEXPR works... guessing yes checking for obstacks that work with any size object... no checking whether open recognizes a trailing slash... guessing yes checking for opendir... yes checking for paths.h... yes checking for confstr... yes checking for sched_setparam... yes checking for sched_setscheduler... yes checking for setegid... yes checking for seteuid... yes checking for vfork... yes checking whether frexp works... (cached) guessing yes checking whether ldexp can be used without linking with libm... (cached) yes checking whether frexpl() can be used without linking with libm... (cached) yes checking whether frexpl works... (cached) guessing yes checking whether frexpl is declared... (cached) yes checking whether ldexpl() can be used without linking with libm... yes checking whether ldexpl works... guessing yes checking whether ldexpl is declared... yes checking whether program_invocation_name is declared... (cached) yes checking whether program_invocation_short_name is declared... (cached) yes checking for raise... yes checking for sigprocmask... yes checking for rawmemchr... yes checking for readdir... yes checking whether readlink signature is correct... yes checking whether readlink handles trailing slash correctly... guessing yes checking whether readlink truncates results correctly... guessing yes checking for reallocarray... no checking for working re_compile_pattern... guessing no checking for libintl.h... yes checking whether isblank is declared... yes checking whether rename honors trailing slash on destination... guessing yes checking whether rename honors trailing slash on source... guessing yes checking whether rename manages hard links correctly... guessing yes checking whether rename manages existing destinations correctly... guessing yes checking for rewinddir... yes checking whether rmdir works... guessing yes checking for __secure_getenv... yes checking whether setlocale supports the C locale... guessing yes checking whether setlocale (LC_ALL, NULL) is multithread-safe... (cached) yes checking whether setlocale (category, NULL) is multithread-safe... (cached) yes checking for struct sigaction.sa_sigaction... yes checking for signbit macro... guessing yes checking for signbit compiler built-ins... guessing yes checking for sigprocmask... (cached) yes checking for stack direction... unknown checking for stack_t... yes checking for working sigaltstack... guessing yes checking for correct stack_t interpretation... guessing yes checking for stdint.h... (cached) yes checking for SIZE_MAX... yes checking for snprintf... (cached) yes checking whether snprintf respects a size of 1... guessing yes checking whether printf supports POSIX/XSI format strings with positions... guessing yes checking for ssize_t... yes checking whether stat handles trailing slashes on files... guessing yes checking for struct stat.st_atim.tv_nsec... yes checking whether struct stat.st_atim is of type struct timespec... yes checking for struct stat.st_birthtimespec.tv_nsec... no checking for struct stat.st_birthtimensec... no checking for struct stat.st_birthtim.tv_nsec... no checking for working stdalign.h... no checking for va_copy... yes checking for stpcpy... yes checking for strchrnul... yes checking whether strchrnul works... guessing yes checking for working strerror function... guessing yes checking for working strndup... guessing yes checking for working strnlen... yes checking for strsignal... yes checking whether strsignal always returns a string... guessing yes checking whether strtod obeys C99... guessing yes checking for sys/single_threaded.h... no checking for ptrdiff_t... yes checking for vasprintf... yes checking for vasprintf... (cached) yes checking for waitid... yes checking whether mbrtowc handles incomplete characters... (cached) guessing yes checking whether mbrtowc works as well as mbtowc... (cached) guessing yes checking whether wcrtomb works in the C locale... guessing yes checking whether wcrtomb return value is correct... guessing yes checking whether wcwidth is declared... yes checking whether wcwidth works reasonably in UTF-8 locales... guessing yes checking for stdint.h... (cached) yes checking for a traditional french locale... (cached) fr_FR checking for a french Unicode locale... (cached) fr_FR.UTF-8 checking for a traditional french locale... (cached) fr_FR checking for a turkish Unicode locale... tr_TR.UTF-8 checking whether open recognizes a trailing slash... (cached) guessing yes checking for close_range... no checking for explicit_memset... no checking whether fdopen sets errno... guessing yes checking whether freopen works on closed fds... guessing no checking for gettimeofday with POSIX signature... almost checking for library containing inet_pton... none required checking whether inet_pton is declared... yes checking whether byte ordering is bigendian... (cached) no checking for ioctl... yes checking for ioctl with POSIX signature... no checking where to find the exponent in a 'double'... (cached) word 1 bit 20 checking where to find the exponent in a 'float'... (cached) word 0 bit 23 checking where to find the exponent in a 'long double'... unknown checking for a traditional french locale... (cached) fr_FR checking for a french Unicode locale... (cached) fr_FR.UTF-8 checking for a traditional japanese locale... (cached) ja_JP checking for a transitional chinese locale... (cached) zh_CN.GB18030 checking for a traditional french locale... (cached) fr_FR checking for a french Unicode locale... (cached) fr_FR.UTF-8 checking for a traditional japanese locale... (cached) ja_JP checking for a transitional chinese locale... (cached) zh_CN.GB18030 checking whether link obeys POSIX... guessing yes checking for a traditional french locale... (cached) fr_FR checking for a french Unicode locale... (cached) fr_FR.UTF-8 checking for a traditional japanese locale... (cached) ja_JP checking for a transitional chinese locale... (cached) zh_CN.GB18030 checking for a french Unicode locale... (cached) fr_FR.UTF-8 checking for a french Unicode locale... (cached) fr_FR.UTF-8 checking for a transitional chinese locale... (cached) zh_CN.GB18030 checking for library containing nanosleep... none required checking for working nanosleep... guessing no (mishandles large arguments) checking whether is self-contained... yes checking for a traditional french locale... (cached) fr_FR checking for a french Unicode locale... (cached) fr_FR.UTF-8 checking whether pthread_create exists as a global function... yes checking whether pthread_sigmask is a macro... no checking for putenv compatible with GNU and SVID... guessing yes checking whether sched_yield is declared... yes checking whether select supports a 0 argument... (cached) guessing yes checking whether select detects invalid fds... (cached) guessing yes checking whether setenv validates arguments... guessing yes checking for a traditional french locale... (cached) fr_FR checking for a french Unicode locale... (cached) fr_FR.UTF-8 checking for a traditional japanese locale... (cached) ja_JP checking for a transitional chinese locale... (cached) zh_CN.GB18030 checking whether sleep is declared... yes checking for working sleep... guessing yes checking for socklen_t... yes checking for a traditional french locale... (cached) fr_FR checking for a french Unicode locale... (cached) fr_FR.UTF-8 checking whether symlink handles trailing slash correctly... guessing yes checking for unsetenv... yes checking for unsetenv() return type... int checking whether unsetenv obeys POSIX... guessing yes checking for a traditional french locale... (cached) fr_FR checking for a french Unicode locale... (cached) fr_FR.UTF-8 checking for a traditional japanese locale... (cached) ja_JP checking for a transitional chinese locale... (cached) zh_CN.GB18030 checking whether wctob works... guessing yes checking whether wctob is declared... yes checking whether an open file can be renamed... guessing no checking if changeword is wanted... no checking which shell to use for syscmd... /bin/sh checking if malloc debugging is wanted... no checking whether NLS is requested... yes checking for msgfmt... no checking for gmsgfmt... : checking for xgettext... no checking for msgmerge... no checking for CFPreferencesCopyAppValue... (cached) no checking for CFLocaleCopyPreferredLanguages... (cached) no checking for GNU gettext in libc... yes checking whether to use NLS... yes checking where the gettext function comes from... libc checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating doc/Makefile config.status: creating lib/Makefile config.status: creating po/Makefile.in config.status: creating src/Makefile config.status: creating tests/Makefile config.status: creating checks/Makefile config.status: creating examples/Makefile config.status: creating lib/config.h config.status: linking source_subfolder/GNUmakefile to GNUmakefile config.status: executing depfiles commands config.status: executing stamp-h commands config.status: executing po-directories commands config.status: creating po/POTFILES config.status: creating po/Makefile make all-recursive make[1]: Entering directory `/home/jenkins/.conan/data/m4/1.4.19/_/_/build/93233cb515e4c52a96eac0940bb5519ddd8c9120' Making all in . make[2]: Entering directory `/home/jenkins/.conan/data/m4/1.4.19/_/_/build/93233cb515e4c52a96eac0940bb5519ddd8c9120' make[2]: Nothing to be done for `all-am'. make[2]: Leaving directory `/home/jenkins/.conan/data/m4/1.4.19/_/_/build/93233cb515e4c52a96eac0940bb5519ddd8c9120' Making all in examples make[2]: Entering directory `/home/jenkins/.conan/data/m4/1.4.19/_/_/build/93233cb515e4c52a96eac0940bb5519ddd8c9120/examples' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/jenkins/.conan/data/m4/1.4.19/_/_/build/93233cb515e4c52a96eac0940bb5519ddd8c9120/examples' Making all in lib make[2]: Entering directory `/home/jenkins/.conan/data/m4/1.4.19/_/_/build/93233cb515e4c52a96eac0940bb5519ddd8c9120/lib' GEN alloca.h GEN configmake.h GEN dirent.h GEN fcntl.h GEN getopt.h GEN getopt-cdefs.h GEN iconv.h GEN inttypes.h GEN langinfo.h GEN limits.h GEN locale.h GEN math.h GEN sched.h GEN signal.h GEN sigsegv.h GEN spawn.h GEN stdalign.h GEN stdint.h GEN stdio.h GEN stdlib.h GEN string.h GEN sys/random.h GEN sys/stat.h GEN sys/types.h GEN sys/wait.h GEN time.h GEN unistd.h GEN unistr.h GEN unitypes.h GEN uniwidth.h GEN wchar.h GEN wctype.h make all-am make[3]: Entering directory `/home/jenkins/.conan/data/m4/1.4.19/_/_/build/93233cb515e4c52a96eac0940bb5519ddd8c9120/lib' CC gl_avltree_oset.o CC asyncsafe-spin.o CC openat-proc.o CC basename-lgpl.o CC binary-io.o CC bitrotate.o CC c-ctype.o CC c-stack.o CC c-strcasecmp.o CC c-strncasecmp.o CC canonicalize.o CC clean-temp.o CC clean-temp-simple.o CC cloexec.o CC close-stream.o CC closein.o CC closeout.o CC concat-filename.o CC dirname.o CC basename.o CC dirname-lgpl.o CC stripslash.o CC execute.o CC exitfail.o CC fatal-signal.o CC fd-hook.o CC fd-safer-flag.o CC dup-safer-flag.o CC file-set.o CC filenamecat.o CC filenamecat-lgpl.o CC findprog-in.o CC fopen-safer.o CC freading.o CC getprogname.o CC hard-locale.o CC hash.o CC hash-pjw.o CC hash-triple-simple.o CC gl_linked_list.o CC gl_linkedhash_list.o CC gl_list.o CC localcharset.o CC localename.o CC localename-table.o CC malloca.o CC math.o CC mbchar.o CC mbiter.o CC mbslen.o CC mbsstr.o CC mbuiter.o CC memchr2.o CC openat-die.o CC gl_oset.o CC pipe2.o CC pipe2-safer.o CC printf-frexp.o CC printf-frexpl.o CC progname.o CC propername.o CC quotearg.o CC save-cwd.o CC malloc/scratch_buffer_dupfree.o CC malloc/scratch_buffer_grow.o CC malloc/scratch_buffer_grow_preserve.o CC malloc/scratch_buffer_set_array_size.o CC setlocale_null.o CC sig-handler.o CC sigsegv.o CC stackvma.o CC spawn-pipe.o ../source_subfolder/lib/sigsegv.c: In function 'sigsegv_handler': ../source_subfolder/lib/sigsegv.c:977:28: error: 'struct vma_struct' has no member named 'is_near_this' : vma.is_near_this (addr, &vma)) ^ make[3]: *** [sigsegv.o] Error 1 make[3]: *** Waiting for unfinished jobs.... ../source_subfolder/lib/stackvma.c: In function 'mincore_get_vma': ../source_subfolder/lib/stackvma.c:829:6: error: 'struct vma_struct' has no member named 'is_near_this' vma->is_near_this = mincore_is_near_this; ^ ../source_subfolder/lib/stackvma.c:829:23: error: 'mincore_is_near_this' undeclared (first use in this function) vma->is_near_this = mincore_is_near_this; ^ ../source_subfolder/lib/stackvma.c:829:23: note: each undeclared identifier is reported only once for each function it appears in ../source_subfolder/lib/stackvma.c: In function 'callback': ../source_subfolder/lib/stackvma.c:869:18: error: 'struct vma_struct' has no member named 'next_start' locals->vma->next_start = start; ^ ../source_subfolder/lib/stackvma.c: In function 'sigsegv_get_vma': ../source_subfolder/lib/stackvma.c:903:12: error: 'struct vma_struct' has no member named 'next_start' vma->next_start = 0; ^ ../source_subfolder/lib/stackvma.c:905:10: error: 'struct vma_struct' has no member named 'is_near_this' vma->is_near_this = simple_is_near_this; ^ ../source_subfolder/lib/stackvma.c:905:27: error: 'simple_is_near_this' undeclared (first use in this function) vma->is_near_this = simple_is_near_this; ^ make[3]: *** [stackvma.o] Error 1 make[3]: Leaving directory `/home/jenkins/.conan/data/m4/1.4.19/_/_/build/93233cb515e4c52a96eac0940bb5519ddd8c9120/lib' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/jenkins/.conan/data/m4/1.4.19/_/_/build/93233cb515e4c52a96eac0940bb5519ddd8c9120/lib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/jenkins/.conan/data/m4/1.4.19/_/_/build/93233cb515e4c52a96eac0940bb5519ddd8c9120' make: *** [all] Error 2 m4/1.4.19: m4/1.4.19: ERROR: Package '93233cb515e4c52a96eac0940bb5519ddd8c9120' build failed m4/1.4.19: WARN: Build folder /home/jenkins/.conan/data/m4/1.4.19/_/_/build/93233cb515e4c52a96eac0940bb5519ddd8c9120 ERROR: m4/1.4.19: Error in build() method, line 95 autotools.make() ConanException: Error 2 while executing make -j4 ```

Interestingly, it works if I specify the same profile twice for build/host, i.e. installing with conan install .. -s arch=x86 --build=missing -pr:b=default -pr:h=default works for building m4, but then fails later on in automake: configure: error: Autoconf 2.65 or better is required.

This is also weird, because it just built autoconf 2.71 a few lines earlier (log attached build-cross.txt since it is a bit verbose).

This has been working fine in the past (I used this machine and profile since months), so it seems like some recent change broke this. This can also be reproduced on other systems (e.g. on my nixos machine), but I figured the CentOS one is the 'cleanest'. My builds are completely broken because of this and I cannot ship new releases. Don't know if this is a conan problem (I tried downgrading to conan 1.35, but nothing changed) or a recipe problem (I tried downgrading curl, but it always uses m4/1.4.19 and I cannot – or don't know how – override this build requirement to use m4/1.4.18).

/cc @madebr (since you worked on https://github.com/conan-io/conan-center-index/issues/6777 which seems similar).

madebr commented 2 years ago

You're having problems building m4, not libcurl. So you need to change the title + initial message of this issue.

The biggest change in the past months is the bump to m4/1.4.19. Does downgrading to m4/1.4.18 fix the problem? You can downgrade, by adding it to the build requirements of your conanfile.txt.

Also, can you try building m4/1.4.19 with/without cross building + just try building it without conan? Perhaps your toolchain has some issue with it?

nioncode commented 2 years ago

You're having problems building m4, not libcurl. So you need to change the title + initial message of this issue.

Sorry, I encountered the error during cross compilation of libcurl and figured it might be the best to post the full reproducable example, since I could not pin-point the problem exactly.

Does downgrading to m4/1.4.18 fix the problem? You can downgrade, by adding it to the build requirements of your conanfile.txt.

This seems to not work correctly. When I use the following conanfile.txt, then conan just builds 1.4.18 ADDITIONALLY, but does not override 1.4.19:

[requires]
libcurl/7.79.1

[build_requires]
m4/1.4.18

[generators]
cmake_find_package
cmake_paths

However, at least building 1.4.18 works fine.

Also, can you try building m4/1.4.19 with/without cross building + just try building it without conan?

Building m4/1.4.19 without cross compiling works fine and building with cross compiling when using profiles (-pr:b=default -pr:h=default) also works (but then automake fails as described in the initial post).

To me there are multiple questions:

  1. Why is there a difference between conan install .. -s arch=x86 --build=missing -pr:b=default -pr:h=default and conan install .. -s arch=x86 --build=missing? Shouldn't these be equivalent if the build and host profile are the same? Is one of those 'more correct'?
  2. Assuming specifying the profiles explicitly is the preferred way, why does automake not find autoconf, although it was just installed in the previous step?

Update: after doing random conan install calls hundreds of times, I now got it to work. I have to do the following:

  1. Install automake without cross compilation: conan install automake/1.16.4@ --build=missing
  2. Then install libcurl with cross compilation: conan install libcurl/7.79.1@ -s arch=x86 --build=missing -pr:b=default -pr:h=default. Note that conan install .. -s arch=x86 --build=missing does not work at this step, yet.
  3. After running 2., conan install .. -s arch=x86 --build=missing also works (i.e. without specifying the profiles explicitly).

It seems like there are a few things going wrong with selecting the correct build/configure flags during cross compilation and installing automake (which builds m4) manually once fixes the problem.

How can I find out why I have to install automake manually? Certainly, this should be handled correctly by conan as transitive dependency, but somehow it fails.

EDIT: might be relevant: https://github.com/conan-io/conan/issues/7565

clxyder commented 1 year ago

Were you by any chance using CFLAGS/CXXFLAGS in your x86 profile and a toolchain as well?

In my case automake was failing because I had the following in my x86 profile

[buildenv]
CFLAGS="-m32"
CXXFLAGS="-m32"

and the following in my toolchain file

# This adds the "-m32" flag to all compile commands
SET(CMAKE_C_FLAGS_INIT "-m32" CACHE STRING "C Flags required by platform")
SET(CMAKE_CXX_FLAGS_INIT "-m32" CACHE STRING "C++ Flags required by platform")

This caused the m32 parameter to be passed multiple times, which some reason was causing the compiler to fail.

I commented out the flags from my profile and everything installed just fine.

These are my configurations

WSL 2.0 - Ubuntu 22.04
conan --version # 2.0.4
libcurl/8.0.1

I used nothing else for the build/tool requires section.