Почему не запускаются скомпилированные на другой машине приложения?
На машине А нет компилятора С++
На машине Б, которая имеет одинаковое ядро с машиной А компилирую приложение
Переношу на машину А, делаю chmod +x test
Запускаю ./test и выдается ошибка что файл не найден
У вас не хватает какой-то либы. Скорее всего там, где вы компилируете приложение установлены либы например для поддержки 32битных приложений.
проверьте через ldd чего не хватает и доставьте
например на ubuntu это чаще всего
sudo apt-get update
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
Еще такой вопрос - если нет возможности поставить библиотеку через установщик пакетов, можно ли запустить программу и указать ей на файлы нужных ей библиотек вручную?
конечно. В линукс нет никаких "реестров", есть только переменные окружения.
Но вообще странно что нельзя через установщик.
Посмотрите чего не хватает и киньте или в папку с прогой или в /lib /usr/lib (или посмотрите какие пути у вас перечислены в либпатч)