방금 우분투 서버에 2.7.11의 후위를 소스 코드에서 설치했습니다. 내가 우분투 자신의 하나를 사용하지 않기 때문에 이전 버전이 필요합니다.우분투 서버에서 같은 코드를 컴파일 할 수없는 이유는 무엇입니까?
매우 흥미로운 문제점을 발견했습니다. 이전에 CentOS 5와 6 모두에서 문제없이 소스 코드를 만들 수있었습니다. 하지만 우분투 서버 12.04에서는 완전히 다릅니다.
나는 다음과 같은 문제를 가지고 : 이dict_nis.c:173: error: undefined reference to 'yp_match'<br>
dict_nis.c:187: error: undefined reference to 'yp_match'<br>
dns_lookup.c:347: error: undefined reference to '__dn_expand'<br>
dns_lookup.c:218: error: undefined reference to '__res_search'<br>
dns_lookup.c:287: error: undefined reference to '__dn_expand'<br>
dns_lookup.c:498: error: undefined reference to '__dn_expand'<br>
dns_lookup.c:383: error: undefined reference to '__dn_expand'<br>
예,이 이유는 분명하다. 난 그냥 관련 라이브러리를 검색하고 메이크 파일에 추가하십시오. 그것은 작동합니다.
질문은 이유가 무엇입니까? 우분투 서버와 CentOS의 차이점은 무엇입니까?
하나의 가능성은 gcc 및 ld 버전입니다. 우분투 서버는 CentOS와 다른 버전의 gcc와 ld를 사용합니다. 그러나 나는 확실하지 않다.
IIRC postfix는'autoconf' 기반이므로,'config.log'를 게시하거나 자신을 먼저 들여다 보면 필요한 라이브러리를 찾지 못하는 이유를 알 수 있습니다. – favoretti
안녕하세요 @ favoretti config.log를 찾을 수 없습니다. 어떻게 찾을 수 있는지 알려주시겠습니까? 필자가 언급해야 할 한가지는 소스에서 postfix를 설치할 때, make ./configure를 실행할 필요가 없다는 것입니다. 사실, 나는 make를 직접 실행할 수 있습니다. – Coofucoo