Проблемы с запуском программы на C на Debian - PullRequest
3 голосов
/ 01 марта 2010

У меня следующая проблема: я скомпилировал свое приложение в Linux Ubuntu 9.10 с использованием CodeBlocks. Это программа на C (которая использует несколько библиотек, таких как libmysql, jasper ...) Я скопировал скомпилированную программу в удаленную систему, на которой работает Debian 2.6.18, chmodded + x приложение, но при вызове ./my_app bash по-прежнему говорит «Нет такого файла или каталога»

Нужно ли мне компилировать мою программу в целевой системе? Я уверен, что все библиотеки, необходимые программе, установлены в целевой системе.

Спасибо за любой совет.

Ответы [ 3 ]

2 голосов
/ 01 марта 2010

Ваша попытка диагностики (LDD) и ваши сообщения об ошибках (таких файлов нет, динамический исполняемый файл) не очень помогают. Вывод «файла my_app», вероятно, будет более показательным. Но вам не нужно идти на усилие. От человека, заявляющего, что он говорит за Ubuntu в в вики :

Много говорилось о том, что Debian не совместим с Ubuntu в двоичном формате.
...
Просто чтобы быть ясно, я скажу это снова, Для записи. Мы не стремимся к «бинарная совместимость» с любым другим распределение. Зачем? ...
Короче говоря, потому что мы верим в свободный Программное обеспечение как совместный процесс сосредоточиться на ИСТОЧНИК КОД, и рассмотреть это превосходит запатентованный процесс который ориентирован на конкретные приложения и двоичные биты.

Итак, да, вам нужно перекомпилировать.

2 голосов
/ 01 марта 2010

Возможно, вам не хватает общей библиотеки в вашей целевой системе. Запустите ldd <binary name> (в котором перечислены необходимые динамические библиотеки) в вашем двоичном файле и проверьте, существуют ли перечисленные библиотеки на вашей целевой машине.

1 голос
/ 01 марта 2010

Я почти уверен, что проблема не имеет ничего общего с библиотеками (вы получили бы другое сообщение об ошибке).

Убедитесь, что ваша программа не пытается открыть файлы, которые не существуют в целевой системе. Это может сделать это, а затем молча завершиться с единственным сообщением «Нет такого файла ...».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...