Перемещение приложения на сервер Linux с локальной машины Linux

Мне нужно запустить приложение C ++, которое я создаю на своем локальном Linux-компьютере разработчика (Ubuntu 14.04), под VirtualBox на сервере Linux (Ubuntu 12), проблема в том, что у приложения много зависимостей, а у меня нет sudo на этом сервере, поэтому я не могу сделать что-то вроде sudo apt-get install <libname-dev>,

я использую ldd выяснить, какие библиотеки отсутствуют на сервере.

Например:

libopenblas.so.0 => not found
liblapack.so.3 => not found

Чем я копирую эту библиотеку со своего локального компьютера /usr/lib/ на сервер рядом с приложением, а затем создать символические ссылки вручную.

Файлы для копирования:

liblapack.so.3.0
libopenblas.so.0

Ссылки для создания:

liblapack.so.3
libopenblas.so
  1. Это плохая идея, чтобы сделать такой фокус, он всегда будет работать?
  2. Интересно, в соглашениях об именах Linux .so, что означает .so.3.0, .so.0, так далее. ?

0

Решение

перекомпилировать на другой Ubuntu 12 и статически связать недостающие библиотеки.
например:

gcc -lsome_dynamic_lib code.c some_static_lib.a
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]