나는 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
( dnf
TeX 또는 Perl/Python 모듈의 조각을 이름으로 식별할 수도 있기 때문에 영리합니다.) 그런 다음 추가 정보와 클릭수를 요청하고 무엇을 할지 결정할 수 있습니다. 서두르고 무모한 경우:
dnf -y install /usr/lib64/libuuuid.a