8000 [openh264] Build error on arm64ec-windows · Issue #45614 · microsoft/vcpkg · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

[openh264] Build error on arm64ec-windows #45614

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

Open
shijunz opened this issue May 21, 2025 · 0 comments
Open

[openh264] Build error on arm64ec-windows #45614

shijunz opened this issue May 21, 2025 · 0 comments
Labels
category:community-triplet A PR or issue related to community triplets not officially validated by the vcpkg team.

Comments

@shijunz
Copy link
shijunz commented May 21, 2025

Package: openh264:arm64ec-windows@2.5.0

Host Environment

  • Host: x64-windows
  • Compiler: MSVC 19.35.32216.1
  • vcpkg-tool version: 2025-01-11-0f310537c75015100d200eb71b137f6376aad510
    vcpkg-scripts version: 21f402225 2025-05-13 (8 days ago)

To Reproduce

vcpkg install openh264:arm64ec-windows

Failure logs

-- Found Python version '3.12.7 at C:/vcpkg/downloads/tools/python/python-3.12.7-x64-1/python.exe'
-- Using meson: C:/vcpkg/downloads/tools/meson-1.6.1-6779de/meson.py
Downloading cisco-openh264-v2.5.0.tar.gz
Successfully downloaded cisco-openh264-v2.5.0.tar.gz.
-- Extracting source C:/vcpkg/downloads/cisco-openh264-v2.5.0.tar.gz
-- Using source at C:/vcpkg/buildtrees/openh264/src/v2.5.0-b6adac455a.clean
Downloading strawberry-perl-5.40.0.1-64bit-portable.zip
Successfully downloaded strawberry-perl-5.40.0.1-64bit-portable.zip.
Downloading gas-preprocessor-9309c67a.pl
Successfully downloaded gas-preprocessor-9309c67a.pl.
-- Installing: C:/vcpkg/downloads/tools/gas-preprocessor/9309c67a/gas-preprocessor.pl
-- Found external ninja('1.11.0').
-- Using cached msys2-mingw-w64-x86_64-pkgconf-1~2.3.0-1-any.pkg.tar.zst.
-- Using cached msys2-msys2-runtime-3.5.4-2-x86_64.pkg.tar.zst.
-- Using msys root at C:/vcpkg/downloads/tools/msys2/21caed2f81ec917b
-- Configuring arm64ec-windows-dbg
-- Getting CMake variables for arm64ec-windows
CMake Warning at installed/x64-windows/share/vcpkg-tool-meson/vcpkg_configure_meson.cmake:239 (message):
  Unsupported target architecture arm64ec! Please set
  VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the host_machine
  entry!
Call Stack (most recent call first):
  installed/x64-windows/share/vcpkg-tool-meson/vcpkg_configure_meson.cmake:330 (z_vcpkg_get_build_and_host_system)
  installed/x64-windows/share/vcpkg-tool-meson/vcpkg_configure_meson.cmake:459 (vcpkg_generate_meson_cmd_args)
  ports/openh264/portfile.cmake:30 (vcpkg_configure_meson)
  scripts/ports.cmake:196 (include)


CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
    Command failed: C:/vcpkg/downloads/tools/python/python-3.12.7-x64-1/python.exe -I C:/vcpkg/downloads/tools/meson-1.6.1-6779de/meson.py setup -Dtests=disabled --backend ninja --wrap-mode nodownload -Doptimization=plain --native C:/vcpkg/buildtrees/openh264/meson-arm64ec-windows-dbg.log --libdir lib --pkgconfig.relocatable -Ddebug=true --prefix C:/vcpkg/packages/openh264_arm64ec-windows/debug --includedir ../include --pkg-config-path ['C:/vcpkg/installed/arm64ec-windows/debug/lib/pkgconfig','C:/vcpkg/installed/arm64ec-windows/share/pkgconfig'] -Dcmake_prefix_path=['C:/vcpkg/installed/arm64ec-windows/debug','C:/vcpkg/installed/arm64ec-windows','C:/vcpkg/installed/arm64ec-windows/share'] C:/vcpkg/buildtrees/openh264/src/v2.5.0-b6adac455a.clean
    Working Directory: C:/vcpkg/buildtrees/openh264/arm64ec-windows-dbg
    Error code: 1
    See logs for more information:
      C:\vcpkg\buildtrees\openh264\config-arm64ec-windows-dbg-meson-log.txt.log
      C:\vcpkg\buildtrees\openh264\config-arm64ec-windows-dbg-out.log

