snort에서 thread을 사용하려고 합니다.

jinlee222의 이미지

snort에서 thread을 사용하려고 합니다.

snort.c파일 안에 있는 snortMain에서 thread 함수를 호출하여 thread을 시작합니다.

thread때 수행 되는 함수는 제가 만들 파일 Recv_Server_Manager.c 파일 안에 있는 Recv_Manager()입니다.

그런데 원래 gcc로 thread을 실행할때 옵션으로 -lpthread을 해야 하는데

이것을 snort의 make 파일 안에서 -lpthread을 어떻게 나타냅니까??

그리고 또 다른 질문인데

위와 같은 thread을 snort make 파일 수정없이 그냥 사용하려고 했을때

컴파일을 하면 pthread_create, pthread_join이 "undifined referrence"라는 error이 나타 납니다.

분명 snort.c파일에서는 pcap_loop을 사용하기 위해 threaad을 돌린것 같은데 그러면 컴파일 할때 -lpthread을 사용할 필요가 없을것 같은데 왜 이런 error가 나타나는지 잘 모르겠습니다.

고수님들 부탁드립니다. 꾸벅~~~~!!

sunyzero의 이미지

첫번째 질문은 pthread library를 링킹 못해서 나는 문제였죠?
두번째는 당연히 라이브러리를 링킹 못하니까 심볼을 찾지 못해서 나는 에러죠.

무엇을 하시려고 하시는지는 모르겠지만, autoconf를 이용하시지 않는다면 그냥 makefile 고치시면 되고(대략 CFLAGS 에 오버라이드 시켜주시면 됩니다) auto tool들을 사용하시는 경우에는 Makefile.in 이던가? 이 파일을 고쳐주시면 됩니다.(auto 툴은 대부분 직접 고치는경우가 드물어서 기억이 가물하네요)

========================================
* The truth will set you free.