スポンサーリンク

最近まで、FreeBSDでプログラミングをすることがあっても、Linux でプログラムをあまり書いていなかったり、64ビット環境ではなかったりと、いろいろ問題が出てきた。

ライブラリをインストールして、リンクしたバイナリを実行しようとすると、libfoo.so.1 がないと言われたりする。

ライブラリはインストールしてあるので、「.soはあるはず」なんだけど。。。ということが起きる。

これは、FreeBSDではなく、Linuxの話である。

まず、現在、shared library cache の状態がどうなっているのか ldconfig で確かめるべきだ。
ldconfig -p |fgrpe libfoo
FreeBSD なら ldconfig -r か。

これで、何も出てこなければ、libfoo.so.1 とかが shared library cache に入っていない。

次に、読み込みたい shared library がファイルシステムに存在するか、確認すべきだ。

ls -l /usr/local/lib/libfoo*

これで、存在していて、 libfoo.so がないと言われるなら、shared library cache を更新しなければならない。

これだけで shared library は更新できる。
sudo ldconfig

もう一度、 ldconfig を確認する。
ldconfig -p |fgrpe libfoo
これで、 libfoo が見つかれば、オッケーです。

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー