inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

한국에서 제일 쉬운 리눅스 커널 강의

kernel build 오류

해결된 질문

298

작성자 없음

작성한 질문수 0

0

root@raspberrypi:/project/linuxSrc # ./build.sh

.

.

CC kernel/bounds.s

CHKSHA1 /project/linuxSrc/linux/include/linux/atomic/atomic-arch-fallback.h

DTCO arch/arm64/boot/dts/overlays/spi-rtc.dtbo

DTCO arch/arm64/boot/dts/overlays/spi0-0cs.dtbo

CHKSHA1 /project/linuxSrc/linux/include/linux/atomic/atomic-instrumented.h

CHKSHA1 /project/linuxSrc/linux/include/linux/atomic/atomic-long.h

DTCO arch/arm64/boot/dts/overlays/spi0-1cs.dtbo

DTCO arch/arm64/boot/dts/overlays/spi0-2cs.dtbo

DTCO arch/arm64/boot/dts/overlays/spi1-1cs.dtbo

DTCO arch/arm64/boot/dts/overlays/spi1-2cs.dtbo

DTCO arch/arm64/boot/dts/overlays/spi1-3cs.dtbo

In file included from /project/linuxSrc/linux/arch/arm64/include/asm/lse.h:5,

from /project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:14,

from /project/linuxSrc/linux/arch/arm64/include/asm/atomic.h:16,

from /project/linuxSrc/linux/include/linux/atomic.h:7,

from /project/linuxSrc/linux/include/asm-generic/bitops/atomic.h:5,

from /project/linuxSrc/linux/arch/arm64/include/asm/bitops.h:25,

from /project/linuxSrc/linux/include/linux/bitops.h:68,

from /project/linuxSrc/linux/include/linux/log2.h:12,

from /project/linuxSrc/linux/kernel/bounds.c:13:

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:298:9: error: unknown type name ‘u128’

298 | u128 full;

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:305:24: error: unknown type name ‘u128’

305 | static __always_inline u128 \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:332:1: note: in expansion of macro ‘__CMPXCHG128’

332 | __CMPXCHG128( , , )

| ^~~~~~~~~~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:306:36: error: unknown type name ‘u128’

306 | __ll_sc__cmpxchg128##name(volatile u128 *ptr, u128 old, u128 new) \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:332:1: note: in expansion of macro ‘__CMPXCHG128’

332 | __CMPXCHG128( , , )

| ^~~~~~~~~~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:306:47: error: unknown type name ‘u128’

306 | __ll_sc__cmpxchg128##name(volatile u128 *ptr, u128 old, u128 new) \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:332:1: note: in expansion of macro ‘__CMPXCHG128’

332 | __CMPXCHG128( , , )

| ^~~~~~~~~~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:306:57: error: unknown type name ‘u128’

306 | __ll_sc__cmpxchg128##name(volatile u128 *ptr, u128 old, u128 new) \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:332:1: note: in expansion of macro ‘__CMPXCHG128’

332 | __CMPXCHG128( , , )

| ^~~~~~~~~~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:305:24: error: unknown type name ‘u128’

305 | static __always_inline u128 \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:333:1: note: in expansion of macro ‘__CMPXCHG128’

333 | __CMPXCHG128(_mb, dmb ish, l, "memory")

| ^~~~~~~~~~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:306:36: error: unknown type name ‘u128’

306 | __ll_sc__cmpxchg128##name(volatile u128 *ptr, u128 old, u128 new) \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:333:1: note: in expansion of macro ‘__CMPXCHG128’

333 | __CMPXCHG128(_mb, dmb ish, l, "memory")

| ^~~~~~~~~~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:306:47: error: unknown type name ‘u128’

306 | __ll_sc__cmpxchg128##name(volatile u128 *ptr, u128 old, u128 new) \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:333:1: note: in expansion of macro ‘__CMPXCHG128’

333 | __CMPXCHG128(_mb, dmb ish, l, "memory")

| ^~~~~~~~~~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:306:57: error: unknown type name ‘u128’

306 | __ll_sc__cmpxchg128##name(volatile u128 *ptr, u128 old, u128 new) \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/atomic_ll_sc.h:333:1: note: in expansion of macro ‘__CMPXCHG128’

333 | __CMPXCHG128(_mb, dmb ish, l, "memory")

| ^~~~~~~~~~~~

DTCO arch/arm64/boot/dts/overlays/spi2-1cs.dtbo

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:134:15: error: unknown type name ‘u128’

134 | static inline u128 __cmpxchg128##name(volatile u128 *ptr, \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:141:1: note: in expansion of macro ‘__CMPXCHG128’

141 | __CMPXCHG128( )

