Como posso construir e instalar o PL / R como um usuário não privilegiado?

6

Há uma instância postgres e eu tenho a capacidade de criar minha própria instância.

Usando estas instruções , corri:

USE_PGXS=1 make

que funcionou mas depois

USE_PGXS=1 make install

não com este erro:

/bin/sh /usr/lib64/pgsql/pgxs/src/makefiles/../../config/mkinstalldirs '/usr/lib64/pgsql'
mkdir -p -- /usr/share/pgsql/contrib
mkdir: cannot create directory '/usr/share/pgsql/contrib': Permission denied
make: * [installdirs] Error 1

Idealmente, eu gostaria de instalar isso localmente, mas não sei se isso é possível.

Estou no RedHat 5.

    
por A Question Asker 17.06.2011 / 17:32

3 respostas

1

A lista pl / R provavelmente seria um lugar melhor para perguntar se você está preso. Joe Conway também responde a perguntas lá. De uma rápida compilação do pacote Debian pl / R, parece que você quer passar um argumento DESTDIR para fazer. Algo como

make DESTDIR=/home/...

Aqui está a linha make do pacote Debian

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

e aqui está a linha de instalação

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/

Como você pode ver, há muitos outros parâmetros que você pode querer definir. Pessoalmente, eu tentaria convencer seu administrador de sistema a instalar um binário.

    
por 16.09.2011 / 10:58
0

Acho que você precisará executar o make com algumas opções extras para especificar o local onde o software será instalado, provavelmente em algum lugar da sua pasta pessoal. Você também pode ter que excluir partes da instalação que fazem coisas como marcar daemons para serem executados na inicialização do sistema, pois o usuário não poderá fazer isso.

make prefix=/home/username/my_postgres install

Consulte a documentação para fazer alguns valores mais comuns que você pode conjunto.

    
por 17.06.2011 / 17:43
0

Existe um comando configure no diretório untarred?

Com algum software você pode executar ./configure --prefix=/home/yourname/some_directory

seguido por make e make install .

Se você fizer alguma coisa, depois de executar o make , você poderá copiar manualmente os arquivos executáveis no diretório /home/username/bin ou em qualquer lugar do caminho. Os arquivos da biblioteca podem ser copiados para o seu /home/username/lib . Tudo é possível em seu diretório ou diretórios de que você é o proprietário, é apenas uma questão de colocá-los no lugar certo.

    
por 17.06.2011 / 17:50