IT한 것

unknown symbol '_stack_chk_fail_local'

lovian 2008. 1. 18. 17:29
more undefined references to `__stack_chk_fail_local' follow

linux에서 빌드를 하다보면 이런 링크 에러메시지를 만날 수 있다.
당최 어디있는지도 모를 것을 왜 참조하는지 궁금하다.

gcc 4.x 이상부터 있는 stack protector란 녀석을 사용하기 위해서 자동으로 링크되는 것으로 보인다.

gcc 4.x 에서 빌드한 라이브러리를 gcc 3..x 에서 링크하여 쓸려고 했기 때문에 이런 문제가 발생한다.

해결책은. 4.x 이상에서 빌드할때에 -fno-stack-protector 옵션을 주라고 한다. 해보진 않았다 ㅋㅋ