| ^~~~~~~~~~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:134:48: error: unknown type name ‘u128’

134 | static inline u128 __cmpxchg128##name(volatile u128 *ptr, \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:141:1: note: in expansion of macro ‘__CMPXCHG128’

141 | __CMPXCHG128( )

| ^~~~~~~~~~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:135:39: error: unknown type name ‘u128’

135 | u128 old, u128 new) \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:141:1: note: in expansion of macro ‘__CMPXCHG128’

141 | __CMPXCHG128( )

| ^~~~~~~~~~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:135:49: error: unknown type name ‘u128’

135 | u128 old, u128 new) \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:141:1: note: in expansion of macro ‘__CMPXCHG128’

141 | __CMPXCHG128( )

| ^~~~~~~~~~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:134:15: error: unknown type name ‘u128’

134 | static inline u128 __cmpxchg128##name(volatile u128 *ptr, \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:142:1: note: in expansion of macro ‘__CMPXCHG128’

142 | __CMPXCHG128(_mb)

| ^~~~~~~~~~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:134:48: error: unknown type name ‘u128’

134 | static inline u128 __cmpxchg128##name(volatile u128 *ptr, \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:142:1: note: in expansion of macro ‘__CMPXCHG128’

142 | __CMPXCHG128(_mb)

| ^~~~~~~~~~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:135:39: error: unknown type name ‘u128’

135 | u128 old, u128 new) \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:142:1: note: in expansion of macro ‘__CMPXCHG128’

142 | __CMPXCHG128(_mb)

| ^~~~~~~~~~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:135:49: error: unknown type name ‘u128’

135 | u128 old, u128 new) \

| ^~~~

/project/linuxSrc/linux/arch/arm64/include/asm/cmpxchg.h:142:1: note: in expansion of macro ‘__CMPXCHG128’

142 | __CMPXCHG128(_mb)

| ^~~~~~~~~~~~

DTCO arch/arm64/boot/dts/overlays/spi2-1cs-pi5.dtbo

DTCO arch/arm64/boot/dts/overlays/spi2-2cs.dtbo

DTCO arch/arm64/boot/dts/overlays/spi2-2cs-pi5.dtbo

DTCO arch/arm64/boot/dts/overlays/spi2-3cs.dtbo

DTCO arch/arm64/boot/dts/overlays/spi3-1cs.dtbo

DTCO arch/arm64/boot/dts/overlays/spi3-1cs-pi5.dtbo

DTCO arch/arm64/boot/dts/overlays/spi3-2cs.dtbo

DTCO arch/arm64/boot/dts/overlays/spi3-2cs-pi5.dtbo

DTCO arch/arm64/boot/dts/overlays/spi4-1cs.dtbo

make[3]: *** [/project/linuxSrc/linux/scripts/Makefile.build:116: kernel/bounds.s] Error 1

make[2]: *** [/project/linuxSrc/linux/Makefile:1201: prepare0] Error 2

make[2]: *** Waiting for unfinished jobs....

DTCO arch/arm64/boot/dts/overlays/spi4-2cs.dtbo

DTCO arch/arm64/boot/dts/overlays/spi5-1cs.dtbo

DTCO arch/arm64/boot/dts/overlays/spi5-1cs-pi5.dtbo

DTCO arch/arm64/boot/dts/overlays/spi5-2cs.dtbo

.

.

DTCO arch/arm64/boot/dts/overlays/vc4-kms-v3d-pi5.dtbo

DTCO arch/arm64/boot/dts/overlays/vc4-kms-vga666.dtbo

DTCO arch/arm64/boot/dts/overlays/vga666.dtbo

DTCO arch/arm64/boot/dts/overlays/vl805.dtbo

DTCO arch/arm64/boot/dts/overlays/w1-gpio.dtbo

DTCO arch/arm64/boot/dts/overlays/w1-gpio-pi5.dtbo

DTCO arch/arm64/boot/dts/overlays/w1-gpio-pullup.dtbo

DTCO arch/arm64/boot/dts/overlays/w1-gpio-pullup-pi5.dtbo

DTCO arch/arm64/boot/dts/overlays/w5500.dtbo

DTCO arch/arm64/boot/dts/overlays/watterott-display.dtbo

DTCO arch/arm64/boot/dts/overlays/waveshare-can-fd-hat-mode-a.dtbo

DTCO arch/arm64/boot/dts/overlays/waveshare-can-fd-hat-mode-b.dtbo

DTCO arch/arm64/boot/dts/overlays/wittypi.dtbo

DTCO arch/arm64/boot/dts/overlays/wm8960-soundcard.dtbo

DTC arch/arm64/boot/dts/overlays/overlay_map.dtb

