conan-io / conan-center-index

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

[bug] can't build libvpx with visual studio 2022 compiler #8319

Closed llena1 closed 2 years ago

llena1 commented 2 years ago

conan install libvpx/1.10.0@ --profile Release --build=libvpx

Unrecognized toolchain 'x86_64-win64-vs17'

I'm not sure if it's the library problem or the conan problem, forgive me if I'm posting this in the wrong place.

Environment Details (include every applicable attribute)

Steps to reproduce (Include if Applicable)

conan install libvpx/1.10.0@ --profile Release --build=libvpx

Release profile:

[settings]
os=Windows
os_build=Windows
arch=x86_64
arch_build=x86_64
compiler=Visual Studio
compiler.runtime=MD
compiler.version=17
build_type=Release
cppstd=14
[options]
[build_requires]
[env]

Logs (Executed commands with output) (Include/Attach if Applicable)

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

libvpx/1.10.0: Forced build from source
Installing package: libvpx/1.10.0
Requirements
    libvpx/1.10.0 from 'conancenter' - Cache
Packages
    libvpx/1.10.0:d94be2eba52b158491477da31dd9925017bc6459 - Build
Build requirements
    msys2/cci.latest from 'conancenter' - Cache
    yasm/1.3.0 from 'conancenter' - Cache
Build requirements packages
    msys2/cci.latest:eee3fba89db6d777329de604625af8c30d46f080 - Cache
    yasm/1.3.0:0a420ff5c47119e668867cdb51baff0eca1fdb68 - Cache

Installing (downloading, building) binaries...
msys2/cci.latest: Already installed!
msys2/cci.latest: Creating MSYS_ROOT env var : C:\.conan\f8a3e6\1\bin\msys64
msys2/cci.latest: Creating MSYS_BIN env var : C:\.conan\f8a3e6\1\bin\msys64\usr\bin
msys2/cci.latest: Appending PATH env var with : C:\.conan\f8a3e6\1\bin\msys64\usr\bin
yasm/1.3.0: Already installed!
yasm/1.3.0: Appending PATH environment variable: C:\Users\ElenaIvanchenko\.conan\data\yasm\1.3.0\_\_\package\0a420ff5c47119e668867cdb51baff0eca1fdb68\bin
libvpx/1.10.0: Applying build-requirement: yasm/1.3.0
libvpx/1.10.0: Applying build-requirement: msys2/cci.latest
libvpx/1.10.0: WARN: Build folder is dirty, removing it: C:\Users\ElenaIvanchenko\.conan\data\libvpx\1.10.0\_\_\build\d94be2eba52b158491477da31dd9925017bc6459
libvpx/1.10.0: Copying sources to build folder
libvpx/1.10.0: Building your package in C:\Users\ElenaIvanchenko\.conan\data\libvpx\1.10.0\_\_\build\d94be2eba52b158491477da31dd9925017bc6459
libvpx/1.10.0: Generator txt created conanbuildinfo.txt
libvpx/1.10.0: Aggregating env generators
libvpx/1.10.0: Calling build()
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.0.0
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
Conan:vcvars already set
libvpx/1.10.0: run_in_windows_bash: C:\.conan\f8a3e6\1\bin\msys64\usr\bin\bash.exe --login -c ^"cd \^"/c/users/elenaivanchenko/.conan/data/libvpx/1.10.0/_/_/build/d94be2eba52b158491477da31dd9925017bc6459\^" ^&^& PATH=\^"/c/users/elenaivanchenko/.conan/data/yasm/1.3.0/_/_/package/0a420ff5c47119e668867cdb51baff0eca1fdb68/bin:/c/.conan/f8a3e6/1/bin/msys64/usr/bin:$PATH\^" ^&^& /c/users/elenaivanchenko/.conan/data/libvpx/1.10.0/_/_/build/d94be2eba52b158491477da31dd9925017bc6459/source_subfolder/configure --help ^"
Usage: configure [options]
Options:

Build options:
  --help                      print this message
  --log=yes|no|FILE           file configure log is written to [config.log]
  --target=TARGET             target platform tuple [generic-gnu]
  --cpu=CPU                   optimize for a specific cpu rather than a family
  --extra-cflags=ECFLAGS      add ECFLAGS to CFLAGS []
  --extra-cxxflags=ECXXFLAGS  add ECXXFLAGS to CXXFLAGS []
  --enable-extra-warnings     emit harmless warnings (always non-fatal)
  --enable-werror             treat warnings as errors, if possible
                              (not available with all compilers)
  --disable-optimizations     turn on/off compiler optimization flags
  --enable-pic                turn on/off Position Independent Code
  --enable-ccache             turn on/off compiler cache
  --enable-debug              enable/disable debug mode
  --enable-gprof              enable/disable gprof profiling instrumentation
  --enable-gcov               enable/disable gcov coverage instrumentation
  --enable-thumb              enable/disable building arm assembly in thumb mode
  --disable-dependency-tracking
                              disable to speed up one-time build

