Closed bansalaj closed 8 months ago
in build logs i can see the following output
b2 INFO Command string for CreateProcessA(): 'cmd.exe /Q/C "d:\build\ob\sb-67536084\tmp\jam6140-10-00.bat"'
b2 INFO msvc.link.dll d:\build\ob\sb-67536084\cayman_boost\build\bet\winarm64_vc140\boost\bin.v2\libs\context\build\d62971186a848aba51a860c6ac8a9a8c\boost_context-mt-a64.dll
b2 INFO
b2 INFO call "d:\build\ob\sb-67536084\cayman_boost\build\bet\winarm64_vc140\boost\bin.v2\standalone\msvc\97ae7926c5652c1ea4af0a78a6da942c\msvc-setup.bat" x86_arm64 >nul
b2 INFO link /NOLOGO /INCREMENTAL:NO "d:\build\ob\sb-67536084\cayman_boost\build\bet\winarm64_vc140\boost\bin.v2\libs\context\build\d62971186a848aba51a860c6ac8a9a8c\asm\make_arm64_aapcs_pe_armasm.obj" "d:\build\ob\sb-67536084\cayman_boost\build\bet\winarm64_vc140\boost\bin.v2\libs\context\build\d62971186a848aba51a860c6ac8a9a8c\asm\jump_arm64_aapcs_pe_armasm.obj" "d:\build\ob\sb-67536084\cayman_boost\build\bet\winarm64_vc140\boost\bin.v2\libs\context\build\d62971186a848aba51a860c6ac8a9a8c\asm\ontop_arm64_aapcs_pe_armasm.obj" "d:\build\ob\sb-67536084\cayman_boost\build\bet\winarm64_vc140\boost\bin.v2\libs\context\build\d62971186a848aba51a860c6ac8a9a8c\windows\stack_traits.obj" /DEBUG /guard:ehcont /guard:cf /MACHINE:ARM64 /MANIFEST:EMBED /OPT:REF,ICF /subsystem:console /out:"d:\build\ob\sb-67536084\cayman_boost\build\bet\winarm64_vc140\boost\bin.v2\libs\context\build\d62971186a848aba51a860c6ac8a9a8c\boost_context-mt-a64.dll" /DLL /IMPLIB:"d:\build\ob\sb-67536084\cayman_boost\build\bet\winarm64_vc140\boost\bin.v2\libs\context\build\d62971186a848aba51a860c6ac8a9a8c\boost_context-mt-a64.lib"
b2 INFO
b2 INFO Creating library d:\build\ob\sb-67536084\cayman_boost\build\bet\winarm64_vc140\boost\bin.v2\libs\context\build\d62971186a848aba51a860c6ac8a9a8c\boost_context-mt-a64.lib and object d:\build\ob\sb-67536084\cayman_boost\build\bet\winarm64_vc140\boost\bin.v2\libs\context\build\d62971186a848aba51a860c6ac8a9a8c\boost_context-mt-a64.exp
b2 INFO 0.000000 sec system; 0.000000 sec user; 0.711430 sec clock
sorry - I don't know, I don't have system running Windows on ARM64
sorry - I don't know, I don't have system running Windows on ARM64
the issue could be reproduce when building on x64 machine. b2.exe is built using x64. And then B2 is used for cross-compiling boost libraries to architecture=arm. (As MSVC supports cross-compiling) The building/compiling is actually happening on x64 machine.
I even don't own a Windows system!
Is there any other group where i can post the issue? i did some digging into it, issues is only with context lib in file fcontext.hpp
extern "C" BOOST_CONTEXT_DECL
transfer_t BOOST_CONTEXT_CALLDECL jump_fcontext( fcontext_t const to, void * vp);
extern "C" BOOST_CONTEXT_DECL
fcontext_t BOOST_CONTEXT_CALLDECL make_fcontext( void * sp, std::size_t size, void (* fn)( transfer_t) );
i'm assuming BOOST_CONTEXT_CALLDECL is setting to __cdecl in case of arm when doing cross-compiling on windows x64 and hence the linker error
Is there any other group where i can post the issue? i did some digging into it, issues is only with context lib in file fcontext.hpp
extern "C" BOOST_CONTEXT_DECL transfer_t BOOST_CONTEXT_CALLDECL jump_fcontext( fcontext_t const to, void * vp); extern "C" BOOST_CONTEXT_DECL fcontext_t BOOST_CONTEXT_CALLDECL make_fcontext( void * sp, std::size_t size, void (* fn)( transfer_t) );
i'm assuming BOOST_CONTEXT_CALLDECL is setting to __cdecl in case of arm when doing cross-compiling on windows x64 and hence the linker error
Have you tried specify abi=aapcs
?
I'm trying to build boost libraries (1.82) for windows arm64 with msvc toolset but getting following error using b2 with cross compilation
Build is happening on win64 machine.