Compilando e instalando programas como não-root no diretório home-dir?

5

Estou tentando compilar programas no Solaris no meu diretório pessoal.
Eu tive experiência com instalações simples que funcionam com apenas

   $> CD src
   $> ./configure --prefix=/home/peter
   $> make
   $> make install

Mas com programas mais envolvidos, com dependências de bibliotecas especiais, como faço para que o sistema procure em meu diretório home por eles? e como eu iria compilá-los em meu diretório home?

    
por PeterLustig 31.05.2011 / 02:29

2 respostas

3

Eu tenho que fazer coisas assim quando eu cruzar aplicativos de compilação. Se ./configure suportar, você pode verificar com --help, você pode fazer algo como o seguinte

./configure --extra-ldflags=-L/root/Installs/ffmpeg/forWin/usr/lib --extra-cflags=-I/root/Installs/ffmpeg/forWin/usr/include

Há uma entrada para bibliotecas e uma para includes, no entanto, há sempre a maneira antiga de apenas anexá-la antes de configurar ou fazer

LDFLAGS='-L/root/Installs/ffmpeg/forWin/usr/lib' CFLAGS='-I/root/Installs/ffmpeg/forWin/usr/include' ./configure
LDFLAGS='-L/root/Installs/ffmpeg/forWin/usr/lib' CFLAGS='-I/root/Installs/ffmpeg/forWin/usr/include' make

Para o make, acho que eles podem ser especificados antes ou depois, mas não me cite.

    
por 31.05.2011 / 09:44
0

Depende.

Se você criar um software que use configure , a maioria dos scripts configure permitirá que você especifique caminhos para bibliotecas de terceiros. Do configure --help e procure --with-feature = / path / to / software.

Como outras respostas mencionaram, configure e outros scripts tendem a ver as variáveis de ambiente CFLAGS LDFLAGS e LIBS . Você pode definir CFLAGS com -I / include / paths e -L / library / paths e isso pode ajudar.

No pior caso, você pode precisar editar Makefiles para redefinir esses caminhos.

Se você deseja que o software more em algum lugar, configure scripts tendem a ter --prefix = argumento para especificar o diretório de instalação. Ou você pode ter que editar um Makefile.

    
por 31.05.2011 / 21:08