コンパイルに問題があります。エピバル0.24StackExchangeで回答を検索し、近い回答を見つけました。efivarをコンパイルする方法は?しかし、それは私の問題を完全に解決しませんでした。make V=1 -j1
エラーメッセージが表示されます。
root:/sources/efivar-0.24/src# make V=1 -j1
make -f /sources/efivar-0.24/src/Make.deps deps SOURCES="crc32.c creator.c disk.c gpt.c linux.c loadopt.c dp.c dp-acpi.c dp-hw.c dp-media.c dp-message.c efivarfs.c export.c guid.c guids.S guid-symbols.c lib.c vars.c makeguids.c guid.c include/efivar/efivar-guids.h include/efivar/efivar.h include/efivar/efiboot.h include/efivar/efiboot-loadopt.h include/efivar/efivar-dp.h include/efivar/efiboot-creator.h include/efivar/efivar-guids.h guid-symbols.c efivar.c"
make[1]: Entering directory '/sources/efivar-0.24/src'
make[1]: Nothing to be done for 'deps'.
make[1]: Leaving directory '/sources/efivar-0.24/src'
gcc -O2 -g3 -I/sources/efivar-0.24/src/include/efivar/ -specs=/sources/efivar-0.24/gcc.specs -L. -static -I/usr/include -o efivar-static efivar.c dp.static.o dp-acpi.static.o dp-hw.static.o dp-media.static.o dp-message.static.o efivarfs.static.o export.static.o guid.static.o guids.static.o guid-symbols.static.o lib.static.o vars.static.o -ldl -lpopt
/usr/bin/ld: cannot find -lpopt
collect2: error: ld returned 1 exit status
make: *** [/sources/efivar-0.24/Make.rules:17: efivar-static] Error 1
Make.Defaultsが含まれていることを確認しました。
prefix ?= /usr/
libdir ?= $(prefix)/lib64/
datadir ?= $(prefix)/share/
mandir ?= $(datadir)/man/
includedir ?= $(prefix)/include/
bindir ?= $(prefix)/bin/
PCDIR ?= $(libdir)/pkgconfig/
DESTDIR ?=
私もpopt.hとpopt.pcを検索し、それらが正しいディレクトリにあることを確認しました。
root:/sources/efivar-0.24/src# find / -iname popt.h
/usr/include/popt.h
root:/sources/efivar-0.24/src# find / -iname popt.pc
/usr/lib/pkgconfig/popt.pc
/usr/lib/pkgconfig/popt.pc の出力は次のとおりです。
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: popt
Version: 1.16
Description: popt library.
Libs: -L${libdir} -lpopt
Cflags: -I${includedir}
誰かが私が解決策を見つけるのを手伝ってくれるか、少なくとも私が集中すべき方向を教えてくれたらいいでしょう。よろしくお願いします。