Call Stack (most recent call first):
  installed/x64-windows/share/vcpkg-tool-meson/vcpkg_configure_meson.cmake:468 (vcpkg_execute_required_process)
  ports/openh264/portfile.cmake:30 (vcpkg_configure_meson)
  scripts/ports.cmake:196 (include)



C:\vcpkg\buildtrees\openh264\config-arm64ec-windows-dbg-out.log
The Meson build system
Version: 1.6.1
Source dir: C:\vcpkg\buildtrees\openh264\src\v2.5.0-b6adac455a.clean
Build dir: C:\vcpkg\buildtrees\openh264\arm64ec-windows-dbg
Build type: native build
Project name: openh264
Project version: 2.5.0

..\src\v2.5.0-b6adac455a.clean\meson.build:1:0: ERROR: Executables created by c compiler C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.35.32215/bin/Hostx64/arm64/cl.exe -DWIN32 -D_WINDOWS -utf-8 -MP -arm64EC -D_AMD64_ -DAMD64 -D_ARM64EC_ -DARM64EC -D_DEBUG -MDd -Z7 -Ob0 -Od -RTC1 are not runnable.

A full log can be found at C:\vcpkg\buildtrees\openh264\arm64ec-windows-dbg\meson-logs\meson-log.txt
C:\vcpkg\buildtrees\openh264\config-arm64ec-windows-dbg-meson-log.txt.log
Build started at 2025-05-21T16:36:14.392993
Main binary: C:\vcpkg\downloads\tools\python\python-3.12.7-x64-1\python.exe
Build Options: -Dtests=disabled -Doptimization=plain -Ddebug=true '-Dcmake_prefix_path=['"'"'C:/vcpkg/installed/arm64ec-windows/debug'"'"','"'"'C:/vcpkg/installed/arm64ec-windows'"'"','"'"'C:/vcpkg/installed/arm64ec-windows/share'"'"']' -Dprefix=C:/vcpkg/packages/openh264_arm64ec-windows/debug -Dincludedir=../include -Dlibdir=lib -Dbackend=ninja -Dwrap_mode=nodownload -Dpkgconfig.relocatable=True '-Dpkg_config_path=['"'"'C:/vcpkg/installed/arm64ec-windows/debug/lib/pkgconfig'"'"','"'"'C:/vcpkg/installed/arm64ec-windows/share/pkgconfig'"'"']' --native-file=C:/vcpkg/buildtrees/openh264/meson-arm64ec-windows-dbg.log
Python system: Windows
The Meson build system
Version: 1.6.1
Source dir: C:\vcpkg\buildtrees\openh264\src\v2.5.0-b6adac455a.clean
Build dir: C:\vcpkg\buildtrees\openh264\arm64ec-windows-dbg
Build type: native build
Project name: openh264
Project version: 2.5.0
-----------
Detecting compiler via: `"C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.35.32215/bin/Hostx64/arm64/cl.exe" -DWIN32 -D_WINDOWS -utf-8 -MP -arm64EC -D_AMD64_ -DAMD64 -D_ARM64EC_ -DARM64EC -D_DEBUG -MDd -Z7 -Ob0 -Od -RTC1 /?` -> 0
stdout:
C/C++ COMPILER OPTIONS


                              -OPTIMIZATION-

/O1 maximum optimizations (favor space) /O2 maximum optimizations (favor speed)
/Ob<n> inline expansion (default n=0)   /Od disable optimizations (default)
/Og enable global optimization          /Oi[-] enable intrinsic functions
/Os favor code space                    /Ot favor code speed
/Ox optimizations (favor speed)         

                             -CODE GENERATION-

