Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[package] automake/1.16.4: wont build on windows #9048

Closed
chaserdoe opened this issue Jan 24, 2022 · 20 comments
Closed

[package] automake/1.16.4: wont build on windows #9048

chaserdoe opened this issue Jan 24, 2022 · 20 comments
Labels
bug Something isn't working

Comments

@chaserdoe
Copy link

Package and Environment Details (include every applicable attribute)

  • Package Name/Version: automake/1.16.4
  • Operating System+version: Windows 10 20H2
  • Compiler+version: Visual Studio 16
  • Conan version: conan 1.44.1
  • Python version: Python 3.8.3

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

[settings]
os=Windows
os_build=Windows
arch=x86_64
arch_build=x86_64
compiler=Visual Studio
compiler.version=16
build_type=Release
[options]
[conf]
[build_requires]
[env]

Steps to reproduce (Include if Applicable)

conan install --build=automake automake/1.16.4@

Logs (Include/Attach if Applicable)

Click to expand log
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=Visual Studio
compiler.runtime=MD
compiler.version=16
os=Windows
os_build=Windows
[options]
[build_requires]
[env]

automake/1.16.4: Forced build from source
Installing package: automake/1.16.4
Requirements
    autoconf/2.71 from 'conancenter' - Cache
    automake/1.16.4 from 'conancenter' - Cache
    m4/1.4.19 from 'conancenter' - Cache
Packages
    autoconf/2.71:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache
    automake/1.16.4:3e48e69237f7f2196164383ef9dedf0f93cbf249 - Build
    m4/1.4.19:0a420ff5c47119e668867cdb51baff0eca1fdb68 - Cache
Build requirements
    msys2/cci.latest from 'conancenter' - Cache
Build requirements packages
    msys2/cci.latest:eee3fba89db6d777329de604625af8c30d46f080 - Cache

