Como devo compilar um pacote dev da fonte? [duplicado]

3

Eu preciso usar um pacote X. X depende de Y, então eu preciso do pacote dev de Y (Y-dev). Eu também tenho a fonte do Y. Como posso compilar o Y-dev da fonte do Y?

Se esta questão for incoerente, por favor, me aponte na direção certa sobre como aproveitar um pacote em que X depende.

Específicos :

X é R-2.15.3

Y é readline-6,2

Eu baixei o readline-6.2 e o instalei em $HOME/software . Eu também defino

$C_INCLUDE_PATH=$HOME/software/include:$HOME/software/include/readline

e

$LD_LIBRARY_PATH=$HOME/software/lib:$HOME/software/lib64

Eu tenho os seguintes arquivos readline em $LD_LIBRARY_PATH :

/home/paulk/software/lib/libreadline.a
/home/paulk/software/lib/libreadline.old
/home/paulk/software/lib/libreadline.so
/home/paulk/software/lib/libreadline.so.6
/home/paulk/software/lib/libreadline.so.6.2
/home/paulk/software/lib/libreadline.so.6.2.old

Quando executo ./configure --prefix=$HOME/software para R-2.15.3, obtenho

configure: error: --with-readline=yes (default) and headers/libs are not available .

Minha distro é o Scientific Linux, que é baseado em RPM.

    
por polarise 30.06.2013 / 19:36

1 resposta

2

OK. Então parece que não preciso compilar um pacote dev. Para usar readline, é necessário definir CFLAGS e LDFLAGS para o script ./configure da seguinte maneira

export CFLAGS=-I$HOME/software

export LDFLAGS=-L$HOME/software

Aqui está o meu raciocínio: você precisa de um pacote dev quando usa um gerenciador de pacotes, porque na maioria das vezes você só precisará de aplicativos pré-compilados. O pacote dev é uma pré-compilação projetada para fornecer o que você teria se compilado da fonte.

Portanto, quando você tem um código, é incoerente tentar compilar um pacote dev por dois motivos:

  1. Você tem toda a fonte
  2. Você não precisa trabalhar com o gerenciador de pacotes

Tenho certeza que alguns profissionais podem ajustar meu argumento, mas (ei!) isso resolveu o problema e faz sentido.

Obrigado.

    
por 01.07.2013 / 05:58