라이브러리 설치 문제

라이브러리 설치 문제

그래서 다운로드 하려고 하는데요인, 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를 빌드할 것입니다. 패키지 관리자에는 충분히 좋고 쉬운 버전이 있습니다.

관련 정보