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.
감사해요!