Linux 커널 3.10-2-amd64를 사용하여 x86_64에서 uClibc 0.9.27 [1]을 빌드하려고합니다. 3.2.0-49 제네릭 커널을 사용하여 Ubuntu 12.04.3에서 빌드되었는지 확인할 수 있습니다. make를 실행하면 오브젝트 파일을 많이 건설 관리하지만 결국 내가 유형 내가 이가 흡입되어 있어야 수집 파일에 존재하는 것을 확인uClibc 빌드 linux 3.10-2 (Debian jessie x86_64)는 누락 된 유형으로 인해 실패합니다.
In file included from /usr/include/linux/kernel.h:4,
from /usr/include/linux/netlink.h:4,
from /usr/include/linux/rtnetlink.h:5,
from libc/inet/netlinkaccess.h:32,
from libc/inet/if_index.c:36:
/usr/include/linux/sysinfo.h:8: error: expected specifier-qualifier-list before '__kernel_long_t'
In file included from /usr/include/linux/rtnetlink.h:6,
from libc/inet/netlinkaccess.h:32,
from libc/inet/if_index.c:36:
/usr/include/linux/if_link.h:317: error: expected specifier-qualifier-list before '__be16'
과 불평, CC libc/inet/if_index.os
에 도달합니다.의 경우
/usr/include/linux/sysinfo.h includes <linux/types.h>
/usr/include/linux/types.h includes <linux/posix_types.h>
/usr/include/linux/posix_types.h includes <asm/posix_types.h>
/usr/include/x86_64-linux-gnu/asm/posix_types.h includes <asm/posix_types_64.h>
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h includes <asm-generic/posix_types.h>
/usr/include/asm-generic/posix_types.h typedefs __kernel_long_t
그래서, 어디에 오류가 오는가, 그리고 그것을 어떻게 해결할 수 : __kernel_long_t
는이 파일이 같이 포함되어 있습니까?
[1] 예, 나는 최신 버전은 0.9.33.2 알고,하지만 난 그 특정 버전이 필요합니다.
'linux-headers' 패키지를 설치 했습니까? –
@BasileStarynkevitch : 예, 저는'linux-headers-3.10-2- {amd64, common}'을 가지고 있습니다. – bitmask
당신은 확실합니까? 3.10-2'asm-generic/posix_types.h'는'__kernel_long_t'를 정의합니까? 'uClibc-0.9.27/Rules.mak'에서'HOSTCFLAGS = -O2 -Wall -D__kernel_long_t = long'을 설정하면 문제를 해결할 수 있습니까? –