/Gu[-] ensure distinct functions have distinct addresses
/Gw[-] separate global variables for linker
/GF enable read-only string pooling     /Gm[-] enable minimal rebuild
/Gy[-] separate functions for linker    /GS[-] enable security checks
/GR[-] enable C++ RTTI                  /GX[-] enable C++ EH (same as /EHsc)
/guard:cf[-] enable CFG (control flow guard)
/guard:ehcont[-] enable EH continuation metadata (CET)
/EHs enable C++ EH (no SEH exceptions)  /EHa enable C++ EH (w/ SEH exceptions)
/EHc extern "C" defaults to nothrow     
/EHr always generate noexcept runtime termination checks
/fp:<contract|except[-]|fast|precise|strict> choose floating-point model:
    contract - consider floating-point contractions when generating code
    except[-] - consider floating-point exceptions when generating code
    fast - "fast" floating-point model; results are less predictable
    precise - "precise" floating-point model; results are predictable
    strict - "strict" floating-point model (implies /fp:except)
/Qfast_transcendentals generate inline FP intrinsics even with /fp:except
/Qspectre[-] enable mitigations for CVE 2017-5753
/Qpar[-] enable parallel code generation
/Qpar-report:1 auto-parallelizer diagnostic; indicate parallelized loops
/Qpar-report:2 auto-parallelizer diagnostic; indicate loops not parallelized
/Qvec-report:1 auto-vectorizer diagnostic; indicate vectorized loops
/Qvec-report:2 auto-vectorizer diagnostic; indicate loops not vectorized
/GL[-] enable link-time code generation 
/volatile:<iso|ms> choose volatile model:
    iso - Acquire/release semantics not guaranteed on volatile accesses
    ms  - Acquire/release semantics guaranteed on volatile accesses
/guard:signret[-] enable signed return instruction generation
/arch:armv8.[0-8] minimum CPU extension requirements for Armv8.x-A

                              -OUTPUT FILES-

/Fa[file] name assembly listing file    /FA[scu] configure assembly listing
/Fd[file] name .PDB file                /Fe<file> name executable file
/Fm[file] name map file                 /Fo<file> name object file
/Fp<file> name precompiled header file  /Fr[file] name source browser file
/FR[file] name extended .SBR file       /Fi[file] name preprocessed file
/Fd: <file> name .PDB file              /Fe: <file> name executable file
/Fm: <file> name map file               /Fo: <file> name object file
/Fp: <file> name .PCH file              /FR: <file> name extended .SBR file
/Fi: <file> name preprocessed file      
/Ft<dir> location of the header files generated for #import

                              -PREPROCESSOR-

/AI<dir> add to assembly search path    /FU<file> forced using assembly/module 
/C don't strip comments                 /D<name>{=|#}<text> define macro
/E preprocess to stdout                 /EP preprocess to stdout, no #line
/P preprocess to file                   /Fx merge injected code to file
/FI<file> name forced include file      /U<name> remove predefined macro
/u remove all predefined macros         /I<dir> add to include search path
/X ignore "standard places"             
/PH generate #pragma file_hash when preprocessing
/PD print all macro definitions         

                                -LANGUAGE-

/std:<c++14|c++17|c++20|c++latest> C++ standard version
    c++14 - ISO/IEC 14882:2014 (default)
    c++17 - ISO/IEC 14882:2017
    c++20 - ISO/IEC 14882:2020
    c++latest - latest draft standard (feature set subject to change)
