Configuração do unixODBC após compilar a partir da fonte

2

Estou usando um dispositivo que está executando o Yoco Linux em uma arquitetura de 32 bits. Ele não fornece um gerenciador de pacotes ou um compilador, portanto, não me permite compilá-lo. Em vez disso eu uso uma máquina virtual Ubuntu, onde eu compilo o que eu preciso, copio para o dispositivo e instalo lá.

Isso foi o que eu fiz, por exemplo, no Python3.4 - foi tão fácil quanto:

./configure
make

Na máquina virtual do Ubuntu e

make install

no dispositivo que está executando o Yocto.

Mas agora estou enfrentando um pequeno problema com unixODBC . ./configure e make são concluídos sem problemas. O que eu não sabia é que também preciso de um compilador gcc para make install e, portanto, não permitir usá-lo no dispositivo. Ingenuamente, pensei em copiar as bibliotecas compiladas no Ubuntu para o deivce, mas isso não funcionou. Toda a configuração não é feita.

A minha pergunta é: existe um argumento para make ou qualquer outra opção para construir tudo o que eu preciso no Ubuntu, copiá-lo para o dispositivo e iniciar a rotina de configuração que é construída na instalação do unixODBCs?

Eu dei uma olhada no Makefile na esperança de encontrar uma pista, mas sem sorte. Também é difícil entender que tipo de configuração é feita depois que a compilação foi bem-sucedida.

    
por ap0 08.12.2015 / 12:42

1 resposta

1

Ao instalar programas da origem, você pode usar com frequência o sinalizador DESTDIR para conseguir isso.

  1. Crie um novo diretório: mkdir /tmp/uodbcinst
  2. Instalação: make DESTDIR=/tmp/uodbcinst/ install
  3. Arquivar o resultado tar -cpzf ~/uodbcinst.tar.gz -C /tmp/uodbcinst .
  4. Extraia o resultado no outro sistema tar -C / -xf uodbcinst.tar.gz

Disclaimer: Eu não testei estes comandos, por favor verifique a sintaxe. Extrair um tarball no diretório raiz é muito perigoso.

Você também pode considerar o ajuste da opção --sysconfdir ao executar ./configure , para que o programa resultante procure na pasta /etc/ pelos arquivos de configuração, em vez de /usr/local/etc .

Esse método é semelhante a como os mantenedores de distribuição criam as cargas úteis para os gerenciadores de pacotes. Veja o exemplo do Arch Linux .

    
por 08.12.2015 / 15:34