Build failure on armhf
Hello,
numactl fails to build on armhf:
http://hydra.gnu.org/build/866208/log/raw
with the following error message:
syscall.c:113:2: error: #error "Add syscalls for your architecture or update kernel headers"
#error "Add syscalls for your architecture or update kernel headers"
Is this a known limitation? If yes, could it maybe be detected during the call to "configure"?
Andreas
Hello,
as I do not see the following message appear on the mailing list archive, I am sending it again, fearing it has not been posted.
Andreas
Quoted 8 lines · Andreas Enge
numactl fails to build on armhf:
http://hydra.gnu.org/build/866208/log/rawwith the following error message:
syscall.c:113:2: error: #error "Add syscalls for your architecture or update kernel headers"
#error "Add syscalls for your architecture or update kernel headers"Is this a known limitation? If yes, could it maybe be detected during the call to "configure"?
Hi Andreas,
Quoted 7 lines · Andreas Enge
numactl fails to build on armhf:
http://hydra.gnu.org/build/866208/log/rawwith the following error message:
syscall.c:113:2: error: #error "Add syscalls for your architecture or update kernel headers"
#error "Add syscalls for your architecture or update kernel headers"Is this a known limitation?
So syscall.c defines the syscall numbers for syscalls such as set_mempolicy, migrate_pages, etc. The syscalls numbers are different on different Linux platforms, so it's only currently defined for a handful of platforms.
As the error message says, if you find that error, maybe you should consider adding the syscall numbers for your platform there?
Quoted 2 lines
If yes, could it maybe be detected during the
call to "configure"?
The detection is fairly complex, it mainly depends on compiler macros being defined for your platform. Furthermore, adding platform detection code to configure would probably create duplication, in that both configure.ac and syscalls.c would need to be updated to add support for a new platform.
What is the problem you are trying to solve?
Cheers,
Filipe
Quoted 1 line
What is the problem you are trying to solve?
I guess he wants to build on that platform.
Adding the numbers to syscall.c is also only needed if the necessary syscall numbers are missing in asm/unistd.h. It really was originally only for ancient distributions where the headers predate numa support. So updating that may also help.
If your headers don't have numa support at all it may be also possible that the platform simply doesn't support NUMA. In that case building numactl is pointless.
-Andi
Hello,
and sorry for taking my time in replying around the Christmas holidays.
Quoted 1 line · Andi Kleen
I guess he wants to build on that platform.
Indeed. However, my situation is a bit special: I am doing QA work on the Guix GNU/Linux distribution and noticed numactl did not compile. Personally, I am not using the software...
Quoted 3 lines
If your headers don't have numa support at all it may be also possible that the platform simply doesn't support NUMA. In that case building numactl is pointless.
So I understand that numactl is not supported on armhf? In that case, we can simply disable its build on this architecture.
Andreas