Como compilar o GTK2 na máquina Linux sem privilégios de administrador?

3

Estou trabalhando em uma máquina "SUSE Linux Enterprise Server 10 (x86_64)", que possui a versão 6.4.6 do GVim, que é bem antiga e não é suportada por alguns plug-ins.

Esta é uma máquina corporativa, e ninguém fará qualquer alteração administrativa só porque eu quero ter um plugin de alinhamento ...

Eu baixei e compilei com sucesso a versão 7.3, com o comando "configure --prefix = / my / local / dir".

No entanto, ele não reconhece o GTK2 e continua usando a feia GUI do Motif. Parece que eu tenho muito antigo GTK instalado: "verificação de GTK - versão > = 2.2.0 ... não"

Eu tentei instalar manualmente o pacote dev do GTK2 no caminho local, mas ele falhou. Alguma idéia de como posso continuar? ..

Obrigado ...

EDITAR

"Falhou" - significa que instalei o glib2, mas o pango não o viu. Então eu tentei o jhbuilder, mas ele só deu erros estranhos que o Google não deu solução ...

    
por Zvika 14.01.2013 / 15:33

2 respostas

1

"mas falhou" não fornece informações suficientes sobre o que deu errado, mas tenho alguns palpites. Quais opções específicas de linha de comando você está tentando usar? Que mensagem de erro você recebe?

Algumas dicas para criar material localmente:

  • Você pode precisar de outras dependências atualizadas, como o GLib.
  • Para programas baseados no Autoconf (isto é, normalmente, dados pelo fato de existir um script ./configure ), é necessário especificar --prefix=/some/writable/dir e definir a variável de ambiente PKG_CONFIG_PATH para apontar pkg-config no lugar certo.
  • Você basicamente precisa criar um diretório, por exemplo /home/you/usr , que é seu equivalente local a /usr , e convença os scripts de compilação de bibliotecas, como GLib e GTK , a usar /home/you/usr para tudo - em caso de dúvida, execute o script de configuração com strace -Ff -eopen , se puder, e veja quais arquivos ele acessa em /usr e, em seguida, procure uma maneira do Google de procurar em /home/you/usr .
  • Talvez seja necessário substituir o caminho de instalação padrão das bibliotecas, passando --libdir=/home/you/usr/lib para o script de configuração.
  • A vinculação - ou seja, quais diretórios são considerados vinculados para cada etapa de link - é manipulada instalando corretamente os arquivos .pc das bibliotecas de dependência em /home/you/usr/lib/pkg-config . Portanto, em outras palavras, os arquivos .pc gerados automaticamente que são instalados em /home/you/usr/lib/pkg-config quando você executa make install em um programa com autoincrustação, assumindo que você configurou PKG_CONFIG_PATH corretamente, informa ao compilador para vincular com /home/you/usr/lib/libglib-2.0.so e não /usr/lib/libglib-2.0.so (por exemplo).
por 14.01.2013 / 16:06
1

Bem, graças a todos os allix, eu tenho agora um belo GVim7.3 local:)

Para o benefício dos futuros leitores, vou resumir tudo. (esperando que eu não esquecesse de nada ...):

Antes de executar:

setenv CPPFLAGS "-I/local/path/usr/include"
setenv LDFLAGS "-L/local/path/usr/lib"
setenv LD_LIBRARY_PATH "/local/path/usr/lib"
setenv PKG_CONFIG_PATH "/local/path/usr/lib/pkgconfig"

Em cada componente, compile com os seguintes comandos:

./configure --prefix=/local/path/usr
make
make install

Agora, estas são as versões que usei (note que a ordem é importante):

glib-2.10.3
atk-1.9.1
freetype-2.2.1
fontconfig-2.3.97
cairo1.0.4
pixman0.9
pango-1.12.4
gtk+-2.8.20

Depois disso, eu poderia compilar o Vim7.3 com a seguinte configuração:

   configure --prefix=/local/path/usr --with-features=big --enable-gui=gtk2 | tee config.log

E verifique se o gtk foi encontrado.

    
por 15.01.2013 / 11:33