PHPの起動:動的ライブラリをロードできません。共有オブジェクトファイルを開くことができません。そのファイルやディレクトリはありません。

PHPの起動:動的ライブラリをロードできません。共有オブジェクトファイルを開くことができません。そのファイルやディレクトリはありません。

特定のバージョンをコンパイルしようとしています。地球観測システムそしてそのPHPバインディング内部にトラビス室環境; Ubuntuを使用しています。

私のインストールスクリプトは次のとおりです。

sudo apt-get update
sudo apt-get remove 'libgeos.*'
sudo apt-get autoremove

wget https://github.com/libgeos/libgeos/archive/$VERSION.tar.gz
tar zxf $VERSION.tar.gz
cd libgeos-$VERSION
./autogen.sh
./configure
make
sudo make install
cd ..

wget https://git.osgeo.org/gogs/geos/php-geos/archive/1.0.0rc1.tar.gz
tar zxf 1.0.0rc1.tar.gz
cd php-geos
./autogen.sh
./configure
make
mv modules/geos.so $(php-config --extension-dir)
cd ..

echo "extension=geos.so" > geos.ini
phpenv config-add geos.ini

すべてがうまくコンパイルされているようですが、PHPがGEOS拡張をロードしようとすると、次のメッセージが表示されます。

PHPの起動:動的ライブラリ '/home/travis/.phpenv/versions/5.6.28/lib/php/extensions/no-debug-zts-20131226/geos.so'を読み込めませんでした。 - libgeos_c.so.1:不可能な共有オブジェクトファイルを開く:「不明」行0に対応するファイルまたはディレクトリがありません。

私のコンピュータで次のコマンドを実行しました。

sudo find / -name 'libgeos_c.so*'

結果は次のとおりです。

/usr/local/lib/libgeos_c.so.1.9.0
/usr/local/lib/libgeos_c.so.1
/usr/local/lib/libgeos_c.so
/home/travis/build/brick/geo/libgeos-3.5.0/capi/.libs/libgeos_c.so.1.9.0T
/home/travis/build/brick/geo/libgeos-3.5.0/capi/.libs/libgeos_c.so.1.9.0
/home/travis/build/brick/geo/libgeos-3.5.0/capi/.libs/libgeos_c.so.1
/home/travis/build/brick/geo/libgeos-3.5.0/capi/.libs/libgeos_c.so

したがって、新しく構築されたGEOS PHP拡張機能が/usr/local/lib

この問題をどのように解決できますか?

ここにいるTravis CIにフルログイン

ベストアンサー1

で共有ライブラリを見つけるために拡張子を取得する方法が見つかりませんでしたが、/usr/local/liblibgeosをからインストールする方法を見つけました/usr/lib

--prefixlibgeosをビルドするときに使用します。

./configure --prefix=/usr

おすすめ記事