Make: 대상 'pcap-bt-monitor-linux.o'에 대한 레시피가 실패했습니다.

Make: 대상 'pcap-bt-monitor-linux.o'에 대한 레시피가 실패했습니다.

나는 이것을 팔로우하고 있다가이드내 Debian Linux에 snort를 설치합니다. 2단계에서 libpcap을 빌드하기 위해 "Make" 명령을 실행하는 동안 "Recipe for target 'pcap-bt-monitor-linux.o' failed" 오류가 발생합니다.

gcc -fpic -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -g -O2 -c ./pcap-bt-monitor-linux.c
./pcap-bt-monitor-linux.c:42:28: fatal error: bluetooth/mgmt.h: No such file or directory
#include <bluetooth/mgmt.h>
                        ^
compilation terminated.
Makefile:83: recipe for target 'pcap-bt-monitor-linux.o' failed
make: *** [pcap-bt-monitor-linux.o] Error 1

답변1



다른 사람들이 언급했듯이 문제는 누락된 종속성 bluetooth/mgmt.h를 찾을 수 없다는 것입니다.

위에서 언급한 것보다 문제를 해결하는 더 직접적인 방법은 누락된 헤더를 복사할 사용자 정의 포함 디렉터리를 만드는 것입니다.

# ${source_dir} is the dir where you're using make
# creating custom include directory
mkdir -p ${source_dir}/include/bluetooth

# downloading the missing header into it
curl https://projects.archlinux.org/svntogit/packages.git/plain/trunk/mgmt.h?h=packages/libpcap -o ${source_dir}/include/bluetooth/mgmt.h

# Adding the custom include directory to the include path
export CFLAGS="$CFLAGS -I${source_dir}/include"

작동하는지 확인하세요

답변2

이 메시지는 애플리케이션을 컴파일하기 위한 종속성이 누락되었음을 알려줍니다. 다음을 사용하여 apt-file관련 파일이 포함된 패키지를 쉽게 찾을 수 있습니다 .

# apt-file update
# apt-file search bluetooth/mgmt.h
linux-headers-3.16.0-4-common: /usr/src/linux-headers-3.16.0-4-common/include/net/bluetooth/mgmt.h

실행 중인 Debian 버전에 따라 패키지 이름이 다를 수 있습니다.

답변3

Make가 종속성을 찾을 수 없습니다. 파일이 없거나(아마도) 비표준 위치에 설치했습니다. Bluetooth 개발 패키지가 설치되어 있는지 확인하십시오.

sudo aptitude install libbluetooth-dev

편집: @jordanm 사용자는 누락된 파일을 찾는 더 나은 일반적인 방법을 가지고 있지만 wheezy를 사용하는 경우에는 다음 위치에 있습니다.libbluetooth-dev팩.

관련 정보