DTC arch/arm64/boot/dts/overlays/hat_map.dtb

make[1]: *** [/project/linuxSrc/linux/Makefile:234: __sub-make] Error 2

make[1]: Leaving directory '/project/linuxSrc/out'

make: *** [Makefile:234: __sub-make] Error 2

 

c linux Raspberry-Pi 운영체제 arm-architecture asm

답변 3

1

손재성

저도 비슷한 문제를 겪었는데 운영체제가 32비트로 설치되어서 그런 것 같습니다.

0

ojtube5

네 제가 봐도 그럴 확률이 높네요..
32bit로 설치 하셨다면 u128은 64bit에서만 지원할 수 있는 코드이기 때문에, 저런 에러가 날 수 있겠네요.

0

ojtube5

에러 메시지를 보면 u128라는 타입이 정의되지 않았다는 오류가 발생하고 있어요.
아주 간단한게 뭔가 꼬여 있을 것 같아요.

예를 들어..
#define u128 long <-- 이런식으로 정의 되어 있는 header파일이 있는데

그 파일 참조하는 경로가 꼬였다던가 하면 발생 할 수 있어요,.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 권호산님.

리눅스 커널 빌드 중 오류가 발생했군요. 제공해주신 로그를 보면 여러 “unknown type name ‘u128’” 에러가 발생하고 있습니다. 이는 128비트 자료형을 위한 정의가 누락된 것으로 보입니다. 이러한 문제는 일반적으로 커널 소스 코드와 사용하는 컴파일러 또는 빌드 환경 간의 불일치에서 비롯될 수 있습니다.

이 오류를 해결하기 위해 몇 가지 사항을 검토해보세요:

  1. 커널 소스 코드의 버전 확인: 사용 중인 커널 소스 코드가 최신인지 확인하십시오. 버전이 오래되었거나 특정 패치를 적용해야 할 수 있습니다.

  2. 컴파일러 버전 확인: 커널 빌드를 위해 적합한 컴파일러가 설치되어 있는지 확인하세요. 일반적으로 GCC를 사용하며, 권장 버전을 사용하는 것이 중요합니다.

  3. 종속성 확인: 커널 빌드에는 여러 필수 패키지가 필요할 수 있습니다. libelf-devlibssl-dev 같은 패키지가 제대로 설치되어 있는지 확인하세요.

  4. 설정 파일 확인: make menuconfig 등을 사용하여 커널 설정 파일을 적절히 구성했는지 확인하세요. 설정과 관련된 문제가 발생할 수 있습니다.

  5. 거의 확실한 문제 기반의 접근: 문제가 발생한 파일(atomic_ll_sc.h)에서 ‘u128’ 유형에 대한 정의가 포함되어 있는지 확인해보세요. ARM Arch64의 컴파일러 설정이나 특정 C 라이브러리에 대비하여 해당 유형을 지원하기 위한 헤더 파일이 필요할 수 있습니다.

이와 관련하여 참고할만한 게시물이 있다면 링크를 올려놓겠습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

안녕하세요. 계속 프로젝트를 해야지 하다가 결제하고 환경 설정 중입니다.

0

10

1

Export template 안됨

1

22

2

scanf("%d\n") 의미

0

20

1

REST API (Self-descriptive messages)

0

21

1

필기자료 사라졌나요?(실기 일주일만에 안돼서 재도전-_-)

0

36

2

13강 프로젝트생성해보기 관련 질문

0

21

3

56강 bcm2835-mailbox.c 파일 질문

0

55

2

'drivers/soc/bcm/bcm2835-power.o 에러 입니다.

0

83

3

라즈베리파이5 도 상관없을까요

0

102

1

드라이버 작성 포맷

0

72

2

ftrace를 사용하면서 궁금한 점.

0

83

2

install.txt를 실행하는 이유에 대해서.

0

91

2

네트워크 연결이 안됩니다

0

115

2

고아(?) 프로세스의 부모 선정이 어떻게 되는지 궁금합니다

0

119

3

arm 아키텍처는 4를 빼는 이유가 무엇일까요

0

170

3

xshell 와이파이 연결이 안됌.

0

204

2

시즌 2, 3 는 언제 수강할 수 있을까요?

0

256

2

current 매크로를 이용할때 sp_el0 를 활용하는 이유

0

194

2

context switching 을 할때 수행되는 asm 코드 관련 문의 드립니다.

0

170

3

라즈베리파이 메모리 사이즈 큰거 사도 될까요?

0

328

1

set_ftrace 질문

2

241

2

강의자료

0

173

2

재 빌드시 변경파일만 반영하지 않고 처음부터 빌드 됩니다.

0

319

1

라즈베리파이 용량부족

0

585

3