/permissive[-] enable some nonconforming code to compile (feature set subject to change) (on by default)
/Ze enable extensions (default)         /Za disable extensions
/ZW enable WinRT language extensions    /Zs syntax check only
/Zc:arg1[,arg2] C++ language conformance, where arguments can be:
  forScope[-]           enforce Standard C++ for scoping rules
  wchar_t[-]            wchar_t is the native type, not a typedef
  auto[-]               enforce the new Standard C++ meaning for auto
  trigraphs[-]          enable trigraphs (off by default)
  rvalueCast[-]         enforce Standard C++ explicit type conversion rules
  strictStrings[-]      disable string-literal to [char|wchar_t]*
                        conversion (off by default)
  implicitNoexcept[-]   enable implicit noexcept on required functions
  threadSafeInit[-]     enable thread-safe local static initialization
  inline[-]             remove unreferenced function or data if it is
                        COMDAT or has internal linkage only (off by default)
  sizedDealloc[-]       enable C++14 global sized deallocation
                        functions (on by default)
  throwingNew[-]        assume operator new throws on failure (off by default)
  referenceBinding[-]   a temporary will not bind to an non-const
                        lvalue reference (off by default)
  twoPhase-             disable two-phase name lookup
  ternary[-]            enforce C++11 rules for conditional operator (off by default)
  noexceptTypes[-]      enforce C++17 noexcept rules (on by default in C++17 or later)
  alignedNew[-]         enable C++17 alignment of dynamically allocated objects (on by default)
  hiddenFriend[-]       enforce Standard C++ hidden friend rules (implied by /permissive-)
  externC[-]            enforce Standard C++ rules for 'extern "C"' functions (implied by /permissive-)
  lambda[-]             better lambda support by using the newer lambda processor (off by default)
  tlsGuards[-]          generate runtime checks for TLS variable initialization (on by default)
  zeroSizeArrayNew[-]   call member new/delete for 0-size arrays of objects (on by default)
  static_assert[-]      strict handling of 'static_assert' (implied by /permissive-)
  gotoScope[-]          cannot jump past the initialization of a variable (implied by /permissive-)
  templateScope[-]      enforce Standard C++ template parameter shadowing rules
  enumTypes[-]          enable Standard C++ underlying enum types (off by default)
  checkGwOdr[-]         enforce Standard C++ one definition rule violations
                        when /Gw has been enabled (off by default)
  __STDC__              define __STDC__ to 1 in C
/await enable resumable functions extension
/await:strict enable standard C++20 coroutine support with earlier language versions
/constexpr:depth<N>     recursion depth limit for constexpr evaluation (default: 512)
/constexpr:backtrace<N> show N constexpr evaluations in diagnostics (default: 10)
/constexpr:steps<N>     terminate constexpr evaluation after N steps (default: 100000)
/Zi enable debugging information        /Z7 enable old-style debug info
/Zo[-] generate richer debugging information for optimized code (on by default)
/ZH:[MD5|SHA1|SHA_256] hash algorithm for calculation of file checksum in debug info (default: SHA_256)
/Zp[n] pack structs on n-byte boundary  /Zl omit default library name in .OBJ
/vd{0|1|2} disable/enable vtordisp      /vm<x> type of pointers to members
/std:<c11|c17> C standard version
    c11 - ISO/IEC 9899:2011
    c17 - ISO/IEC 9899:2018
/Zc:arm64-aliased-neon-types[-] determines whether neon vector types are
                                distinct, or are typedef'd to a common type
                                (on by default)

                              -MISCELLANEOUS-

@<file> options response file           /?, /help print this help message
/bigobj generate extended object format /c compile only, no link
/errorReport:option deprecated. Report internal compiler errors to Microsoft
    none - do not send report                
    prompt - prompt to immediately send report
    queue - at next admin logon, prompt to send report (default)
    send - send report automatically         
/FC use full pathnames in diagnostics   /H<num> max external name length
/J default char type is unsigned        
/MP[n] use up to 'n' processes for compilation
/nologo suppress copyright message      /showIncludes show include file names
/Tc<source file> compile file as .c     /Tp<source file> compile file as .cpp
/TC compile all files as .c             /TP compile all files as .cpp
/V<string> set version string           /Yc[file] create .PCH file
/Yd put debug info in every .OBJ        /Yl[sym] inject .PCH ref for debug lib
/Yu[file] use .PCH file                 /Y- disable all PCH options
/Zm<n> max memory alloc (% of default)  /FS force to use MSPDBSRV.EXE
/source-charset:<iana-name>|.nnnn set source character set
/execution-charset:<iana-name>|.nnnn set execution character set
/utf-8 set source and execution character set to UTF-8
/validate-charset[-] validate UTF-8 files for only legal characters
/fastfail[-] enable fast-fail mode      /JMC[-] enable native just my code
/presetPadding[-] zero initialize padding for stack based class types
/volatileMetadata[-] generate metadata on volatile memory accesses
/sourcelink [file] file containing source link information
/arm64EC generate code compatible to the ARM64EC ABI

                                -LINKING-

