Trusted Software Stack の Command Transmission Interface を TPM 2.0 用に使用しようとしていますが、このライブラリをロードできないようです。使用すると、「未定義の参照」エラーが発生します。
TSS の ESAPI を使用したときにも同じ問題が発生し、Makefile で次のフラグを使用して修正しました: TPMFLAGS =-L=/usr/local/lib/ -ltss2-esys
.
以下は、現在の実装での私の Makefile です。
CC = gcc
CFLAGS = -std=c99 -Wall -I$(IDIR)
TPMFLAGS =-L=/usr/local/lib/ -ltss2-esys -ltss2-tcti-device
IDIR = ./includes/
SRCDIR = ./src/
BINDIR = ./bin/
SOURCES = $(SRCDIR)*.c
all: $(BINDIR)antiEvilMaid
$(BINDIR)antiEvilMaid: $(BINDIR)main.o $(BINDIR)errors.o
$(CC) $(BINDIR)main.o $(BINDIR)errors.o $(TPMFLAGS) -o $@
$(BINDIR)main.o: $(SRCDIR)main.c $(IDIR)main.h
$(CC)$(CFLAGS) -c $(SRCDIR)main.c -o $@
$(BINDIR)errors.o: $(SRCDIR)errors.c $(IDIR)main.h
$(CC)$(CFLAGS) -c $(SRCDIR)errors.c -o $@
run:
$(BINDIR)antiEvilMaid init
clean:
rm $(BINDIR)*.o $(BINDIR)antiEvilMaid
memtest:
valgrind --leak-check=full $(BINDIR)antiEvilMaid init