Tenho duas máquinas Ubuntu 12.04, uma 32 e outra 64 bits. Criei um programinha bem besta em C++ que multiplica duas matrizes de números inteiros usando pthread. Estou usando Eclipse CDT.
Quando compilei o programa na máquina 32 bits como Release consegui executar o programa pela linha de comando ./ProgParalSequencial e rodou muito bem. Passei o mesmo programa para a máquina de 64 bits e, pela linha de comando, o Ubuntu disse Arquivo ou diretório não encontrado. Tenho absoluta certeza de que o arquivo existe, uma vez que eu usei a tecla Tab do teclado e o próprio Ubuntu escreveu o nome do arquivo na linha de comando.
Como curiosidade, peguei o código e o compilei como Release na máquina de 64 bits (exatamente o mesmo código, NADA foi mudado) e consegui executar o programa na máquina de 64 bits.
Alguém aqui sabe de algum problema de incompatibilidade entre Ubuntu 32 e 64 bits? Será que alguém que já tenha passado pelo mesmo problema pode me ajudar? Estou um pouco receoso porque esse programa precisa rodar em uma terceira máquina Linux, do laboratório da universidade, e não sei se terei de compilá-lo lá também.
No meu caso, instalei o ubuntu 12.10 64 bits e ao instalar o JDK (versão 32 bits) não funcionava de jeito nenhum, ai testei baixando a versão 64 bits, só assim funcionou. O postgresql foi a mesma coisa, não instalou a versão 32, só a 64!
O arquivo ProgParalSequencial_64, versão 64 bits do programa, executa sem problemas (esse espação em branco significa que ele executou corretamente hehe). Já o ProgParalSequencial_32 acontece a mensagem de erro que disse acima.
No seu caso (em que você só quer rodar os programas de 32 bits, acho que seja suficiente apenas instalar o pacote libc6-i386 . Se quiser rodar os programas que foram compilados em modo debug, então precisará de instalar também lib6-dev-i386
No seu caso (em que você só quer rodar os programas de 32 bits, acho que seja suficiente apenas instalar o pacote libc6-i386 . Se quiser rodar os programas que foram compilados em modo debug, então precisará de instalar também lib6-dev-i386 [/quote]
Sim. Será preciso instalar as bibliotecas de 32 bits.
(ia32-libs)intel archtecture para 32 bits:
sim, o 64x executa aplicativos 32bits, porém tem que instalar umas bibliotecas que o google pode te informar com precisão.
depois de instalar as libs, de um chmod +x e rode o garoto.
me serviu bem, fica ai pra quem tiver o mesmo problema no futuro.
abs[/quote]
Essas libs de 32 bits são essenciais para os drivers de vídeo das placas aceleradoras(nvídia, amd …) porque sem elas OpenGl não terá suporte a programas de 32 bits. A primeira coisa a se fazer quando for compilar um novo módulo de vídeo para o kernel é instalá-las.