/LD Create .DLL                         /LDd Create .DLL debug library
/LN Create a .netmodule                 /F<num> set stack size
/link [linker options and libraries]    /MD link with MSVCRT.LIB
/MT link with LIBCMT.LIB                /MDd link with MSVCRTD.LIB debug lib
/MTd link with LIBCMTD.LIB debug lib    


                              -DIAGNOSTICS-

/diagnostics:<args,...> controls the format of diagnostic messages:
             classic   - retains prior format
             column[-] - prints column information
             caret[-]  - prints column and the indicated line of source
/Wall enable all warnings               /w   disable all warnings
/W<n> set warning level (default n=1)   
/Wv:xx[.yy[.zzzzz]] disable warnings introduced after version xx.yy.zzzzz
/WX treat warnings as errors            /WL enable one line diagnostics
/wd<n> disable warning n                /we<n> treat warning n as an error
/wo<n> issue warning n once             /w<l><n> set warning level 1-4 for n
/external:I <path>      - location of external headers
/external:env:<var>     - environment variable with locations of external headers
/external:anglebrackets - treat all headers included via <> as external
/external:W<n>          - warning level for external headers
/external:templates[-]  - evaluate warning level across template instantiation chain
/sdl enable additional security features and warnings
/options:strict unrecognized compiler options are an error
-----------
stderr:
Microsoft (R) C/C++ Optimizing Compiler Version 19.35.32216.1 for ARM64
Copyright (C) Microsoft Corporation.  All rights reserved.
-----------
Sanity testing C compiler: "C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.35.32215/bin/Hostx64/arm64/cl.exe" -DWIN32 -D_WINDOWS -utf-8 -MP -arm64EC -D_AMD64_ -DAMD64 -D_ARM64EC_ -DARM64EC -D_DEBUG -MDd -Z7 -Ob0 -Od -RTC1
Is cross compiler: False.
Sanity check compiler command line: "C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.35.32215/bin/Hostx64/arm64/cl.exe" -DWIN32 -D_WINDOWS -utf-8 -MP -arm64EC -D_AMD64_ -DAMD64 -D_ARM64EC_ -DARM64EC -D_DEBUG -MDd -Z7 -Ob0 -Od -RTC1 sanitycheckc.c /Fesanitycheckc.exe /MDd -nologo -DWIN32 -D_WINDOWS -utf-8 -MP -arm64EC -D_AMD64_ -DAMD64 -D_ARM64EC_ -DARM64EC -D_DEBUG -MDd -Z7 -Ob0 -Od -RTC1 -IC:/vcpkg/installed/arm64ec-windows/include /nologo /showIncludes /utf-8 /link -machine:ARM64EC -debug -INCREMENTAL /LIBPATH:C:/vcpkg/installed/arm64ec-windows/debug/lib
Sanity check compile stdout:
sanitycheckc.c

-----
Sanity check compile stderr:

-----
Running test binary command:  C:\vcpkg\buildtrees\openh264\arm64ec-windows-dbg\meson-private\sanitycheckc.exe

..\src\v2.5.0-b6adac455a.clean\meson.build:1:0: ERROR: Executables created by c compiler C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.35.32215/bin/Hostx64/arm64/cl.exe -DWIN32 -D_WINDOWS -utf-8 -MP -arm64EC -D_AMD64_ -DAMD64 -D_ARM64EC_ -DARM64EC -D_DEBUG -MDd -Z7 -Ob0 -Od -RTC1 are not runnable.
@Mengna-Li Mengna-Li added the category:community-triplet A PR or issue related to community triplets not officially validated by the vcpkg team. label May 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:community-triplet A PR or issue related to community triplets not officially validated by the vcpkg team.
Projects
None yet
Development

No branches or pull requests

2 participants
0