2012-01-06 3 views
0

우분투에서 systrace (1.6g)를 컴파일하려고했습니다. 내가 libevent 2.0.16을 사용하고하면, 다음과 같은 컴파일 오류가 발생합니다 :systrace를 컴파일하면 "선언 지정자에 두 개 이상의 데이터 유형이 있습니다."

In file included from /usr/include/netdb.h:28, 
       from /usr/include/event2/util.h:63, 
       from /usr/include/evutil.h:37, 
       from /usr/include/event.h:57, 
       from systrace.c:67: 
/usr/include/netinet/in.h:141: error: two or more data types in declaration specifiers 
/usr/include/netinet/in.h:141: error: two or more data types in declaration specifiers 

이들은 /usr/include/netinet/in.h에서 해당 라인은 다음과 같습니다

/* Internet address. */ 
typedef uint32_t in_addr_t; 
struct in_addr 
    { 
    in_addr_t s_addr; 
    }; 

사람이 제공 할 수 내가 netinet/in.h에서 작동하도록 바꾸는 것에 대한 통찰력?

답변

3

당신은 (./configure를 실행하여 생성) config.h에보고 라인을

#define in_addr_t unsigned long 

코멘트를 찾아 (또는 삭제)하고 적어도이 분명 어떻게 든 깨진 패키지를 컴파일에서 더 얻을 수 있습니다.


그냥 추측 :은 Systrace의 1.6G 오래된 조용으로 그것을 컴파일 libevent 1.x.y를 사용해야 할 수도 있습니다.

현재 libevent 1 패키지 here을 다운로드 할 수 있습니다.

+0

libevent-1.4.14b-stable을 사용하면 make : http://pastie.org/3137269를 실행할 때이 오류 메시지가 나타납니다. libevent-1.0e와 같은 결과. 나는 또한 gcc-3.4를 사용해 보았는데, libevent 2.0.16을 사용할 때도 같은 오류 메시지가 나온다. 무슨 일이 일어나고 있는지 아십니까? – vikhyat

+0

@celebrus : 내 새로 편집 된 게시물을 보시기 바랍니다. – alk

+0

내'config.h'는이 두 줄을 포함하고 있습니다. – gipi

관련 문제