Installing (downloading, building) binaries...
m4/1.4.19: Already installed!
m4/1.4.19: Appending PATH environment variable: D:\testconan\.conan\data\m4\1.4.19\_\_\package\0a420ff5c47119e668867cdb51baff0eca1fdb68\bin
m4/1.4.19: Setting M4 environment variable: D:/testconan/.conan/data/m4/1.4.19/_/_/package/0a420ff5c47119e668867cdb51baff0eca1fdb68/bin/m4.exe
msys2/cci.latest: Already installed!
msys2/cci.latest: Creating MSYS_ROOT env var : D:\.conan\0decba\1\bin\msys64
msys2/cci.latest: Creating MSYS_BIN env var : D:\.conan\0decba\1\bin\msys64\usr\bin
msys2/cci.latest: Appending PATH env var with : D:\.conan\0decba\1\bin\msys64\usr\bin
autoconf/2.71: Already installed!
autoconf/2.71: Appending PATH env var with : D:\testconan\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin
autoconf/2.71: Setting AC_MACRODIR to D:\testconan\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin\share\autoconf
autoconf/2.71: Setting AUTOCONF to /mnt/d/testconan/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoconf
autoconf/2.71: Setting AUTORECONF to /mnt/d/testconan/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoreconf
autoconf/2.71: Setting AUTOHEADER to /mnt/d/testconan/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoheader
autoconf/2.71: Setting AUTOM4TE to /mnt/d/testconan/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autom4te
autoconf/2.71: Setting AUTOM4TE_PERLLIBDIR to D:\testconan\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin\share\autoconf
automake/1.16.4: Applying build-requirement: msys2/cci.latest
automake/1.16.4: WARN: Build folder is dirty, removing it: D:\testconan\.conan\data\automake\1.16.4\_\_\build\3e48e69237f7f2196164383ef9dedf0f93cbf249
automake/1.16.4: Copying sources to build folder
automake/1.16.4: Building your package in D:\testconan\.conan\data\automake\1.16.4\_\_\build\3e48e69237f7f2196164383ef9dedf0f93cbf249
automake/1.16.4: Generator txt created conanbuildinfo.txt
automake/1.16.4: Aggregating env generators
automake/1.16.4: Calling build()
automake/1.16.4: run_in_windows_bash: D:\.conan\0decba\1\bin\msys64\usr\bin\bash.exe --login -c ^"cd \^"/d/testconan/.conan/data/automake/1.16.4/_/_/build/3e48e69237f7f2196164383ef9dedf0f93cbf249\^" ^&^& PATH=\^"/d/.conan/0decba/1/bin/msys64/usr/bin:/d/testconan/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin:/d/testconan/.conan/data/m4/1.4.19/_/_/package/0a420ff5c47119e668867cdb51baff0eca1fdb68/bin:$PATH\^" ^&^& /d/testconan/.conan/data/automake/1.16.4/_/_/build/3e48e69237f7f2196164383ef9dedf0f93cbf249/source_subfolder/configure --help ^"
`configure' configures GNU Automake 1.16.4 to adapt to many kinds of systems.

Usage: /d/testconan/.conan/data/automake/1.16.4/_/_/build/3e48e69237f7f2196164383ef9dedf0f93cbf249/source_subfolder/configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/automake]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --enable-silent-rules   less verbose build output (undo: "make V=1")
  --disable-silent-rules  verbose build output (undo: "make V=0")

Some influential environment variables:
  AM_TEST_RUNNER_SHELL
              a sturdy POSIX shell for our testsuite
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  FC          Fortran compiler command
  FCFLAGS     Fortran compiler flags
  F77         Fortran 77 compiler command
  FFLAGS      Fortran 77 compiler flags
  GNU_CC      GNU C compiler
  GNU_CFLAGS  GNU C compiler flags
  GNU_CXX     GNU C++ compiler
  GNU_CXXFLAGS
              GNU C++ compiler flags
  GNU_FC      GNU Fortran compiler
  GNU_FCFLAGS GNU Fortran compiler flags
  GNU_F77     GNU Fortran 77 compiler
  GNU_FFLAGS  GNU Fortran 77 compiler flags
  GNU_GCJ     GNU Java compiler
  GNU_GCJFLAGS
              GNU Java compiler flags

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to <bug-automake@gnu.org>.
GNU Automake home page: <https://www.gnu.org/software/automake/>.
General help using GNU software: <https://www.gnu.org/gethelp/>.
automake/1.16.4: Calling:
 > /d/testconan/.conan/data/automake/1.16.4/_/_/build/3e48e69237f7f2196164383ef9dedf0f93cbf249/source_subfolder/configure --datarootdir=/d/testconan/.conan/data/automake/1.16.4/_/_/package/3e48e69237f7f2196164383ef9dedf0f93cbf249/res --prefix=/d/testconan/.conan/data/automake/1.16.4/_/_/package/3e48e69237f7f2196164383ef9dedf0f93cbf249
automake/1.16.4: run_in_windows_bash: D:\.conan\0decba\1\bin\msys64\usr\bin\bash.exe --login -c ^"cd \^"/d/testconan/.conan/data/automake/1.16.4/_/_/build/3e48e69237f7f2196164383ef9dedf0f93cbf249\^" ^&^& PATH=\^"/d/.conan/0decba/1/bin/msys64/usr/bin:/d/testconan/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin:/d/testconan/.conan/data/m4/1.4.19/_/_/package/0a420ff5c47119e668867cdb51baff0eca1fdb68/bin:$PATH\^" ^&^& /d/testconan/.conan/data/automake/1.16.4/_/_/build/3e48e69237f7f2196164383ef9dedf0f93cbf249/source_subfolder/configure --datarootdir=/d/testconan/.conan/data/automake/1.16.4/_/_/package/3e48e69237f7f2196164383ef9dedf0f93cbf249/res --prefix=/d/testconan/.conan/data/automake/1.16.4/_/_/package/3e48e69237f7f2196164383ef9dedf0f93cbf249  ^"
configure: loading site script /etc/config.site
checking whether make supports nested variables... yes
checking build system type... x86_64-w64-mingw32
checking host system type... x86_64-w64-mingw32
checking for a BSD-compatible install... /d/.conan/0decba/1/bin/msys64/usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /d/.conan/0decba/1/bin/msys64/usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether ln -s works... no, using cp -pR
checking for perl... /d/.conan/0decba/1/bin/msys64/usr/bin/perl
checking for tex... no
checking for yacc... yacc
checking for lex... lex
checking whether autoconf is installed... no
configure: error: Autoconf 2.65 or better is required.
    Please make sure it is installed and in your PATH.
automake/1.16.4:
automake/1.16.4: ERROR: Package '3e48e69237f7f2196164383ef9dedf0f93cbf249' build failed
automake/1.16.4: WARN: Build folder D:\testconan\.conan\data\automake\1.16.4\_\_\build\3e48e69237f7f2196164383ef9dedf0f93cbf249
ERROR: automake/1.16.4: Error in build() method, line 88
        autotools = self._configure_autotools()
while calling '_configure_autotools', line 72
        self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder)
        ConanException: Error 1 while executing /d/testconan/.conan/data/automake/1.16.4/_/_/build/3e48e69237f7f2196164383ef9dedf0f93cbf249/source_subfolder/configure --datarootdir=/d/testconan/.conan/data/automake/1.16.4/_/_/package/3e48e69237f7f2196164383ef9dedf0f93cbf249/res --prefix=/d/testconan/.conan/data/automake/1.16.4/_/_/package/3e48e69237f7f2196164383ef9dedf0f93cbf249
@YaZasnyal
Copy link
Contributor

Try using powershell. Seems to work for me.

@jellespijker
Copy link
Contributor

Power shell still fails for me

[settings]
os=Windows
os_build=Windows
arch=x86_64
arch_build=x86_64
compiler=Visual Studio
compiler.version=16
build_type=Release
compiler.cppstd=17
[options]
[conf]
tools.cmake.cmaketoolchain:find_package_prefer_config=True
[build_requires]
[env]
MAKE_PROGRAM=nmake.exe

@danimtb
Copy link
Member

danimtb commented May 12, 2022

Tried it with the profile you posted above on a Windows machine with command conan install --build=automake automake/1.16.4@ --update and it worked fine for me:

$conan install --build=automake automake/1.16.4@ --update

Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=Visual Studio
compiler.runtime=MD
compiler.version=16
os=Windows
os_build=Windows
[options]
[build_requires]
[env]

automake/1.16.4: Not found in local cache, looking in remotes...
automake/1.16.4: Trying with 'conancenter'...
Downloading conanmanifest.txt completed [1.58k]
Downloading conanfile.py completed [5.66k]
Downloading conan_export.tgz completed [0.38k]
Decompressing conan_export.tgz completed [0.00k]
automake/1.16.4: Downloaded recipe revision 66a957269a4d17cf0181df5b95123361
autoconf/2.71: Not found in local cache, looking in remotes...
autoconf/2.71: Trying with 'conancenter'...
Downloading conanmanifest.txt completed [1.05k]
Downloading conanfile.py completed [4.53k]
Downloading conan_export.tgz completed [0.39k]
Decompressing conan_export.tgz completed [0.00k]
autoconf/2.71: Downloaded recipe revision 5f54664379c48aa8bdebe61effc62629
m4/1.4.19: Not found in local cache, looking in remotes...
m4/1.4.19: Trying with 'conancenter'...
Downloading conanmanifest.txt completed [1.38k]
Downloading conanfile.py completed [5.46k]
Downloading conan_export.tgz completed [0.32k]
Decompressing conan_export.tgz completed [0.00k]
m4/1.4.19: Downloaded recipe revision d9741f0aa0ac45e6b54a59f79e32ac81
automake/1.16.4: Forced build from source
msys2/cci.latest: Not found in local cache, looking in remotes...
msys2/cci.latest: Trying with 'conancenter'...
Downloading conanmanifest.txt completed [0.10k]
Downloading conanfile.py completed [6.78k]
Downloading conan_export.tgz completed [0.33k]
Decompressing conan_export.tgz completed [0.00k]
msys2/cci.latest: Downloaded recipe revision 3803f282bf82f31cb1635b7106a7c2cd
Installing package: automake/1.16.4
Requirements
    autoconf/2.71 from 'conancenter' - Downloaded
    automake/1.16.4 from 'conancenter' - Downloaded
    m4/1.4.19 from 'conancenter' - Downloaded
Packages
    autoconf/2.71:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Download
    automake/1.16.4:3e48e69237f7f2196164383ef9dedf0f93cbf249 - Build
    m4/1.4.19:0a420ff5c47119e668867cdb51baff0eca1fdb68 - Download
Build requirements
    msys2/cci.latest from 'conancenter' - Downloaded
Build requirements packages
    msys2/cci.latest:eee3fba89db6d777329de604625af8c30d46f080 - Download

Installing (downloading, building) binaries...
m4/1.4.19: Retrieving package 0a420ff5c47119e668867cdb51baff0eca1fdb68 from remote 'conancenter'
Downloading conanmanifest.txt completed [0.15k]
Downloading conaninfo.txt completed [0.32k]
Downloading conan_package.tgz completed [285.30k]
Decompressing conan_package.tgz completed [0.00k]
m4/1.4.19: Package installed 0a420ff5c47119e668867cdb51baff0eca1fdb68
m4/1.4.19: Downloaded package revision 075a2c8bc9977257a8d2767a2914ced0
msys2/cci.latest: Retrieving package eee3fba89db6d777329de604625af8c30d46f080 from remote 'conancenter'
Downloading conanmanifest.txt completed [1723.80k]
Downloading conaninfo.txt completed [0.39k]
Downloading conan_package.tgz completed [290001.19k]
Decompressing conan_package.tgz completed [0.00k]
msys2/cci.latest: Package installed eee3fba89db6d777329de604625af8c30d46f080
msys2/cci.latest: Downloaded package revision 3a40df833075b062a398381008291cae
autoconf/2.71: Retrieving package 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 from remote 'conancenter'
Downloading conanmanifest.txt completed [3.88k]
Downloading conaninfo.txt completed [0.32k]
Downloading conan_package.tgz completed [587.07k]
Decompressing conan_package.tgz completed [0.00k]
autoconf/2.71: Package installed 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
autoconf/2.71: Downloaded package revision c94766d938915ad52a53f240368089a2
m4/1.4.19: Appending PATH environment variable: C:\Users\danimtb\.conan\data\m4\1.4.19\_\_\package\0a420ff5c47119e668867cdb51baff0eca1fdb68\bin
m4/1.4.19: Setting M4 environment variable: C:/Users/danimtb/.conan/data/m4/1.4.19/_/_/package/0a420ff5c47119e668867cdb51baff0eca1fdb68/bin/m4.exe
msys2/cci.latest: Creating MSYS_ROOT env var : C:\.conan\da57ee\1\bin\msys64
msys2/cci.latest: Creating MSYS_BIN env var : C:\.conan\da57ee\1\bin\msys64\usr\bin
msys2/cci.latest: Appending PATH env var with : C:\.conan\da57ee\1\bin\msys64\usr\bin
autoconf/2.71: Appending PATH env var with : C:\Users\danimtb\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin
autoconf/2.71: Setting AC_MACRODIR to C:\Users\danimtb\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin\share\autoconf
autoconf/2.71: Setting AUTOCONF to /c/users/danimtb/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoconf
autoconf/2.71: Setting AUTORECONF to /c/users/danimtb/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoreconf
autoconf/2.71: Setting AUTOHEADER to /c/users/danimtb/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoheader
autoconf/2.71: Setting AUTOM4TE to /c/users/danimtb/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autom4te
autoconf/2.71: Setting AUTOM4TE_PERLLIBDIR to C:\Users\danimtb\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin\share\autoconf
automake/1.16.4: Applying build-requirement: msys2/cci.latest
Downloading conan_sources.tgz completed [1.83k]
Decompressing conan_sources.tgz completed [0.00k]
automake/1.16.4: Configuring sources in C:\Users\danimtb\.conan\data\automake\1.16.4\_\_\source
Downloading automake-1.16.4.tar.gz completed [2329.09k]

automake/1.16.4: Copying sources to build folder
automake/1.16.4: Building your package in C:\Users\danimtb\.conan\data\automake\1.16.4\_\_\build\3e48e69237f7f2196164383ef9dedf0f93cbf249
automake/1.16.4: Generator txt created conanbuildinfo.txt
automake/1.16.4: Aggregating env generators

Apparently, versions and revisions or deperencies are the same, so no idea what is the issue 🤔

@paulharris
Copy link
Contributor

I can add something to this.

automake won't build for me IF I am building a consumer package via "conan install somethingelse --build=missing"

It WILL build if I call "conan install automake/etc" with all of the same profile etc, all the hashes match etc.

Same DOS prompt, one thing after the other, so the environment is not changing.

Lots attached, the difference appears to be when directly installing, the PATH is set up correctly with autoconf etc.
But when installing with --build=missing, the PATH is different.

Environment: Developer MSVC 2022 DOS box
With virtualenv conan 1.49.0 enabled

The failure, from call:
conan install . -if conan-install -pr:h dev-environ/conan-profiles/release-msvc17 -pr:b dev-environ/conan-profiles/release-msvc17 --build=missing
automake-build-fail-on-dos.txt

The success from call:
conan install automake/1.16.4@ -pr:h dev-environ/conan-profiles/release-msvc17 -pr:b dev-environ/conan-profiles/release-msvc17 --build=automake
automake-build-success-on-dos.txt

@jellespijker
Copy link
Contributor

jellespijker commented Aug 12, 2022

@paulharris Sorry for the late response. That doesn't seem to do the trick

C:\dev> conan install autoconf/2.71@_/_ --build=missing -c tools.env.virtualenv:powershell=True --update -r conan-center
Configuration (profile_host):
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=Visual Studio
compiler.cppstd=17
compiler.runtime=MD
compiler.version=17
os=Windows
os_build=Windows
curaengine:compiler.cppstd=20
[options]
[build_requires]
*: autoconf/2.71, automake/1.16.5
[env]
[conf]
tools.cmake.cmaketoolchain:generator=Ninja
tools.env.virtualenv:auto_use=True
tools.gnu:define_libcxx11_abi=True
tools.env.virtualenv:powershell=True

Configuration (profile_build):
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=Visual Studio
compiler.cppstd=17
compiler.runtime=MD
compiler.version=17
os=Windows
os_build=Windows
[options]
[build_requires]
*: autoconf/2.71, automake/1.16.5
[env]
[conf]
tools.cmake.cmaketoolchain:generator=Ninja
tools.env.virtualenv:auto_use=True
tools.gnu:define_libcxx11_abi=True

autoconf/2.71: Retrieving from server 'conan-center'
autoconf/2.71: Trying with 'conan-center'...
Downloading conanmanifest.txt completed [1.05k]
Downloading conanfile.py completed [4.53k]
Downloading conan_export.tgz completed [0.39k]
Decompressing conan_export.tgz completed [0.00k]
autoconf/2.71: Downloaded recipe revision 5f54664379c48aa8bdebe61effc62629
Installing package: autoconf/2.71
Requirements
    autoconf/2.71 from 'conan-center' - Downloaded
    m4/1.4.19 from 'conan-center' - Cache
Packages
    autoconf/2.71:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Download
    m4/1.4.19:0a420ff5c47119e668867cdb51baff0eca1fdb68 - Cache

Installing (downloading, building) binaries...
autoconf/2.71: Retrieving package 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 from remote 'conan-center'
Downloading conanmanifest.txt completed [3.88k]
Downloading conaninfo.txt completed [0.32k]
Downloading conan_package.tgz completed [587.07k]
Decompressing conan_package.tgz completed [0.00k]
autoconf/2.71: Package installed 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
autoconf/2.71: Downloaded package revision c94766d938915ad52a53f240368089a2
m4/1.4.19: Already installed!
m4/1.4.19: Appending PATH environment variable: C:\Users\j.spijker\.conan\data\m4\1.4.19\_\_\package\0a420ff5c47119e668867cdb51baff0eca1fdb68\bin
m4/1.4.19: Setting M4 environment variable: C:/Users/j.spijker/.conan/data/m4/1.4.19/_/_/package/0a420ff5c47119e668867cdb51baff0eca1fdb68/bin/m4.exe
autoconf/2.71: Appending PATH env var with : C:\Users\j.spijker\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin
autoconf/2.71: Setting AC_MACRODIR to C:\Users\j.spijker\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin\share\autoconf
autoconf/2.71: Setting AUTOCONF to /mnt/c/Users/j.spijker/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoconf
autoconf/2.71: Setting AUTORECONF to /mnt/c/Users/j.spijker/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoreconf
autoconf/2.71: Setting AUTOHEADER to /mnt/c/Users/j.spijker/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoheader
autoconf/2.71: Setting AUTOM4TE to /mnt/c/Users/j.spijker/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autom4te
autoconf/2.71: Setting AUTOM4TE_PERLLIBDIR to C:\Users\j.spijker\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin\share\autoconf
Aggregating env generators
C:\dev> conan install automake/1.16.5@_/_ --build=missing -c tools.env.virtualenv:powershell=True --update -r conan-center
Configuration (profile_host):
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=Visual Studio
compiler.cppstd=17
compiler.runtime=MD
compiler.version=17
os=Windows
os_build=Windows
curaengine:compiler.cppstd=20
[options]
[build_requires]
*: autoconf/2.71, automake/1.16.5
[env]
[conf]
tools.cmake.cmaketoolchain:generator=Ninja
tools.env.virtualenv:auto_use=True
tools.gnu:define_libcxx11_abi=True
tools.env.virtualenv:powershell=True

Configuration (profile_build):
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=Visual Studio
compiler.cppstd=17
compiler.runtime=MD
compiler.version=17
os=Windows
os_build=Windows
[options]
[build_requires]
*: autoconf/2.71, automake/1.16.5
[env]
[conf]
tools.cmake.cmaketoolchain:generator=Ninja
tools.env.virtualenv:auto_use=True
tools.gnu:define_libcxx11_abi=True

automake/1.16.5: Retrieving from server 'conan-center'
automake/1.16.5: Trying with 'conan-center'...
Downloading conanmanifest.txt completed [1.58k]
Downloading conanfile.py completed [5.66k]
Downloading conan_export.tgz completed [0.38k]
Decompressing conan_export.tgz completed [0.00k]
automake/1.16.5: Downloaded recipe revision 3fd8b734acc0986a1ee59f372f810410
Installing package: automake/1.16.5
Requirements
    autoconf/2.71 from 'conan-center' - Cache
    automake/1.16.5 from 'conan-center' - Downloaded
    m4/1.4.19 from 'conan-center' - Cache
Packages
    autoconf/2.71:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache
    automake/1.16.5:546cb51b20c0a40710e1afe718b043478c8f06be - Build
    m4/1.4.19:0a420ff5c47119e668867cdb51baff0eca1fdb68 - Cache
Build requirements
    autoconf/2.71 from 'conan-center' - Cache
    automake/1.16.5 from 'conan-center' - Cache
    m4/1.4.19 from 'conan-center' - Cache
    msys2/cci.latest from 'conan-center' - Cache
Build requirements packages
    autoconf/2.71:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache
    automake/1.16.5:546cb51b20c0a40710e1afe718b043478c8f06be - Build
    m4/1.4.19:0a420ff5c47119e668867cdb51baff0eca1fdb68 - Cache
    msys2/cci.latest:eee3fba89db6d777329de604625af8c30d46f080 - Cache

Installing (downloading, building) binaries...
m4/1.4.19: Already installed!
m4/1.4.19: Appending PATH environment variable: C:\Users\j.spijker\.conan\data\m4\1.4.19\_\_\package\0a420ff5c47119e668867cdb51baff0eca1fdb68\bin
m4/1.4.19: Setting M4 environment variable: C:/Users/j.spijker/.conan/data/m4/1.4.19/_/_/package/0a420ff5c47119e668867cdb51baff0eca1fdb68/bin/m4.exe
m4/1.4.19: Appending PATH environment variable: C:\Users\j.spijker\.conan\data\m4\1.4.19\_\_\package\0a420ff5c47119e668867cdb51baff0eca1fdb68\bin
m4/1.4.19: Setting M4 environment variable: C:/Users/j.spijker/.conan/data/m4/1.4.19/_/_/package/0a420ff5c47119e668867cdb51baff0eca1fdb68/bin/m4.exe
msys2/cci.latest: Already installed!
msys2/cci.latest: Creating MSYS_ROOT env var : C:\.conan\7c3916\1\bin\msys64
msys2/cci.latest: Creating MSYS_BIN env var : C:\.conan\7c3916\1\bin\msys64\usr\bin
msys2/cci.latest: Appending PATH env var with : C:\.conan\7c3916\1\bin\msys64\usr\bin
msys2/cci.latest: Creating MSYS_ROOT env var : C:\.conan\7c3916\1\bin\msys64
msys2/cci.latest: Creating MSYS_BIN env var : C:\.conan\7c3916\1\bin\msys64\usr\bin
msys2/cci.latest: Appending PATH env var with : C:\.conan\7c3916\1\bin\msys64\usr\bin
autoconf/2.71: Already installed!
autoconf/2.71: Appending PATH env var with : C:\Users\j.spijker\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin
autoconf/2.71: Setting AC_MACRODIR to C:\Users\j.spijker\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin\share\autoconf
autoconf/2.71: Setting AUTOCONF to /mnt/c/Users/j.spijker/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoconf
autoconf/2.71: Setting AUTORECONF to /mnt/c/Users/j.spijker/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoreconf
autoconf/2.71: Setting AUTOHEADER to /mnt/c/Users/j.spijker/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoheader
autoconf/2.71: Setting AUTOM4TE to /mnt/c/Users/j.spijker/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autom4te
autoconf/2.71: Setting AUTOM4TE_PERLLIBDIR to C:\Users\j.spijker\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin\share\autoconf
autoconf/2.71: Appending PATH env var with : C:\Users\j.spijker\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin
autoconf/2.71: Setting AC_MACRODIR to C:\Users\j.spijker\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin\share\autoconf
autoconf/2.71: Setting AUTOCONF to /mnt/c/Users/j.spijker/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoconf
autoconf/2.71: Setting AUTORECONF to /mnt/c/Users/j.spijker/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoreconf
autoconf/2.71: Setting AUTOHEADER to /mnt/c/Users/j.spijker/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoheader
autoconf/2.71: Setting AUTOM4TE to /mnt/c/Users/j.spijker/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autom4te
autoconf/2.71: Setting AUTOM4TE_PERLLIBDIR to C:\Users\j.spijker\.conan\data\autoconf\2.71\_\_\package\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\bin\share\autoconf
automake/1.16.5: Applying build-requirement: msys2/cci.latest
Downloading conan_sources.tgz completed [1.83k]
Decompressing conan_sources.tgz completed [0.00k]
automake/1.16.5: Configuring sources in C:\Users\j.spijker\.conan\data\automake\1.16.5\_\_\source
Downloading automake-1.16.5.tar.gz completed [2333.05k]

automake/1.16.5: Copying sources to build folder
automake/1.16.5: Building your package in C:\Users\j.spijker\.conan\data\automake\1.16.5\_\_\build\546cb51b20c0a40710e1afe718b043478c8f06be
automake/1.16.5: Generator txt created conanbuildinfo.txt
automake/1.16.5: Aggregating env generators
automake/1.16.5: Calling build()
automake/1.16.5: run_in_windows_bash: C:\.conan\7c3916\1\bin\msys64\usr\bin\bash.exe --login -c ^"cd \^"/c/users/j.spijker/.conan/data/automake/1.16.5/_/_/build/546cb51b20c0a40710e1afe718b043478c8f06be\^" ^&^& PATH=\^"/c/.conan/7c3916/1/bin/msys64/usr/bin:/c/.conan/7c3916/1/bin:$PATH\^" ^&^& /c/users/j.spijker/.conan/data/automake/1.16.5/_/_/build/546cb51b20c0a40710e1afe718b043478c8f06be/source_subfolder/configure --help ^"
`configure' configures GNU Automake 1.16.5 to adapt to many kinds of systems.

