'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.

ありがとうございます!

関連情報