[ https://issues.apache.org/jira/browse/MESOS-5263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tomasz Janiszewski updated MESOS-5263: -------------------------------------- Description: When compile on ARM, it will through error. The current code logic in src/linux/fs.cpp is: {code} #ifdef __NR_pivot_root int ret = ::syscall(__NR_pivot_root, newRoot.c_str(), putOld.c_str()); #elif __x86_64__ // A workaround for systems that have an old glib but have a new // kernel. The magic number '155' is the syscall number for // 'pivot_root' on the x86_64 architecture, see // arch/x86/syscalls/syscall_64.tbl int ret = ::syscall(155, newRoot.c_str(), putOld.c_str()); #elif __powerpc__ || __ppc__ || __powerpc64__ || __ppc64__ // A workaround for powerpc. The magic number '203' is the syscall // number for 'pivot_root' on the powerpc architecture, see // https://w3challs.com/syscalls/?arch=powerpc_64 int ret = ::syscall(203, newRoot.c_str(), putOld.c_str()); #else #error "pivot_root is not available" #endif {code} Possible sollution is to add `unistd.h` header was: When compile on ARM, it will through error. The current code logic in src/linux/fs.cpp is: {code} #ifdef __NR_pivot_root int ret = ::syscall(__NR_pivot_root, newRoot.c_str(), putOld.c_str()); #elif __x86_64__ // A workaround for systems that have an old glib but have a new // kernel. The magic number '155' is the syscall number for // 'pivot_root' on the x86_64 architecture, see // arch/x86/syscalls/syscall_64.tbl int ret = ::syscall(155, newRoot.c_str(), putOld.c_str()); #elif __powerpc__ || __ppc__ || __powerpc64__ || __ppc64__ // A workaround for powerpc. The magic number '203' is the syscall // number for 'pivot_root' on the powerpc architecture, see // https://w3challs.com/syscalls/?arch=powerpc_64 int ret = ::syscall(203, newRoot.c_str(), putOld.c_str()); #else #error "pivot_root is not available" #endif {code} [~haosd...@gmail.com] proposed adding > pivot_root is not available on ARM > ---------------------------------- > > Key: MESOS-5263 > URL: https://issues.apache.org/jira/browse/MESOS-5263 > Project: Mesos > Issue Type: Bug > Reporter: Tomasz Janiszewski > Assignee: Tomasz Janiszewski > Fix For: 0.29.0 > > > When compile on ARM, it will through error. > The current code logic in src/linux/fs.cpp is: > {code} > #ifdef __NR_pivot_root > int ret = ::syscall(__NR_pivot_root, newRoot.c_str(), putOld.c_str()); > #elif __x86_64__ > // A workaround for systems that have an old glib but have a new > // kernel. The magic number '155' is the syscall number for > // 'pivot_root' on the x86_64 architecture, see > // arch/x86/syscalls/syscall_64.tbl > int ret = ::syscall(155, newRoot.c_str(), putOld.c_str()); > #elif __powerpc__ || __ppc__ || __powerpc64__ || __ppc64__ > // A workaround for powerpc. The magic number '203' is the syscall > // number for 'pivot_root' on the powerpc architecture, see > // https://w3challs.com/syscalls/?arch=powerpc_64 > int ret = ::syscall(203, newRoot.c_str(), putOld.c_str()); > #else > #error "pivot_root is not available" > #endif > {code} > Possible sollution is to add `unistd.h` header -- This message was sent by Atlassian JIRA (v6.3.4#6332)