[boost-context] Build error aarch64
Nobody has claimed this yet.
- Dominant language
- CMake
- Stars
- 27.5k
- Forks
- 7.7k
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 321
Description
boost-context looks like its trying to build for x86_64 on an aarch64 Linux Ubuntu system.
`uname -m` is aarch64
I tried setting the environment variable VCPKG_FORCE_SYSTEM_BINARIES=1
Here's the assembler failure:
```
FAILED: libs/context/CMakeFiles/boost_context.dir/src/asm/make_x86_64_sysv_elf_gas.S.o
/usr/bin/g++-13 -DBOOST_CONTEXT_DYN_LINK="" -DBOOST_CONTEXT_EXPORT=EXPORT -DBOOST_CONTEXT_NO_LIB="" -DBOOST_CONTEXT_SOURCE="" -Dboost_context_EXPORTS -I/home/build/tmp/foo/bar/src/goo/3rdparty/vcpkg/buildtrees/boost-context/src/ost-1.85.0-aafc13249c.clean/libs/context/include -isystem /home/build/tmp/foo/bar/build-iui-master-manifest-gcc13-ninja-ci-orin-incremental/vcpkg_installed/x64-linux-dynamic/include -g -fPIC -x assembler-with-cpp -MD -MT libs/context/CMakeFiles/boost_context.dir/src/asm/make_x86_64_sysv_elf_gas.S.o -MF libs/context/CMakeFiles/boost_context.dir/src/asm/make_x86_64_sysv_elf_gas.S.o.d -o libs/context/CMakeFiles/boost_context.dir/src/asm/make_x86_64_sysv_elf_gas.S.o -c /home/build/tmp/foo/bar/src/goo/3rdparty/vcpkg/buildtrees/boost-context/src/ost-1.85.0-aafc13249c.clean/libs/context/src/asm/make_x86_64_sysv_elf_gas.S
make_x86_64_sysv_elf_gas.S: Assembler messages:
make_x86_64_sysv_elf_gas.S:58: Error: unknown mnemonic `movq' -- `movq %rdi,%rax'
make_x86_64_sysv_elf_gas.S:61: Error: unknown mnemonic `andq' -- `andq $-16,%rax'
make_x86_64_sysv_elf_gas.S:65: Error: unknown mnemonic `leaq' -- `leaq -0x48(%rax),%rax'
make_x86_64_sysv_elf_gas.S:69: Error: unknown mnemonic `movq' -- `movq %rdx,0x30(%rax)'
make_x86_64_sysv_elf_gas.S:72: Error: unknown mnemonic `stmxcsr' -- `stmxcsr (%rax)'
make_x86_64_sysv_elf_gas.S:74: Error: unknown mnemonic `fnstcw' -- `fnstcw 0x4(%rax)'
/home/build/tmp/foo/bar/src/goo/3rdparty/vcpkg/buildtrees/boost-context/src/ost-1.85.0-aafc13249c.clean/libs/context/src/asm/make_x86_64_sysv_elf_gas.S:83: Error: unknown mnemonic `leaq' -- `leaq trampoline(%rip),%rcx'
/home/build/tmp/foo/bar/src/goo/3rdparty/vcpkg/buildtrees/boost-context/src/ost-1.85.0-aafc13249c.clean/libs/context/src/asm/make_x86_64_sysv_elf_gas.S:86: Error: unknown mnemonic `movq' -- `movq %rcx,0x40(%rax)'
/home/build/tmp/foo/bar/src/goo/3rdparty/vcpkg/buildtrees/boost-context/src/ost-1.85.0-aafc13249c.clean/libs/context/src/asm/make_x86_64_sysv_elf_gas.S:89: Error: unknown mnemonic `leaq' -- `leaq finish(%rip),%rcx'
/home/build/tmp/foo/bar/src/goo/3rdparty/vcpkg/buildtrees/boost-context/src/ost-1.85.0-aafc13249c.clean/libs/context/src/asm/make_x86_64_sysv_elf_gas.S:92: Error: unknown mnemonic `movq' -- `movq %rcx,0x38(%rax)'
/home/build/tmp/foo/bar/src/goo/3rdparty/vcpkg/buildtrees/boost-context/src/ost-1.85.0-aafc13249c.clean/libs/context/src/asm/make_x86_64_sysv_elf_gas.S:174: Error: unknown mnemonic `push' -- `push %rbp'
/home/build/tmp/foo/bar/src/goo/3rdparty/vcpkg/buildtrees/boost-context/src/ost-1.85.0-aafc13249c.clean/libs/context/src/asm/make_x86_64_sysv_elf_gas.S:177: Error: unknown mnemonic `jmp' -- `jmp *%rbx'
/home/build/tmp/foo/bar/src/goo/3rdparty/vcpkg/buildtrees/boost-context/src/ost-1.85.0-aafc13249c.clean/libs/context/src/asm/make_x86_64_sysv_elf_gas.S:182: Error: unknown mnemonic `xorq' -- `xorq %rdi,%rdi'
/home/build/tmp/foo/bar/src/goo/3rdparty/vcpkg/buildtrees/boost-context/src/ost-1.85.0-aafc13249c.clean/libs/context/src/asm/make_x86_64_sysv_elf_gas.S:184: Error: unknown mnemonic `call' -- `call _exit@PLT'
/home/build/tmp/foo/bar/src/goo/3rdparty/vcpkg/buildtrees/boost-context/src/ost-1.85.0-aafc13249c.clean/libs/context/src/asm/make_x86_64_sysv_elf_gas.S:185: Error: missing immediate expression at operand 1 -- `hlt'
[4/7] /usr/bin/g++-13 -DBOOST_CONTEXT_DYN_LINK="" -DBOOST_CONTEXT_EXPORT=EXPORT -DBOOST_CONTEXT_NO_LIB="" -DBOOST_CONTEXT_SOURCE="" -Dboost_context_EXPORTS -I/home/build/tmp/foo/bar/src/goo/3rdparty/vcpkg/buildtrees/boost-context/src/ost-1.85.0-aafc13249c.clean/libs/context/include -isystem /home/build/tmp/foo/bar/build-iui-master-manifest-gcc13-ninja-ci-orin-incremental/vcpkg_installed/x64-linux-dynamic/include -fPIC -g -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT libs/context/CMakeFiles/boost_context.dir/src/posix/stack_traits.cpp.o -MF libs/context/CMakeFiles/boost_context.dir/src/posix/stack_traits.cpp.o.d -o libs/context/CMakeFiles/boost_context.dir/src/posix/stack_traits.cpp.o -c /home/build/tmp/foo/bar/src/goo/3rdparty/vcpkg/buildtrees/boost-context/src/ost-1.85.0-aafc13249c.clean/libs/context/src/posix/stack_traits.cpp
ninja: build stopped: subcommand failed.
```
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the boost-context build on the reported aarch64 Ubuntu system and inspect the CMake architecture selection. The failing entry point is libs/context/src/asm/make_x86_64_sysv_elf_gas.S, while the command also reveals an x64-linux-dynamic vcpkg target. Done means the aarch64 build selects compatible assembly and completes successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp, linux, ubuntu
- Domain
- build-system, operating-systems, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100