Usage: /c/users/j.spijker/.conan/data/automake/1.16.5/_/_/build/546cb51b20c0a40710e1afe718b043478c8f06be/source_subfolder/configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/automake]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --enable-silent-rules   less verbose build output (undo: "make V=1")
  --disable-silent-rules  verbose build output (undo: "make V=0")

Some influential environment variables:
  AM_TEST_RUNNER_SHELL
              a sturdy POSIX shell for our testsuite
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  FC          Fortran compiler command
  FCFLAGS     Fortran compiler flags
  F77         Fortran 77 compiler command
  FFLAGS      Fortran 77 compiler flags
  GNU_CC      GNU C compiler
  GNU_CFLAGS  GNU C compiler flags
  GNU_CXX     GNU C++ compiler
  GNU_CXXFLAGS
              GNU C++ compiler flags
  GNU_FC      GNU Fortran compiler
  GNU_FCFLAGS GNU Fortran compiler flags
  GNU_F77     GNU Fortran 77 compiler
  GNU_FFLAGS  GNU Fortran 77 compiler flags
  GNU_GCJ     GNU Java compiler
  GNU_GCJFLAGS
              GNU Java compiler flags

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to <bug-automake@gnu.org>.
GNU Automake home page: <https://www.gnu.org/software/automake/>.
General help using GNU software: <https://www.gnu.org/gethelp/>.
automake/1.16.5: Calling:
 > /c/users/j.spijker/.conan/data/automake/1.16.5/_/_/build/546cb51b20c0a40710e1afe718b043478c8f06be/source_subfolder/configure --datarootdir=/c/users/j.spijker/.conan/data/automake/1.16.5/_/_/package/546cb51b20c0a40710e1afe718b043478c8f06be/res --prefix=/c/users/j.spijker/.conan/data/automake/1.16.5/_/_/package/546cb51b20c0a40710e1afe718b043478c8f06be --target=x86_64-windows-msvc
