GDB 빌드, libreadline.a를 찾을 수 없습니다.

GDB 빌드, libreadline.a를 찾을 수 없습니다.

소스에서 GDB를 빌드하려고 하는데 이상한 문제에 봉착했습니다. 어떤 정보가 관련성이 있는지 잘 모르겠습니다. 충분한 정보를 제공하지 못한 경우 알려주시기 바랍니다.

저는 Linux Mint에서 작업 중입니다. 클래스에서 제공되는 다양한 gdb 소스 파일과 빌드 스크립트가 포함된 tarball이 있습니다.

빌드 스크립트(linux-targ) 중 하나(귀중하다면 게시할 수 있음)를 실행할 때 다음 오류가 발생합니다.

.../gdb/install.sh -c -m 644 libreadline.a /usr/local/lib/libreadline.a  
install:  libreadline.a does not exist  
make[1]:  [install] Error 1  

이것은 install.sh 스크립트에서 실패한 줄입니다.

    if [ -f $src -o -d $src ]  
    then  
            true  
    else  
            echo "install:  $src does not exist"  
            exit 1  
    fi  

libreadline.a를 로컬 디렉터리에 복사하려고 시도했지만 역시 실패했습니다.

그러나 /usr/local/lib/libreadline.a존재합니다. 제거했다가 다시 설치도 해봤습니다. 루트로 실행해도 상관 없을 것 같습니다.

설치 스크립트 보고서가 libreadlines.a존재하지 않는 이유는 무엇입니까?

SE가 잘못된 경우 대안을 제안해 주세요.

답변1

아직 설치하지 않은 것 같습니다.도서관 읽기 라인도서관. 어떤 Linux 배포판을 사용하고 있는지 모르겠습니다. 우분투 설치 라이브러리의 경우:

sudo apt-get install libreadline7

그렇지 않으면 라이브러리 경로가 올바르게 설정되지 않습니다.

답변2

링커가 ".a" 파일을 찾을 수 없다고 불평하는 경우 이는 해당 파일이 라이브러리에 정적으로 링크되어 있음을 의미합니다. "readline-devel" 패키지를 설치하는 것만으로는 충분하지 않습니다. "readline-static" 패키지도 설치해야 합니다.

Centos 7을 사용하여 readline에 정적으로 연결된 것을 빌드하기 위해 설치해야 하는 패키지 이름은 다음과 같습니다. 다른 배포판은 다를 수 있습니다.

관련 정보