ライブラリのインストールに関する問題

ライブラリのインストールに関する問題

だからダウンロードしようとしています。要因、tar.gzを解凍します。

./configureその後、合計を計算しましたが、次のmake && sudo make installような結果が出ました。

libtool: link: gcc -std=gnu99 -g -O2 -o .libs/vipsheader vipsheader.o -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -pthread -fopenmp -I/usr/lib64/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/libxml2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/include/freetype2 -I/usr/include/ImageMagick -pthread -Wl,--export-dynamic -pthread -pthread  ../libvips/.libs/libvips.so -lz -lMagickCore -lpng12 -ltiff -ljpeg -lxml2 -lpangoft2-1.0 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lfftw3 -llcms -lexif -lm -fopenmp -pthread -Wl,-rpath -Wl,/usr/local/lib
make[2]: Leaving directory `/home/dir/vips-8.4.5/tools'
Making all in po
make[2]: Entering directory `/home/dir/vips-8.4.5/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/dir/vips-8.4.5/po'
Making all in man
make[2]: Entering directory `/home/dir/vips-8.4.5/man'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/dir/vips-8.4.5/man'
Making all in doc
make[2]: Entering directory `/home/dir/vips-8.4.5/doc'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/dir/vips-8.4.5/doc'
Making all in test
make[2]: Entering directory `/home/dir/vips-8.4.5/test'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/dir/vips-8.4.5/test'
make[2]: Entering directory `/home/dir/vips-8.4.5'
make[2]: Leaving directory `/home/dir/vips-8.4.5'
make[1]: Leaving directory `/home/dir/vips-8.4.5'

ただし、/usr/include および /usr/lib には何も追加されません。なぜこれですか?

編集:sudo make installを実行した後、出力は次のようになります。

Making install in libvips
make[1]: Entering directory `/home/dir/vips-8.4.5/libvips'
Making install in include
make[2]: Entering directory `/home/dir/vips-8.4.5/libvips/include'
Making install in vips
make[3]: Entering directory `/home/dir/vips-8.4.5/libvips/include/vips'
glib-mkenums --template enumtemplate \
        ../../../libvips/include/vips/resample.h ../../../libvips/include/vips/memory.h ../../../libvips/include/vips/create.h ../../../libvips/include/vips/foreign.h ../../../libvips/include/vips/arithmetic.h ../../../libvips/include/vips/conversion.h ../../../libvips/include/vips/util.h ../../../libvips/include/vips/image.h ../../../libvips/include/vips/colour.h ../../../libvips/include/vips/operation.h ../../../libvips/include/vips/convolution.h ../../../libvips/include/vips/morphology.h ../../../libvips/include/vips/draw.h ../../../libvips/include/vips/basic.h ../../../libvips/include/vips/object.h > xgen-geth && \
    ( cmp -s xgen-geth enumtypes.h || cp xgen-geth enumtypes.h ) && \
    rm -f xgen-geth 
/bin/sh: xgen-geth: Permission denied
make[3]: *** [enumtypes.h] Error 1
make[3]: Leaving directory `/home/dir/vips-8.4.5/libvips/include/vips'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/home/dir/vips-8.4.5/libvips/include'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/dir/vips-8.4.5/libvips'
make: *** [install-recursive] Error 1

それで問題があるようですが、理由がわかりません...

構成の出力は次のとおりです。https://docs.google.com/document/d/1fKR60Yob4_u2YcyUgr31M_SSdSV_7VXxs4-90O7ZZkI/edit?usp=sharing

答え1

configure/usr/localデフォルトでは常にインストールされます。わかります:

$ ./configure
... output
$ make
... more output
$ sudo make install
... even more output
$ ls /usr/local/bin/vips
/usr/local/bin/vips

インストールされたプログラムを実行するには、プラットフォームと構成方法によっては設定が/usr/local必要になる場合があります。PATHLD_LIBRARY_PATH

他の場所にインストールするにはを使用します--prefix。たとえば、次のようになります。

$ ./configure --prefix=/home/my_user_name/vips
$ make
$ make install

今は何も必要ありませんsudo。パッケージはホーム領域のディレクトリにインストールされます。もう一度設定する必要があり、PATH可能であればLD_LIBRARY_PATH

私は本当に最新バージョンが必要な場合、または開発したい場合にのみソースからlibvipsをビルドします。パッケージマネージャには十分によく簡単なバージョンがあります。

関連情報