automake/1.16.5: run_in_windows_bash: C:\.conan\7c3916\1\bin\msys64\usr\bin\bash.exe --login -c ^"cd \^"/c/users/j.spijker/.conan/data/automake/1.16.5/_/_/build/546cb51b20c0a40710e1afe718b043478c8f06be\^" ^&^& PATH=\^"/c/.conan/7c3916/1/bin/msys64/usr/bin:/c/.conan/7c3916/1/bin:$PATH\^" ^&^& /c/users/j.spijker/.conan/data/automake/1.16.5/_/_/build/546cb51b20c0a40710e1afe718b043478c8f06be/source_subfolder/configure --datarootdir=/c/users/j.spijker/.conan/data/automake/1.16.5/_/_/package/546cb51b20c0a40710e1afe718b043478c8f06be/res --prefix=/c/users/j.spijker/.conan/data/automake/1.16.5/_/_/package/546cb51b20c0a40710e1afe718b043478c8f06be --target=x86_64-windows-msvc ^"
configure: loading site script /etc/config.site
checking whether make supports nested variables... yes
checking build system type... x86_64-w64-mingw32
checking host system type... x86_64-w64-mingw32
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/.conan/7c3916/1/bin/msys64/usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether ln -s works... no, using cp -pR
checking for perl... /c/.conan/7c3916/1/bin/msys64/usr/bin/perl
checking for tex... no
checking for yacc... yacc
checking for lex... lex
checking whether autoconf is installed... no
configure: error: Autoconf 2.65 or better is required.
    Please make sure it is installed and in your PATH.
