'binutils'/Kernel 6.5.X - "잘못된 --compress-debug-sections 옵션: 'zstd'"

'binutils'/Kernel 6.5.X - "잘못된 --compress-debug-sections 옵션: 'zstd'"

USB-HDMI 어댑터용 드라이버를 만들려고 합니다.

Bus 001 Device 010: ID 534d:6021 MacroSilicon VGA Display Adapter

노트:"lsusb" 출력.

...근데 이런 오류가 발생하네요...

Fatal error: Invalid --compress-debug-sections option: `zstd'

...아래 전체 출력에 표시된 대로...

[eduardolac@eduardolac-pc ms912x]$ make all -j
make CHECK="/usr/bin/sparse" -C /lib/modules/6.5.5-1-MANJARO/build M=/home/eduardolac/Data1/Temp/20231016.1224.0/ms912x modules
make[1]: Entering directory '/usr/lib/modules/6.5.5-1-MANJARO/build'
  CC [M]  /home/eduardolac/Data1/Temp/20231016.1224.0/ms912x/ms912x_registers.o
  CC [M]  /home/eduardolac/Data1/Temp/20231016.1224.0/ms912x/ms912x_connector.o
  CC [M]  /home/eduardolac/Data1/Temp/20231016.1224.0/ms912x/ms912x_transfer.o
  CC [M]  /home/eduardolac/Data1/Temp/20231016.1224.0/ms912x/ms912x_drv.o
Assembler messages:
Fatal error: Invalid --compress-debug-sections option: `zstd'
make[3]: *** [scripts/Makefile.build:243: /home/eduardolac/Data1/Temp/20231016.1224.0/ms912x/ms912x_connector.o] Error 1
make[3]: *** Waiting for unfinished jobs....
Assembler messages:
Fatal error: Invalid --compress-debug-sections option: `zstd'
make[3]: *** [scripts/Makefile.build:243: /home/eduardolac/Data1/Temp/20231016.1224.0/ms912x/ms912x_registers.o] Error 1
Assembler messages:
Fatal error: Invalid --compress-debug-sections option: `zstd'
make[3]: *** [scripts/Makefile.build:243: /home/eduardolac/Data1/Temp/20231016.1224.0/ms912x/ms912x_transfer.o] Error 1
Assembler messages:
Fatal error: Invalid --compress-debug-sections option: `zstd'
make[3]: *** [scripts/Makefile.build:243: /home/eduardolac/Data1/Temp/20231016.1224.0/ms912x/ms912x_drv.o] Error 1
make[2]: *** [/usr/lib/modules/6.5.5-1-MANJARO/build/Makefile:2034: /home/eduardolac/Data1/Temp/20231016.1224.0/ms912x] Error 2
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.5.5-1-MANJARO/build'
make: *** [Makefile:15: modules] Error 2

내 시스템에서 사용 가능한 "ld"는 "compress-debug-sections" 매개변수의 "zstd" 옵션을 지원하지 않습니다.

[eduardolac@eduardolac-pc ms912x]$ ld --help | grep "compress-debug-sections"
  --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]

...하지만 이 문서에 따르면 내 OS에 설치한 "binutils" 패키지("ld" 포함)는 버전 2.41-3입니다(https://sourceware.org/binutils/docs/binutils.html)은 이미 "compress-debug-sections" 매개변수의 "zstd" 옵션을 지원합니다.

내가 설치한 커널은 6.5.X입니다.

이 문제에 대해 도와주세요.

답변1

내 예제에 사용된 "ld" 바이너리가 어떤 이유로 "Homebrew"에서 제공되기 때문에 문제가 발생합니다.

[eduardolac@eduardolac-pc ms912x]$ pacman -Qo ld
error: No package owns /home/linuxbrew/.linuxbrew/bin/ld

그래서 제가 해결한 방법은 "Homebrew"를 아무 용도로 사용하지 않았기 때문에 제거하는 것이었습니다...

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"

예방 조치로 binutils를 다시 설치했습니다 ...

yay -Rdd binutils
yay -S binutils

마지막으로 터미널을 열고 닫으면 됩니다...

[eduardolac@eduardolac-pc ~]$ ld --version
GNU ld (GNU Binutils) 2.41.0
Copyright (C) 2023 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.

감사해요!

관련 정보