/usr/bin/ld 오류가 발생했습니다. 최종 링크 실패: 장치에 남은 공간이 없습니다.

/usr/bin/ld 오류가 발생했습니다. 최종 링크 실패: 장치에 남은 공간이 없습니다.

/usr/bin/ld: 최종 링크 실패: 장치에 남은 공간이 없습니다.오픈 소스 코드 프로젝트를 컴파일하려고 하면 오류가 발생합니다.

내 디스크에 여유 공간이 7GB 정도 있는데 그것이 문제의 원인은 아닌 것 같습니다.

소스 파일이 너무 크면 이와 같은 링커 오류가 발생할 수 있다는 내용을 어딘가에서 읽었습니다. 소스 파일이 너무 크기 때문에 그럴 수도 있습니다. 링커에서 파일 크기로 인해 오류가 발생하는 경우 문제를 해결하기 위해 수행할 수 있는 작업은 무엇입니까?

답변1

링커는 임시 파일을 저장해야 합니다. 추측: 임시 디렉토리가 (보통 /tmp) 가득 찼습니다. 해결 방법: 다른 임시 디렉토리( )를 정리하거나 /tmp확장하거나 사용하십시오 ./tmpexport TMPDIR=/path/to/directory/with/

답변2

다음 사항을 확인해 보세요.

  1. 어떤 파일 시스템이 있습니까? 예를 들어 FAT32는 2GB보다 큰 파일을 허용하지 않습니다.
  2. 사용 가능한 i-노드가 있습니까? df -i블록 크기보다 작은 파일이 여러 개 있을 수 있으며 여유 공간이 있지만 i-노드 목록이 가득 차서 더 이상 파일을 생성할 수 없습니다.

두 경우 모두 더 큰 파일 및/또는 더 많은 inode를 허용하기 위해 새로운 유형의 파티션으로 다시 포맷해야 할 수도 있습니다.

관련 정보