automake/1.16.5:
automake/1.16.5: ERROR: Package '546cb51b20c0a40710e1afe718b043478c8f06be' build failed
automake/1.16.5: WARN: Build folder C:\Users\j.spijker\.conan\data\automake\1.16.5\_\_\build\546cb51b20c0a40710e1afe718b043478c8f06be
ERROR: automake/1.16.5: Error in build() method, line 88
        autotools = self._configure_autotools()
while calling '_configure_autotools', line 72
        self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder)
        ConanException: Error 1 while executing /c/users/j.spijker/.conan/data/automake/1.16.5/_/_/build/546cb51b20c0a40710e1afe718b043478c8f06be/source_subfolder/configure --datarootdir=/c/users/j.spijker/.conan/data/automake/1.16.5/_/_/package/546cb51b20c0a40710e1afe718b043478c8f06be/res --prefix=/c/users/j.spijker/.conan/data/automake/1.16.5/_/_/package/546cb51b20c0a40710e1afe718b043478c8f06be --target=x86_64-windows-msvc

@jellespijker
Copy link
Contributor

jellespijker commented Aug 12, 2022

This is the output of the log btw
config.log

/c/users/j.spijker/.conan/data/automake/1.16.5/_/_/build/546cb51b20c0a40710e1afe718b043478c8f06be/source_subfolder/configure: line 3657: /mnt/c/Users/j.spijker/.conan/data/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/autoconf: No such file or directory