Install options:
  --enable-install-docs       control whether docs are installed
  --disable-install-bins      control whether binaries are installed
  --disable-install-libs      control whether libraries are installed
  --enable-install-srcs       control whether sources are installed

Advanced options:
  --disable-libs                  libraries
  --disable-examples              examples
  --disable-tools                 tools
  --disable-docs                  documentation
  --enable-unit-tests             unit tests
  --enable-decode-perf-tests      build decoder perf tests with unit tests
  --enable-encode-perf-tests      build encoder perf tests with unit tests
  --cpu=CPU                       tune for the specified CPU (ARM: cortex-a8, X86: sse3)
  --libc=PATH                     path to alternate libc
  --size-limit=WxH                max size to allow in the decoder
  --as={yasm|nasm|auto}           use specified assembler [auto, yasm preferred]
  --enable-codec-srcs             in/exclude codec library source code
  --enable-debug-libs             in/exclude debug version of libraries
  --enable-static-msvcrt          use static MSVCRT (VS builds only)
  --enable-vp9-highbitdepth       use VP9 high bit depth (10/12) profiles
  --enable-better-hw-compatibility
                                  enable encoder to produce streams with better
                                  hardware decoder compatibility
  --enable-vp8                    VP8 codec support
  --enable-vp9                    VP9 codec support
  --enable-internal-stats         output of encoder internal stats for debug, if supported (encoders)
  --enable-postproc               postprocessing
  --enable-vp9-postproc           vp9 specific postprocessing
  --disable-multithread           multithreaded encoding and decoding
  --disable-spatial-resampling    spatial sampling (scaling) support
  --enable-realtime-only          enable this option while building for real-time encoding
  --enable-onthefly-bitpacking    enable on-the-fly bitpacking in real-time encoding
  --enable-error-concealment      enable this option to get a decoder which is able to conceal losses
  --enable-coefficient-range-checking
                                  enable decoder to check if intermediate
                                  transform coefficients are in valid range
  --enable-runtime-cpu-detect     runtime cpu detection
  --enable-shared                 shared library support
  --disable-static                static library support
  --enable-small                  favor smaller size over speed
  --enable-postproc-visualizer    macro block / block level visualizers
  --enable-multi-res-encoding     enable multiple-resolution encoding
  --disable-temporal-denoising    enable temporal denoising and disable the spatial denoiser
  --enable-vp9-temporal-denoising
                                  enable vp9 temporal denoising
  --enable-webm-io                enable input from and output to WebM container
  --enable-libyuv                 enable libyuv

Codecs:
  Codecs can be selectively enabled or disabled individually, or by family:
      --disable-<codec>
  is equivalent to:
      --disable-<codec>-encoder
      --disable-<codec>-decoder

  Codecs available in this distribution:
           vp8:    encoder    decoder
           vp9:    encoder    decoder

NOTES:
    Object files are built at the place where configure is launched.

    All boolean options can be negated. The default value is the opposite
    of that shown above. If the option --disable-foo is listed, then
    the default value for foo is enabled.

Supported targets:
    arm64-android-gcc        arm64-darwin-gcc         arm64-darwin20-gcc
    arm64-linux-gcc          arm64-win64-gcc          arm64-win64-vs15
    armv7-android-gcc        armv7-darwin-gcc         armv7-linux-rvct
    armv7-linux-gcc          armv7-none-rvct          armv7-win32-gcc
    armv7-win32-vs14         armv7-win32-vs15
    armv7s-darwin-gcc
    armv8-linux-gcc
    mips32-linux-gcc
    mips64-linux-gcc
    ppc64le-linux-gcc
    sparc-solaris-gcc
    x86-android-gcc          x86-darwin8-gcc          x86-darwin8-icc
    x86-darwin9-gcc          x86-darwin9-icc          x86-darwin10-gcc
    x86-darwin11-gcc         x86-darwin12-gcc         x86-darwin13-gcc
    x86-darwin14-gcc         x86-darwin15-gcc         x86-darwin16-gcc
    x86-darwin17-gcc         x86-iphonesimulator-gcc  x86-linux-gcc
    x86-linux-icc            x86-os2-gcc              x86-solaris-gcc
    x86-win32-gcc            x86-win32-vs14           x86-win32-vs15
    x86-win32-vs16
    x86_64-android-gcc       x86_64-darwin9-gcc       x86_64-darwin10-gcc
    x86_64-darwin11-gcc      x86_64-darwin12-gcc      x86_64-darwin13-gcc
    x86_64-darwin14-gcc      x86_64-darwin15-gcc      x86_64-darwin16-gcc
    x86_64-darwin17-gcc      x86_64-darwin18-gcc      x86_64-darwin19-gcc
    x86_64-darwin20-gcc      x86_64-iphonesimulator-gcc x86_64-linux-gcc
    x86_64-linux-icc         x86_64-solaris-gcc       x86_64-win64-gcc
    x86_64-win64-vs14        x86_64-win64-vs15        x86_64-win64-vs16
    generic-gnu

