conan profile show default or conan profile show <profile> if custom profile is in use)[settings]
arch=x86
os=Linux
compiler=gcc
compiler.version=4.9
compiler.libcxx=libstdc++11
build_type=RelWithDebInfo
[options]
[build_requires]
[env]
CONAN_CMAKE_FIND_ROOT_PATH=/opt/x-tools/i686-cube-linux-gnu/i686-cube-linux-gnu/sysroot
AS=i686-cube-linux-gnu-as
CC=i686-cube-linux-gnu-gcc
LD=i686-cube-linux-gnu-ld
CONAN_CMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
AR=i686-cube-linux-gnu-ar
STRIP=i686-cube-linux-gnu-strip
CONAN_CMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
PATH=['/opt/x-tools/i686-cube-linux-gnu/bin']
CHOST=i686-cube-linux-gnu
RANLIB=i686-cube-linux-gnu-ranlib
CXX=i686-cube-linux-gnu-g++
DEBIAN_ARCH=i386
CONAN_CMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
Just cross compile libcurl to 32-bit on a 64-bit build server:
$ conan create . libcurl/7.66.0@user/stable --profile ~/debian8-32bit -s autoconf:arch_build=x86_64 -s autoconf:os_build=Linux --build missing
# full log below
# ...
buildconf: autoconf version 2.69 (ok)
buildconf: autom4te not found. Weird autoconf installation!
libcurl/7.66.0@user/stable:
libcurl/7.66.0@user/stable: ERROR: Package 'e09fc80b54a82214ff4e294e65637d5143291473' build failed
libcurl/7.66.0@user/stable: WARN: Build folder /home/user/.conan/data/libcurl/7.66.0/user/stable/build/e09fc80b54a82214ff4e294e65637d5143291473
ERROR: libcurl/7.66.0@user/stable: Error in build() method, line 163
self._build_with_autotools()
while calling '_build_with_autotools', line 309
self.run("./buildconf", win_bash=use_win_bash, run_environment=True)
ConanException: Error 1 while executing ./buildconf
The problem is, that also m4 got cross compiled to a 32 bit binary and so autom4te doesn't work:
$ /home/user/.conan/data/m4/1.4.18/_/_/package/0577087d5d52caeb6d37e49e62443af590c62d8a/bin/m4
-bash: /home/user/.conan/data/m4/1.4.18/_/_/package/0577087d5d52caeb6d37e49e62443af590c62d8a/bin/m4: cannot execute binary file: Exec format error
Click to expand log
Exporting package recipe
libcurl/7.66.0@user/stable exports: File 'conandata.yml' found. Exporting it...
libcurl/7.66.0@user/stable exports: Copied 1 '.yml' file: conandata.yml
libcurl/7.66.0@user/stable exports_sources: Copied 1 '.am' file: lib_Makefile_add.am
libcurl/7.66.0@user/stable exports_sources: Copied 1 '.txt' file: CMakeLists.txt
libcurl/7.66.0@user/stable: The stored package has not changed
libcurl/7.66.0@user/stable: Exported revision: f2587aae7f48f10a363f05f214585c29
Configuration:
[settings]
arch=x86
build_type=RelWithDebInfo
compiler=gcc
compiler.libcxx=libstdc++11
compiler.version=4.9
os=Linux
autoconf:arch_build=x86_64
autoconf:os_build=Linux
[options]
[build_requires]
[env]
AR=i686-cube-linux-gnu-ar
AS=i686-cube-linux-gnu-as
CC=i686-cube-linux-gnu-gcc
CHOST=i686-cube-linux-gnu
CONAN_CMAKE_FIND_ROOT_PATH=/opt/x-tools/i686-cube-linux-gnu/i686-cube-linux-gnu/sysroot
CONAN_CMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
CONAN_CMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
CONAN_CMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
CXX=i686-cube-linux-gnu-g++
DEBIAN_ARCH=i386
LD=i686-cube-linux-gnu-ld
PATH=[/opt/x-tools/i686-cube-linux-gnu/bin]
RANLIB=i686-cube-linux-gnu-ranlib
STRIP=i686-cube-linux-gnu-strip
libcurl/7.66.0@user/stable: WARN: Package is corrupted, removing folder: /home/user/.conan/data/libcurl/7.66.0/user/stable/package/e09fc80b54a82214ff4e294e65637d5143291473
Installing package: libcurl/7.66.0@user/stable
Requirements
libcurl/7.66.0@user/stable from local cache - Cache
openssl/1.1.1g from local cache - Cache
zlib/1.2.11 from local cache - Cache
Packages
libcurl/7.66.0@user/stable:e09fc80b54a82214ff4e294e65637d5143291473 - Build
openssl/1.1.1g:3da9a9b704432ce201939628f009d77c5e7bba93 - Cache
zlib/1.2.11:3da9a9b704432ce201939628f009d77c5e7bba93 - Cache
Build requirements
autoconf/2.69 from local cache - Cache
automake/1.16.2 from local cache - Cache
libtool/2.4.6 from local cache - Cache
m4/1.4.18 from 'conan-center' - Cache
Build requirements packages
autoconf/2.69:44fcf6b9a7fb86b2586303e3db40189d3b511830 - Cache
automake/1.16.2:258f6f05ca54813b3d7180161753df7f9ccf7e1d - Cache
libtool/2.4.6:ce4c84f37bf8204c5d58f9b9ac44191836d5ccd1 - Cache
m4/1.4.18:0577087d5d52caeb6d37e49e62443af590c62d8a - Cache
Cross-build from 'Linux:x86_64' to 'Linux:x86'
Installing (downloading, building) binaries...
m4/1.4.18: Already installed!
m4/1.4.18: Appending PATH environment variable: /home/user/.conan/data/m4/1.4.18/_/_/package/0577087d5d52caeb6d37e49e62443af590c62d8a/bin
m4/1.4.18: Setting M4 environment variable: /home/user/.conan/data/m4/1.4.18/_/_/package/0577087d5d52caeb6d37e49e62443af590c62d8a/bin/m4
openssl/1.1.1g: Already installed!
zlib/1.2.11: Already installed!
autoconf/2.69: Already installed!
autoconf/2.69: Appending PATH env var with : /home/user/.conan/data/autoconf/2.69/_/_/package/44fcf6b9a7fb86b2586303e3db40189d3b511830/bin
autoconf/2.69: Setting AC_MACRODIR to /home/user/.conan/data/autoconf/2.69/_/_/package/44fcf6b9a7fb86b2586303e3db40189d3b511830/bin/share/autoconf
autoconf/2.69: Setting AUTOCONF to /home/user/.conan/data/autoconf/2.69/_/_/package/44fcf6b9a7fb86b2586303e3db40189d3b511830/bin/autoconf
autoconf/2.69: Setting AUTORECONF to /home/user/.conan/data/autoconf/2.69/_/_/package/44fcf6b9a7fb86b2586303e3db40189d3b511830/bin/autoreconf
autoconf/2.69: Setting AUTOHEADER to /home/user/.conan/data/autoconf/2.69/_/_/package/44fcf6b9a7fb86b2586303e3db40189d3b511830/bin/autoheader
autoconf/2.69: Setting AUTOM4TE to /home/user/.conan/data/autoconf/2.69/_/_/package/44fcf6b9a7fb86b2586303e3db40189d3b511830/bin/autom4te
autoconf/2.69: Setting AUTOM4TE_PERLLIBDIR to /home/user/.conan/data/autoconf/2.69/_/_/package/44fcf6b9a7fb86b2586303e3db40189d3b511830/bin/share/autoconf
automake/1.16.2: Already installed!
automake/1.16.2: Appending PATH env var with : /home/user/.conan/data/automake/1.16.2/_/_/package/258f6f05ca54813b3d7180161753df7f9ccf7e1d/bin
automake/1.16.2: Setting ACLOCAL to /home/user/.conan/data/automake/1.16.2/_/_/package/258f6f05ca54813b3d7180161753df7f9ccf7e1d/bin/aclocal
automake/1.16.2: Setting AUTOMAKE_DATADIR to /home/user/.conan/data/automake/1.16.2/_/_/package/258f6f05ca54813b3d7180161753df7f9ccf7e1d/bin/share
automake/1.16.2: Setting AUTOMAKE_LIBDIR to /home/user/.conan/data/automake/1.16.2/_/_/package/258f6f05ca54813b3d7180161753df7f9ccf7e1d/bin/share/automake-1.16
automake/1.16.2: Setting AUTOMAKE_PERLLIBDIR to /home/user/.conan/data/automake/1.16.2/_/_/package/258f6f05ca54813b3d7180161753df7f9ccf7e1d/bin/share/automake-1.16
automake/1.16.2: Setting AUTOMAKE to /home/user/.conan/data/automake/1.16.2/_/_/package/258f6f05ca54813b3d7180161753df7f9ccf7e1d/bin/automake
automake/1.16.2: Append M4 include directories to AUTOMAKE_CONAN_INCLUDES environment variable
libtool/2.4.6: Already installed!
libtool/2.4.6: Appending PATH env: /home/user/.conan/data/libtool/2.4.6/_/_/package/ce4c84f37bf8204c5d58f9b9ac44191836d5ccd1/bin
libtool/2.4.6: Setting LIBTOOLIZE env to /home/user/.conan/data/libtool/2.4.6/_/_/package/ce4c84f37bf8204c5d58f9b9ac44191836d5ccd1/bin/libtoolize
libtool/2.4.6: Appending ACLOCAL_PATH env: /home/user/.conan/data/libtool/2.4.6/_/_/package/ce4c84f37bf8204c5d58f9b9ac44191836d5ccd1/bin/share/aclocal
libtool/2.4.6: Setting LIBTOOL_PKGLTDLDIR environment variable to /home/user/.conan/data/libtool/2.4.6/_/_/package/ce4c84f37bf8204c5d58f9b9ac44191836d5ccd1/bin/share/libtool
libtool/2.4.6: Setting LIBTOOL_DATADIR environment variable to /home/user/.conan/data/libtool/2.4.6/_/_/package/ce4c84f37bf8204c5d58f9b9ac44191836d5ccd1/bin/share
libtool/2.4.6: Setting LIBTOOL_ACLOCALDIR environment variable to /home/user/.conan/data/libtool/2.4.6/_/_/package/ce4c84f37bf8204c5d58f9b9ac44191836d5ccd1/bin/share/aclocal
libtool/2.4.6: Setting LIBTOOL_PREFIX environment variable to /home/user/.conan/data/libtool/2.4.6/_/_/package/ce4c84f37bf8204c5d58f9b9ac44191836d5ccd1
libtool/2.4.6: Setting LIBTOOL_PKGAUXDIR environment variable to /home/user/.conan/data/libtool/2.4.6/_/_/package/ce4c84f37bf8204c5d58f9b9ac44191836d5ccd1/bin/share/libtool/build-aux
libtool/2.4.6: Appending AUTOMAKE_CONAN_INCLUDES environment variable: /home/user/.conan/data/libtool/2.4.6/_/_/package/ce4c84f37bf8204c5d58f9b9ac44191836d5ccd1/bin/share/aclocal
libcurl/7.66.0@user/stable: Applying build-requirement: libtool/2.4.6
libcurl/7.66.0@user/stable: Applying build-requirement: automake/1.16.2
libcurl/7.66.0@user/stable: Applying build-requirement: autoconf/2.69
libcurl/7.66.0@user/stable: Applying build-requirement: m4/1.4.18
libcurl/7.66.0@user/stable: WARN: Build folder is dirty, removing it: /home/user/.conan/data/libcurl/7.66.0/user/stable/build/e09fc80b54a82214ff4e294e65637d5143291473
libcurl/7.66.0@user/stable: Copying sources to build folder
libcurl/7.66.0@user/stable: Building your package in /home/user/.conan/data/libcurl/7.66.0/user/stable/build/e09fc80b54a82214ff4e294e65637d5143291473
libcurl/7.66.0@user/stable: Generator cmake created conanbuildinfo.cmake
libcurl/7.66.0@user/stable: Generator pkg_config created openssl.pc
libcurl/7.66.0@user/stable: Generator pkg_config created libtool.pc
libcurl/7.66.0@user/stable: Generator pkg_config created m4.pc
libcurl/7.66.0@user/stable: Generator pkg_config created automake.pc
libcurl/7.66.0@user/stable: Generator pkg_config created autoconf.pc
libcurl/7.66.0@user/stable: Generator pkg_config created zlib.pc
libcurl/7.66.0@user/stable: Calling build()
buildconf: autoconf version 2.69 (ok)
buildconf: autom4te not found. Weird autoconf installation!
libcurl/7.66.0@user/stable:
libcurl/7.66.0@user/stable: ERROR: Package 'e09fc80b54a82214ff4e294e65637d5143291473' build failed
libcurl/7.66.0@user/stable: WARN: Build folder /home/user/.conan/data/libcurl/7.66.0/user/stable/build/e09fc80b54a82214ff4e294e65637d5143291473
ERROR: libcurl/7.66.0@user/stable: Error in build() method, line 163
self._build_with_autotools()
while calling '_build_with_autotools', line 309
self.run("./buildconf", win_bash=use_win_bash, run_environment=True)
ConanException: Error 1 while executing ./buildconf
When I tried to print the autom4te version (in the buildconf with --keep-source) I got following output:
$ echo `${AUTOM4TE:-autom4te} --version`
autom4te: need GNU m4 1.4 or later: /home/user/.conan/data/m4/1.4.18/_/_/package/0577087d5d52caeb6d37e49e62443af590c62d8a/bin/m4
Same problem while crosscompiling to powerpc.
Does the behavior change when you build libcurl using the following command?
conan create . libcurl/7.66.0@user/stable -pr:h ~/debian8-32bit -pr:b default --build missing
(this assumes the default profile contains a profile for your build machine)
@madebr Thanks, this is working!
Doc here: https://docs.conan.io/en/latest/reference/profiles.html#build-profiles-and-host-profiles
I ran into following problems:
checking for GNU M4 that supports accurate traces... configure: error: no acceptable m4 could be found in $PATH.
GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended.
GNU M4 1.4.15 uses a buggy replacement strstr on some systems.
Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug.
autoconf/2.69:
autoconf/2.69: ERROR: Package '44fcf6b9a7fb86b2586303e3db40189d3b511830' build failed
autoconf/2.69: WARN: Build folder /home/user/.conan/data/autoconf/2.69/_/_/build/44fcf6b9a7fb86b2586303e3db40189d3b511830
ERROR: autoconf/2.69: Error in build() method, line 61
autotools = self._configure_autotools()
while calling '_configure_autotools', line 52
self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder)
ConanException: Error 1 while executing /home/user/.conan/data/autoconf/2.69/_/_/build/44fcf6b9a7fb86b2586303e3db40189d3b511830/source_subfolder/configure '--datarootdir=/home/user/.conan/data/autoconf/2.69/_/_/package/44fcf6b9a7fb86b2586303e3db40189d3b511830/bin/share' '--prefix=/home/user/.conan/data/autoconf/2.69/_/_/package/44fcf6b9a7fb86b2586303e3db40189d3b511830' '--bindir=${prefix}/bin' '--sbindir=${prefix}/bin' '--libexecdir=${prefix}/bin' '--libdir=${prefix}/lib' '--includedir=${prefix}/include' '--oldincludedir=${prefix}/include' --target=x86-linux-gnu
configure: error: Autoconf 2.65 or better is required.
Please make sure it is installed and in your PATH.
automake/1.16.2:
automake/1.16.2: ERROR: Package '258f6f05ca54813b3d7180161753df7f9ccf7e1d' build failed
automake/1.16.2: WARN: Build folder /home/user/.conan/data/automake/1.16.2/_/_/build/258f6f05ca54813b3d7180161753df7f9ccf7e1d
ERROR: automake/1.16.2: Error in build() method, line 71
autotools = self._configure_autotools()
while calling '_configure_autotools', line 55
self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder)
ConanException: Error 1 while executing /home/user/.conan/data/automake/1.16.2/_/_/build/258f6f05ca54813b3d7180161753df7f9ccf7e1d/source_subfolder/configure '--datarootdir=/home/user/.conan/data/automake/1.16.2/_/_/package/258f6f05ca54813b3d7180161753df7f9ccf7e1d/bin/share' '--prefix=/home/user/.conan/data/automake/1.16.2/_/_/package/258f6f05ca54813b3d7180161753df7f9ccf7e1d' '--bindir=${prefix}/bin' '--sbindir=${prefix}/bin' '--libexecdir=${prefix}/bin' '--libdir=${prefix}/lib' '--includedir=${prefix}/include' '--oldincludedir=${prefix}/include' --target=x86-linux-gnu
checking for GNU M4 that supports accurate traces... configure: error: no acceptable m4 could be found in $PATH.
GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended.
GNU M4 1.4.15 uses a buggy replacement strstr on some systems.
Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug.
libtool/2.4.6:
libtool/2.4.6: ERROR: Package 'd1fac3866430f2c499fc05491534b9ea0f903087' build failed
libtool/2.4.6: WARN: Build folder /home/user/.conan/data/libtool/2.4.6/_/_/build/d1fac3866430f2c499fc05491534b9ea0f903087
ERROR: libtool/2.4.6: Error in build() method, line 91
autotools = self._configure_autotools()
while calling '_configure_autotools', line 81
self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder)
ConanException: Error 1 while executing /home/user/.conan/data/libtool/2.4.6/_/_/build/d1fac3866430f2c499fc05491534b9ea0f903087/source_subfolder/configure '--datarootdir=/home/user/.conan/data/libtool/2.4.6/_/_/package/d1fac3866430f2c499fc05491534b9ea0f903087/bin/share' '--prefix=/home/user/.conan/data/libtool/2.4.6/_/_/package/d1fac3866430f2c499fc05491534b9ea0f903087' '--enable-shared' '--enable-static' '--enable-ltdl-install' '--bindir=${prefix}/bin' '--sbindir=${prefix}/bin' '--libexecdir=${prefix}/bin' '--libdir=${prefix}/lib' '--includedir=${prefix}/include' '--oldincludedir=${prefix}/include' --target=x86-linux-gnu
Indeed, I tried it for myself by using a 32-bit host profile and 64-bit build profile.
m4, autoconf, automake and libtool are built for the 32-bit host profile instead of 64-bit build profile
I've opened https://github.com/conan-io/conan/issues/7565.