GDBビルド、libreadline.aが見つかりません。

GDBビルド、libreadline.aが見つかりません。

ソースからGDBをビルドしようとしましたが、奇妙な問題に固執しました。どの情報が関連性があるのか​​よくわかりません。十分な情報が提供されていない場合はお知らせください。

私はLinux Mintで働いています。クラスで提供されるさまざまなgdbソースファイルとビルドスクリプトを含むtarballがあります。

ビルドスクリプト(linux-targ)の1つ(貴重な場合は公開できます)を実行すると、次のエラーが発生します。

.../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存在します。取り外してから再インストールもしてみました。 rootで実行しても構いません。

インストールスクリプトレポートlibreadlines.aが存在しないのはなぜですか?

SEが間違っている場合は代替案を提案してください。

答え1

まだインストールしていないようです。図書館読書ライン図書館。どのLinuxディストリビューションを使用しているのかわかりません。 Ubuntuインストールライブラリの場合:

sudo apt-get install libreadline7

そうしないと、ライブラリパスが正しく設定されません。

答え2

リンカーが「.a」ファイルを見つけることができないと文句を言う場合、これはそのファイルがライブラリに静的にリンクされていることを意味します。 「readline-devel」パッケージをインストールするだけでは不十分です。 「readline-static」パッケージもインストールする必要があります。

Centos 7を使用してreadlineに静的にリンクされているものを構築するためにインストールする必要があるパッケージ名は次のとおりです。他のディストリビューションは異なる場合があります。

関連情報