libvpx/1.10.0: WARN: Error running `configure --help`: Error 1 while executing /c/users/elenaivanchenko/.conan/data/libvpx/1.10.0/_/_/build/d94be2eba52b158491477da31dd9925017bc6459/source_subfolder/configure --help
libvpx/1.10.0: Calling:
 > /c/users/elenaivanchenko/.conan/data/libvpx/1.10.0/_/_/build/d94be2eba52b158491477da31dd9925017bc6459/source_subfolder/configure --prefix=/c/users/elenaivanchenko/.conan/data/libvpx/1.10.0/_/_/package/d94be2eba52b158491477da31dd9925017bc6459 --disable-examples --disable-unit-tests --disable-tools --disable-docs --enable-vp9-highbitdepth --as=yasm --disable-shared --enable-static --target=x86_64-win64-vs17 --disable-avx --disable-avx2 --disable-avx512
libvpx/1.10.0: run_in_windows_bash: C:\.conan\f8a3e6\1\bin\msys64\usr\bin\bash.exe --login -c ^"cd \^"/c/users/elenaivanchenko/.conan/data/libvpx/1.10.0/_/_/build/d94be2eba52b158491477da31dd9925017bc6459\^" ^&^& PATH=\^"/c/users/elenaivanchenko/.conan/data/yasm/1.3.0/_/_/package/0a420ff5c47119e668867cdb51baff0eca1fdb68/bin:/c/.conan/f8a3e6/1/bin/msys64/usr/bin:$PATH\^" ^&^& /c/users/elenaivanchenko/.conan/data/libvpx/1.10.0/_/_/build/d94be2eba52b158491477da31dd9925017bc6459/source_subfolder/configure --prefix=/c/users/elenaivanchenko/.conan/data/libvpx/1.10.0/_/_/package/d94be2eba52b158491477da31dd9925017bc6459 --disable-examples --disable-unit-tests --disable-tools --disable-docs --enable-vp9-highbitdepth --as=yasm --disable-shared --enable-static --target=x86_64-win64-vs17 --disable-avx --disable-avx2 --disable-avx512  ^"
  disabling examples
  disabling unit_tests
  disabling tools
  disabling docs
  enabling vp9_highbitdepth
  disabling shared
  enabling vp8_encoder
  enabling vp8_decoder
  enabling vp9_encoder
  enabling vp9_decoder
Unrecognized toolchain 'x86_64-win64-vs17'

Configuration failed. This could reflect a misconfiguration of your
toolchains, improper options selected, or another problem. If you
don't see any useful error messages above, the next step is to look
at the configure error log file (config.log) to determine what
configure was trying to do when it died.
libvpx/1.10.0:
libvpx/1.10.0: ERROR: Package 'd94be2eba52b158491477da31dd9925017bc6459' build failed
libvpx/1.10.0: WARN: Build folder C:\Users\ElenaIvanchenko\.conan\data\libvpx\1.10.0\_\_\build\d94be2eba52b158491477da31dd9925017bc6459
ERROR: libvpx/1.10.0: Error in build() method, line 149
        autotools = self._configure_autotools()
while calling '_configure_autotools', line 142
        self._autotools.configure(args=args, configure_dir=self._source_subfolder, host=False, build=False, target=False)
        ConanException: Error 1 while executing /c/users/elenaivanchenko/.conan/data/libvpx/1.10.0/_/_/build/d94be2eba52b158491477da31dd9925017bc6459/source_subfolder/configure --prefix=/c/users/elenaivanchenko/.conan/data/libvpx/1.10.0/_/_/package/d94be2eba52b158491477da31dd9925017bc6459 --disable-examples --disable-unit-tests --disable-tools --disable-docs --enable-vp9-highbitdepth --as=yasm --disable-shared --enable-static --target=x86_64-win64-vs17 --disable-avx --disable-avx2 --disable-avx512
memsharded commented 2 years ago

This doesn't seem a Conan issue, but a library issue. Maybe not even a package issue, but mostly a library issue (from recipe:

# Unrecognized toolchain 'arm64-darwin11-gcc', see list of toolchains in ./configure --help

So the list of toolchains supported by the lib is defined inside its configure.

Moving this to conan-center-index repo, it doesn't seem so far a Conan (client) issue.