make가 -luuid 오류를 찾을 수 없습니다.

make가 -luuid 오류를 찾을 수 없습니다.

나는 centos7을 사용하고 이것을 구축하려고합니다.https://github.com/daveti/prov-tools/tree/master/system하지만 난 이해해

/usr/bin/ld: cannot find -luuid

libuuid로 yum 설치를 했는데 설치되었다고 나오네요. 그런데 libuuid.a가 없는 것 같습니다. 그러나 libuuid-static은 없습니다. 누락된 패키지가 있나요? 아니면 만들 ​​수 있도록 makefile을 변경할 수 있나요?

생성된 파일입니다

PREFIX ?= /usr  

CFLAGS ?= -Wall -Werror 
CFLAGS += -std=gnu99 -static

BINARIES = pbang ncred elijah fixbang
OBJECTS = plog

all: $(BINARIES)

clean:
    $(RM) $(BINARIES) $(addsuffix .o,$(OBJECTS))

install: $(addprefix install-,$(BINARIES))

install-%: %
    install -D $< $(DESTDIR)$(PREFIX)/sbin/$<

ncred elijah: plog.o

pbang: LDLIBS += -lz -luuid

.PHONY: all clean install

편집: libuuid.so가 있다는 것을 find를 사용하여 확인했지만 이에 연결하는 방법을 모르겠습니다.

답변1

당신은해야합니다자유 발달, 이 패키지는 컴파일을 위한 라이브러리를 제공합니다.

라이브러리 UID런타임 라이브러리 제공

답변2

Red Hat은 그 이유를 제시합니다.오류 596898. 기본적으로 특히 인프라용 정적 라이브러리는 다음과 같습니다.매우매우 낙담합니다(동적 라이브러리 메커니즘이 마지막으로 작동한 지 오래되었으므로 진심으로 동의합니다).

일반적으로 나는 다음과 같은 가능한 파일 이름이 포함된 패키지를 찾으려고 노력합니다.

dnf provides /usr/lib64/libuuuid.a

( dnfTeX 또는 Perl/Python 모듈의 조각을 이름으로 식별할 수도 있기 때문에 영리합니다.) 그런 다음 추가 정보와 클릭수를 요청하고 무엇을 할지 결정할 수 있습니다. 서두르고 무모한 경우:

dnf -y install /usr/lib64/libuuuid.a

관련 정보