That file is present on the system btw

@jellespijker
Copy link
Contributor

I think the root cause might be the use of AutoToolsBuildEnvironment https://docs.conan.io/en/latest/reference/build_helpers/autotools.html

I'm in the process of rewriting Autoconf, Automake and msys2 recipes to use the new GNU tools https://docs.conan.io/en/latest/reference/conanfile/tools/gnu.html with the VirtualRunEnv.

It now is able to find autoconf on the PATH, with my current changes, so that is promissing

jellespijker added a commit to Ultimaker/conan-ultimaker-index that referenced this issue Aug 25, 2022
The wheels for PyQt6 from the pypi artifactory are linked against
the limited Python ABI. The CPython interpreter we compile as part
of Cura is not compiled with the Py_LIMITED_ABI flag. This results
on Windows that the PyQt6 module try to use the python3.dll in the
system, while our CPython deps is compiled as python310.dll.

To make sure that PyQt6 runs and uses our CPython library we need
to compile and link PyQt6 against our Conan dependencies. This means
that we also need to compile Qt6 and make sure that PyQt6 is compiled
without the Py_LIMITED_ABI definition. For this to work we need to
patch the pyproject.toml (using our Conan pyprojecttoolchain generator
https://github.com/Ultimaker/conan-ultimaker-index/blob/CURA-8831_pyqt6_recipe/recipes/pyprojecttoolchain/conanfile.py )
and patch the SIP definition files to replace all `use_limited_api=True`
arguments with `use_limited_api=True`. Furthermore, we need enable at
the very least the `qtdeclarative` module for Qml support.

Adding the PyQt6/6.3.1 as a Conan dependency to Cura and Uranium and
removing the PyQt6* requirements from the requirement.txt except:
PyQt6-sip will solve the following GH issue

Fixes Ultimaker/Cura#12773
Fixes Ultimaker/Cura#12745
Fixes Ultimaker/Cura#13047

Mind you we're still missing some PyQt6 modules atm so Cura will
start up and doesn't complain about missing dll's anymore but at
the time it doesn't render text yet. This is probably because
harfbuzz and glib are disabled.

These are currently disabled because of some issues with the
Conan recipe for automake and autoconf when using msys2.
See conan-io/conan-center-index#9048 and conan-io/conan-center-index#10028

A possible workaround for that is to modify the Qt6 dependency which
uses automake and autoconf, remove those as dependencies when compiling
on Windows and adding the option for:
`msys2:packages=base-devel,binutils,gcc,autoconf,automake`

Contributes to CURA-8831
@jellespijker
Copy link
Contributor

Should be fixed with this PR #12715

@paulharris
Copy link
Contributor

Hi @jellespijker,

It isn't fixed with #12715, tested with 1.53.0 on Windows (dos-box, msvc command prompt).
Also tested in msys shell, also fails.

I've uploaded the test case here:
https://github.com/paulharris/conan-center-index/tree/test-automake-fails-to-find-autoconf

Instructions:

  • use settings.yml and default for the profile. This has an extra option that forces all CCI packages to be built locally.

  • (cd consume_automake; conan export .)

  • cd test_tool_requires

  • conan install . -pr:h default -pr:b default --build=missing

  • this will FAIL

  • conan install . -pr default --build=missing

  • this will PASS

You know early when it passes when it is building automake, and you see "checking whether autoconf is installed...'
it will say yes if successful.

There are two files, working.log and fail.log
you can diff these and see that the path is different... ie, the working one has autoconf included in the path !

@@ -52,7 +66,7 @@
 [HOOK - conan-center.py] pre_build(): [FPIC MANAGEMENT (KB-H007)] 'fPIC' option not found
 [HOOK - conan-center.py] pre_build(): [FPIC MANAGEMENT (KB-H007)] OK
 automake/1.16.5: Calling build()
-automake/1.16.5: run_in_windows_bash: K:\.conan\028900\1\bin\msys64\usr\bin\bash.exe --login -c ^"cd \^"/k/env/conandata/automake/1.16.5/_/_/build/7cc4544a2c4b4063bd07d7b5cd984dc3dd713b7b\^" ^&^& PATH=\^"/k/.conan/028900/1/bin/msys64/usr/bin:/k/env/conandata/autoconf/2.71/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin:/k/env/conandata/m4/1.4.19/_/_/package/ca33edce272a279b24f87dc0d4cf5bbdcffbc187/bin:$PATH\^" ^&^& /k/env/conandata/automake/1.16.5/_/_/build/7cc4544a2c4b4063bd07d7b5cd984dc3dd713b7b/source_subfolder/configure --help ^"
+automake/1.16.5: run_in_windows_bash: K:\.conan\028900\1\bin\msys64\usr\bin\bash.exe --login -c ^"cd \^"/k/env/conandata/automake/1.16.5/_/_/build/7cc4544a2c4b4063bd07d7b5cd984dc3dd713b7b\^" ^&^& PATH=\^"/k/.conan/028900/1/bin/msys64/usr/bin:/k/.conan/028900/1/bin:/k/.conan/028900/1/bin/msys64/usr/bin:$PATH\^" ^&^& /k/env/conandata/automake/1.16.5/_/_/build/7cc4544a2c4b4063bd07d7b5cd984dc3dd713b7b/source_subfolder/configure --help ^"
 `configure' configures GNU Automake 1.16.5 to adapt to many kinds of systems.

 Usage: /k/env/conandata/automake/1.16.5/_/_/build/7cc4544a2c4b4063bd07d7b5cd984dc3dd713b7b/source_subfolder/configure [OPTION]... [VAR=VALUE]...

cheers
Paul

@jellespijker
Copy link
Contributor

correct it will be fixed with a combination of the afford mentioned PR and the merging of #12896 and #12898 with Conan 1.53.0

@paulharris
Copy link
Contributor

paulharris commented Oct 13, 2022

I tested and it didn't work. It doesn't even get past the autoconf step yet.
Perhaps your PRs aren't finished yet, but here are the results so far:

Tested on my Windows with MSVC2022, using the dos prompt with conan 1.53 installed in a virtual env.

Note that I would love to get to a point where I do NOT have to use the dos prompt.
I have git-for-windows-sdk as a working environment for all the cmake recipes and builds, and only seem to have to use the dos prompt for automake-based builds because something of the command line environment leaks into the build environment...

  • I assume msys2 recipe is up to date as I completely cleared my local cache a few days ago and started again.
  • Cloned CCI twice and respectively checked out your branches for autoconf and automake (those PRs)
  • For autoconf and automake, cd to the recipe in the branches, and conan export . autoX/VER@ for each (used the latest version for each)
  • performed the above procedure to execute the test

This time it was not able to build autoconf. Attached is the log.
This is part of the end:

lang=`echo 'lib/m4sugar/m4sh' | sed 's,.*/,,'` \
  && if test $lang = autoconf; then \
       lang=autoconf-without-aclocal-m4; \
     else :; fi \
  && AUTOM4TE_PERLLIBDIR='/k/env/conandata/autoconf/2.71/_/_/build/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/autoconf'/lib AUTOM4TE_CFG='lib/autom4te.cfg'         bin/autom4te -B ''lib -B '/k/env/conandata/autoconf/2.71/_/_/build/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/autoconf'/lib         \
        --language=$lang \
        --freeze \
        --output=lib/m4sugar/m4sh.m4f
autom4te: error: freezing produced output:
autom4te:
autom4te:   *lots of these*
make[1]: *** [Makefile:2060: lib/autoconf/autoconf.m4f] Error 1
make[1]: *** Waiting for unfinished jobs....
autom4te: error: freezing produced output:
autom4te:
autom4te:   *lots of these*
autom4te:
autom4te:
make[1]: *** [Makefile:2060: lib/m4sugar/m4sh.m4f] Error 1
make[1]: Leaving directory '/k/env/conandata/autoconf/2.71/_/_/build/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/build'
make: *** [Makefile:928: all] Error 2
autoconf/2.71:
autoconf/2.71: ERROR: Package '5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9' build failed
autoconf/2.71: WARN: Build folder K:\env\conandata\autoconf\2.71\_\_\build\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\build
ERROR: autoconf/2.71: Error in build() method, line 85
        autotools.make()
        ConanException: Error 2 while executing make -j6

fail-2.log

@jellespijker
Copy link
Contributor

My default terminal on Windows is Powershell so it should work there as well.

what happens if you also create the M4 recipe from one of my PRs #12892

You're correct that these PRs aren't ready yet. I might have some time next weekend to work on them again, fingers crossed

@paulharris
Copy link
Contributor

It did and didn't work.
It worked from the dos prompt - yay

But it didn't work from the msys prompt.
I've attached the two logs:
testrun-3-from-dos.log
testrun-3-from-msys.log

I did a diff, here are the differences:

FAIL msys had extra:
configure: loading site script K:/git-sdk-64/etc/config.site

--------------------------------------------------------

FAIL msys:
checking build system type... x86_64-pc-msys
checking host system type... x86_64-pc-msys

SUCCESS dos:
checking build system type... x86_64-pc-mingw64
checking host system type... x86_64-pc-mingw64

--------------------------------------------------------

FAIL msys:
checking for a traditional french locale... fr_FR
checking whether malloc, realloc, calloc set errno on failure... yes
checking for getcwd... yes

SUCCESS DOS:
checking for a traditional french locale... French_France.1252
checking whether malloc, realloc, calloc set errno on failure... no
(no mention of getcwd)

--------------------------------------------------------

FAIL msys:
checking absolute name of <errno.h>... ""

SUCCESS dos:
checking absolute name of <errno.h>... "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.22621.0\\ucrt\\errno.h"

There was a few more about absolute names, but later the compile fails due to the missing absolute names,
because the code does #include "" which the compiler didn't like.

I don't understand why the compiler would be detecting different things as the build/host profile is the same in both situations...

Anyway, at least it now seems to work in the DOS environment.
Your Powershell probably enjoys the same environment.

@jellespijker
Copy link
Contributor

jellespijker commented Oct 14, 2022

as far as I know they are intended to run from the cmd and Powershell terminals. when run from those environment the will download the msys2 recipe and use the bash environment defined in the conf_info from the msys2 recipe.

if you want to use your own msys2 environment you should set the configuration tools.microsoft:bash and and tools.mircosoft:subsystem as described here https://docs.conan.io/en/latest/systems_cross_building/windows_subsystems.html

while still running things from Powershell or cmd.

as far as I known running conan directly from the msys2 environment won't work with the Microsoft compilers because it needs the vcvars environment.

but it should work with the compilers installed in your bash msys2 environment, provided that the profile you use are for those compilers ofcourse.

@paulharris
Copy link
Contributor

I'm not after using the msys2 environment build tools, I just want the command line environment to work in.
All the cmake based recipes build fine with msvc and ignore the msys stuff.
Really I want the conan builds to work the same, whether I'm running conan commands in an msys2 or dos or powershell prompt... It should not matter in what environment ... like you say, it downloads and uses its own msys2 environment. That is what I want it to use...

I'm also a bit confused why the configure command in the dos environment says it is building for the cygwin target... where did the cygwin come from? It is just dos + conan + msvc...

@paulharris
Copy link
Contributor

I was looking through my old issues, and I checked back on this,

For the case of defining -pr:b and -pr:h - on DOS only,

Works with your automake, autoconf and closed-pr for m4.

Does not work with: automake, autoconf and m4 from CCI (as of today),
nor does it work with CCI's m4 and your automake+autoconf.

Works with -pr only, on DOS and msys (building for VS).

@sbudenkov
Copy link

Hi all,
What is the final workaround for now?

My setup:
Conan version 1.53.0
Windows 10
VS 2022
CMD

Error:
checking whether autoconf is installed... no
configure: error: Autoconf 2.65 or better is required.
Please make sure it is installed and in your PATH.
automake/1.16.5@conan/stable: ←[1m←[37m←[0m
←[1m←[31mautomake/1.16.5@conan/stable: ←[0m←[1m←[37mERROR: Package '3e48e69237f7f2196164383ef9dedf0f93cbf249' build failed←[0m
←[1m←[33mautomake/1.16.5@conan/stable: ←[0m←[1m←[37mWARN: Build folder C:\Users\user.conan\data\automake\1.16.5\conan\stable\build\3e48e69237f7f2196164383ef9dedf0f93cbf249←[0m
←[1m←[31mERROR: automake/1.16.5@conan/stable: Error in build() method, line 88
autotools = self._configure_autotools()
while calling '_configure_autotools', line 72
self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder)

@paulharris
Copy link
Contributor

I wonder if this will change the situation:
#12896 (comment)

@sbudenkov
Copy link

I wonder if this will change the situation: #12896 (comment)

It works with the latest msys2 recipe. My recipe was outdated.

@paulharris
Copy link
Contributor

It works for me on msys2, with msvc17, with -pr:h and -pr:b
So I think this issue could be closed.

@czoido czoido closed this as completed Feb 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

7 participants