Open obi0ne opened 2 years ago
I guess I'm having the same but with visual studio 2019:
We too are having issue with VS 2019 and 2022.
lucky for VS2019, the binaries can be found on conan io center. However for VS2022, there isn't such option, and i'm forced to build myself, and it doesn't seems to work...
However for VS2019 if there are some prebuilt binaries uploaded to CCI, then i guess somehow at some point build worked... Somehow doesn't seem to be libvpx fault, as this version compiled at some point in time for VS2019 ...
i've managed to solve issue.
It's turns out the vsyasm
(Visual Studio yasm) is different from the yasm
that used to compile this.
libvpx depends on this version of yasm:
http://yasm.tortall.net/
So to solve it, do the following:
yasm.exe
C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\Tools\
Now running
conan install . -pr build_vs2022 --build=missing
works as expected !
I think conan recipe should be modified to fetch the external yasm rather than use the first 'yasm' which is apparently the visual studio yasm which is different for this build process.
just checked logs closely: I have a different build error...
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): error MSB6001: Invalid command line switch for "cmd.exe". System.ArgumentException: Item has already been added. Key in dictionary: 'tmp' Key being added: 'TMP' [C:\users\kamba.conan\data\libvpx\1.11.0__\build\1891f371c45ee62bcbf1bca10591761a8074bc39\vp9rc.vcxproj]
@SpaceIm is it the same problem as in ffmpeg (VS YASM vs CMake YASM)?
@SpaceIm is it the same problem as in ffmpeg (VS YASM vs CMake YASM)?
Yes, I think so.
Can anybody look at this please? It's been broken for over two weeks, I'd rather not have to modify my vs2022 installation to install another yasm executable instead of vsyasm.
It's been broken for 7 months, please take a look
just checked logs closely: I have a different build error...
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): error MSB6001: Invalid command line switch for "cmd.exe". System.ArgumentException: Item has already been added. Key in dictionary: 'tmp' Key being added: 'TMP' [C:\users\kamba.conan\data\libvpx\1.11.0__\build\1891f371c45ee62bcbf1bca10591761a8074bc39\vp9rc.vcxproj]
I still have the same problem, is there an update in the meantime? @kambala-decapitator
@TheLavaBlock no, sorry, haven't touched Windows since then
We switched to vcpkg since then. From what I know, the lack of stability in our windows build was the main reason.
Description
Can't build the package with VS2022,
I get the errors while building the asm files.
for several files.
Also when trying to build "vp9rc.vcxproj", yasm returns fatal:
Package and Environment Details
Conan profile
[settings] os=Windows os_build=Windows arch=x86_64 arch_build=x86_64 compiler=msvc compiler.version=193 compiler.cppstd=17 compiler.runtime=dynamic build_type=Release [options] [build_requires] [env]
Steps to reproduce
use
conanfile.txt
with:then run:
Logs
Click to expand log
``` C:\Work\Code\test_conan_vs2022>conan install . -pr build_vs2022 --build=missing Configuration: [settings] arch=x86_64 arch_build=x86_64 build_type=Release compiler=msvc compiler.cppstd=17 compiler.runtime=dynamic compiler.runtime_type=Release compiler.version=193 os=Windows os_build=Windows [options] [build_requires] [env] libvpx/1.11.0: WARN: Package binary is corrupted, removing: 1682231c95f5ccd09da9bb4f72873850dabfd174 conanfile.txt: Installing package Requirements libvpx/1.11.0 from 'conancenter' - Cache Packages libvpx/1.11.0:1682231c95f5ccd09da9bb4f72873850dabfd174 - 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\42e6df\1\bin\msys64 msys2/cci.latest: Creating MSYS_BIN env var : C:\.conan\42e6df\1\bin\msys64\usr\bin msys2/cci.latest: Appending PATH env var with : C:\.conan\42e6df\1\bin\msys64\usr\bin yasm/1.3.0: Already installed! yasm/1.3.0: Appending PATH environment variable: C:\Users\idan.bismut\.conan\data\yasm\1.3.0\_\_\package\0a420ff5c47119e668867cdb51baff0eca1fdb68\bin libvpx/1.11.0: Applying build-requirement: yasm/1.3.0 libvpx/1.11.0: Applying build-requirement: msys2/cci.latest libvpx/1.11.0: WARN: Build folder is dirty, removing it: C:\Users\idan.bismut\.conan\data\libvpx\1.11.0\_\_\build\1682231c95f5ccd09da9bb4f72873850dabfd174 libvpx/1.11.0: Copying sources to build folder libvpx/1.11.0: Building your package in C:\Users\idan.bismut\.conan\data\libvpx\1.11.0\_\_\build\1682231c95f5ccd09da9bb4f72873850dabfd174 libvpx/1.11.0: Generator txt created conanbuildinfo.txt libvpx/1.11.0: Aggregating env generators libvpx/1.11.0: Calling build() Found Visual Studio 17 ********************************************************************** ** Visual Studio 2022 Developer Command Prompt v17.3.6 ** Copyright (c) 2022 Microsoft Corporation ********************************************************************** [vcvarsall.bat] Environment initialized for: 'x64' libvpx/1.11.0: run_in_windows_bash: C:\.conan\42e6df\1\bin\msys64\usr\bin\bash.exe --login -c ^"cd \^"/c/users/idan.bismut/.conan/data/libvpx/1.11.0/_/_/build/1682231c95f5ccd09da9bb4f72873850dabfd174\^" ^&^& PATH=\^"/c/users/idan.bismut/.conan/data/yasm/1.3.0/_/_/package/0a420ff5c47119e668867cdb51baff0eca1fdb68/bin:/c/.conan/42e6df/1/bin/msys64/usr/bin:$PATH\^" ^&^& /c/users/idan.bismut/.conan/data/libvpx/1.11.0/_/_/build/1682231c95f5ccd09da9bb4f72873850dabfd174/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-