권한이 없는 사용자로 PL/R을 빌드하고 설치하는 방법은 무엇입니까?

권한이 없는 사용자로 PL/R을 빌드하고 설치하는 방법은 무엇입니까?

Postgres 인스턴스가 있으며 직접 구축할 수 있는 능력이 있습니다.

사용이 지침난 달린다:

USE_PGXS=1 make

이것은 작동하지만

USE_PGXS=1 make install

아니요, 다음 오류가 발생합니다.

/bin/sh /usr/lib64/pgsql/pgxs/src/makefiles/../../config/mkinstalldirs '/usr/lib64/pgsql'
mkdir -p -- /usr/share/pgsql/contrib
mkdir: 불가능 `/usr/share/pgsql/contrib' 디렉토리 생성 중: 권한이 거부되었습니다
.*[설치 디렉터리] 오류 1

이상적으로는 로컬에 설치하고 싶지만 가능한지 모르겠습니다.

저는 레드햇 5를 사용하고 있습니다.

답변1

pl/R 목록은 어려움이 있는지 물어볼 수 있는 더 좋은 장소일 수 있습니다. Joe Conway도 질문에 답변하기 위해 참석했습니다. pl/R 데비안 패키지의 빠른 컴파일을 보면 make에 DESTDIR 매개변수를 전달하려는 것처럼 보입니다. 그것은 마치

make DESTDIR=/home/...

이것은 데비안 패키지의 make 라인입니다.

USE_PGXS=1 PG_CONFIG=/usr/lib/postgresql/8.4/bin/pg_config /usr/bin/make  -C . \   
CFLAGS="-g -Wall -O2" CXXFLAGS="-g -Wall -O2" CPPFLAGS="" LDFLAGS="" \
-I/usr/share/R/include PG_CPPFLAGS=-I/usr/share/R/include

이것은 make install 라인입니다

USE_PGXS=1 PG_CONFIG=/usr/lib/postgresql/8.4/bin/pg_config /usr/bin/make  -C . \
CFLAGS="-g -Wall -O2" CXXFLAGS="-g -Wall -O2" CPPFLAGS="" LDFLAGS=""  USE_PGXS=1 \   
R_HOME=/usr/lib/R install DESTDIR=debian/tmp/

보시다시피 설정해야 할 다른 매개변수가 많이 있습니다. 개인적으로 저는 시스템 관리자에게 바이너리를 설치하도록 설득하려고 합니다.

답변2

소프트웨어가 설치된 위치(아마도 홈 폴더 어딘가)를 지정하려면 몇 가지 추가 옵션을 사용하여 make를 실행해야 한다고 생각합니다. 또한 시스템 시작 시 데몬이 실행되도록 표시하는 등의 작업을 수행하는 설치 부분을 제외해야 할 수도 있습니다. 사용자는 이 작업을 수행할 수 없기 때문입니다.

make prefix=/home/username/my_postgres install

보다만들기 위한 문서보다 일반적인 값 중 일부를 설정할 수 있습니다.

답변3

configure압축을 푼 디렉터리에 명령이 있나요?

일부 소프트웨어를 사용하면 실행할 수 있습니다 ./configure --prefix=/home/yourname/some_directory

make과 가 이어집니다 make install.

그렇다면 make실행 파일이 /home/username/bin완료되면 디렉터리나 경로의 어느 곳에나 수동으로 복사할 수 있습니다. 라이브러리 파일은 /home/username/lib홈 디렉토리나 소유권이 있는 디렉토리에 복사할 수 있습니다. 무엇이든 가능합니다. 올바른 위치에 넣기만 하면 됩니다.

관련 정보