Skip to content

Building boost for ARM64 UPW fails #6095

@Audenrith

Description

@Audenrith

On my machine (Windows 10 (V 1803, 17134.648) building boost for ARM64 does not work (I first tried it on my own but also with vcpkg and the following command):

/vcpkg.exe install boost:arm64-uwp

First problem: boost-build:x86-windows is not installed (sounds a little bit strange, because I wanted to build for ARM64 but I can give it a try):

Starting package 1/94: boost-system:arm64-uwp
Building package boost-system[core]:arm64-uwp...
-- Using cached C:/dev/libs/vcpkg/downloads/boostorg-system-boost-1.69.0.tar.gz
-- Using source at C:/dev/libs/vcpkg/buildtrees/boost-system/src/ost-1.69.0-9d1d01900c
CMake Error at installed/arm64-uwp/share/boost-build/boost-modular-build.cmake:18 (message):
  The x86 boost-build tools must be installed to build for non-x86/x64
  platforms.  Please run `vcpkg install boost-build:x86-windows`.
Call Stack (most recent call first):
  ports/boost-system/portfile.cmake:14 (boost_modular_build)
  scripts/ports.cmake:71 (include)

Error: Building package boost-system:arm64-uwp failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: boost-system:arm64-uwp
  Vcpkg version: 2018.11.23-nohash

After installation, I retried it:

Starting package 1/94: boost-system:arm64-uwp
Building package boost-system[core]:arm64-uwp...
-- Using cached C:/dev/libs/vcpkg/downloads/boostorg-system-boost-1.69.0.tar.gz
-- Using source at C:/dev/libs/vcpkg/buildtrees/boost-system/src/ost-1.69.0-9d1d01900c
-- Building arm64-uwp-rel
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:56 (message):
    Command failed: C:/dev/libs/vcpkg/installed/x86-windows/tools/boost-build/b2.exe;--stagedir=C:/dev/libs/vcpkg/buildtrees/boost-system/arm64-uwp-rel/stage;--build-dir=C:/dev/libs/vcpkg/buildtrees/boost-system/arm64-uwp-rel;--user-config=C:/dev/libs/vcpkg/buildtrees/boost-system/arm64-uwp-rel/user-config.jam;windows-api=store;-j12;--debug-configuration;--debug-building;--debug-generators;--disable-icu;--ignore-site-config;--hash;-q;-sZLIB_INCLUDE="C:/dev/libs/vcpkg/installed/arm64-uwp/include";-sBZIP2_INCLUDE="C:/dev/libs/vcpkg/installed/arm64-uwp/include";threading=multi;threadapi=win32;runtime-link=shared;link=shared;address-model=32;architecture=x86;toolset=msvc-14.1;-sZLIB_BINARY=zlib;-sZLIB_LIBPATH="C:/dev/libs/vcpkg/installed/arm64-uwp/lib";-sBZIP2_BINARY=bz2;-sBZIP2_LIBPATH="C:/dev/libs/vcpkg/installed/arm64-uwp/lib";variant=release;debug-symbols=on
    Working Directory: C:/dev/libs/vcpkg/buildtrees/boost-system/src/ost-1.69.0-9d1d01900c/build
    Error code: 1
    See logs for more information:
      C:\dev\libs\vcpkg\buildtrees\boost-system\build-arm64-uwp-rel-out.log

Call Stack (most recent call first):
  installed/arm64-uwp/share/boost-build/boost-modular-build.cmake:270 (vcpkg_execute_required_process)
  ports/boost-system/portfile.cmake:14 (boost_modular_build)
  scripts/ports.cmake:71 (include)

Error: Building package boost-system:arm64-uwp failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: boost-system:arm64-uwp
  Vcpkg version: 2018.11.23-nohash

The log additionally contains the following message:

...found 126 targets...
...updating 16 targets...
msvc.write-setup-script C:\dev\libs\vcpkg\buildtrees\boost-system\arm64-uwp-rel\boost\standalone\msvc\385cf315c2a3f5f5b74419d819aaf257\msvc-setup.bat
compile-c-c++ C:\dev\libs\vcpkg\buildtrees\boost-system\arm64-uwp-rel\boost\build\e392a74d0120f6eee896facab62434f2\error_code.obj
error_code.cpp
msvc.link.dll C:\dev\libs\vcpkg\buildtrees\boost-system\arm64-uwp-rel\boost\build\e392a74d0120f6eee896facab62434f2\boost_system-vc141-mt-x32-1_69.dll
C:\dev\libs\vcpkg\buildtrees\boost-system\arm64-uwp-rel\boost\build\e392a74d0120f6eee896facab62434f2\error_code.obj : fatal error LNK1112: module machine type 'ARM64' conflicts with target machine type 'x86'

        call "C:\dev\libs\vcpkg\buildtrees\boost-system\arm64-uwp-rel\boost\standalone\msvc\385cf315c2a3f5f5b74419d819aaf257\msvc-setup.bat" x86 >nul
 link /NOLOGO /INCREMENTAL:NO /DLL /DEBUG /MACHINE:X86 /MANIFEST /OPT:REF,ICF /subsystem:console /out:"C:\dev\libs\vcpkg\buildtrees\boost-system\arm64-uwp-rel\boost\build\e392a74d0120f6eee896facab62434f2\boost_system-vc141-mt-x32-1_69.dll" /IMPLIB:"C:\dev\libs\vcpkg\buildtrees\boost-system\arm64-uwp-rel\boost\build\e392a74d0120f6eee896facab62434f2\boost_system-vc141-mt-x32-1_69.lib"   /APPCONTAINER WindowsApp.lib @"C:\dev\libs\vcpkg\buildtrees\boost-system\arm64-uwp-rel\boost\build\e392a74d0120f6eee896facab62434f2\boost_system-vc141-mt-x32-1_69.dll.rsp"
        if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
    
...failed msvc.link.dll C:\dev\libs\vcpkg\buildtrees\boost-system\arm64-uwp-rel\boost\build\e392a74d0120f6eee896facab62434f2\boost_system-vc141-mt-x32-1_69.dll C:\dev\libs\vcpkg\buildtrees\boost-system\arm64-uwp-rel\boost\build\e392a74d0120f6eee896facab62434f2\boost_system-vc141-mt-x32-1_69.lib C:\dev\libs\vcpkg\buildtrees\boost-system\arm64-uwp-rel\boost\build\e392a74d0120f6eee896facab62434f2\boost_system-vc141-mt-x32-1_69.pdb C:\dev\libs\vcpkg\buildtrees\boost-system\arm64-uwp-rel\boost\build\e392a74d0120f6eee896facab62434f2\boost_system-vc141-mt-x32-1_69.pdb...
...failed updating 1 target...
...updated 11 targets...

The error message seems to be fatal error LNK1112: module machine type 'ARM64' conflicts with target machine type 'x86' but also the parameter address-model=32 and architecture=x86 look a little bit strange. Did I do anything wrong? How can I build boost for ARM64?

Metadata

Metadata

Labels

category:port-bugThe issue is with a library, which is something the port should already support

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions