레드햇 6.2+oracle을 써서 프로그램을 개발하다가,
7.2로 업그레이드를 했습니다.
그런데 개발소스를 gcc로 돌리면 더이상 진행이 되지 않습니다.
top으로 보면, ld의 %CPU가 거의 99%가 되면서 계속 프로세스를 잡고 있습니다.
강제종료시키기전까지 계속 프로세스를 잡고 있네요..
간단한 c프로그램을 gcc로 돌려보면 문제가 없습니다.
단지 기존에 개발하던 프로그램들을 컴파일할때 되지 않네요..
gcc를 돌릴때 옵션은 gcc -O -I -l -f등을 쓰고 있습니다
몇일째 보고는있는데,,, 도대체 뭐가 문제인거죠?--..
ld 가 99% CPU 를 쓰면서 멈추는 것은 링크 단계에서 라이브러리 검색이나 순환 참조가 문제를 일으키는 경우가 많습니다. gcc 옵션에 -l 과 -f 를 잘못 쓴 것도 원인일 수 있으니, 링크 옵션을 -lm 같은 정확한 형식으로 고치세요.
strace 로 ld 가 무엇을 읽는지 보면 원인을 찾을 수 있습니다.