ЗАО «ЗЭО»
Техническая поддержка пользователей => Тион270, Тион-Про270, Сириус270 => Тема начата: lomaker от 11 Апреля, 2011, 13:01:03
-
Доброго времени суток. При компиляции дополнительного пакета для Тиона Про 270 обнаружил следующее:
При запуске программы под strace выдаются команды вида open("<путь хостовой системы>/build-arm/staging_dir/usr/lib/<имя библиотеки>".... и естественно дальше = -1 ENOENT (No such file or directory).
Получается что программа пытается искать файлы которых на целевой системе в помине нет. Вот потому то видимо программа не хочет работать как полагается.
Как быть в данной ситуации?
P.S. В Buildroot и "тонких" особенностях работы make и т.д. я не силен.
-
> Получается что программа пытается искать файлы которых на целевой системе в помине нет.
Но позднее по другим путям файл всё же находиться?
-
Вероятно, так как программа всетаки работает при обычном запуске. К слову программа - icecast. Но когда запускаю ее с опцией -b(в фоне) она перестает принимать подключения источника потока.
-
> Вероятно
Посмотрите далее по выводу strace находит ли она требуемый файл.
Если всё-таки находит и учитывая ваш P.S. то в "данной ситуации" проще ничего не делать.
-
Пардоньте - слишком бегло просмотрел вывод strace. Действительно поиск библиотеки продолжается сперва в /lib затем в /usr/lib где он ее благополучно находит.
Странно, раз с библиотеками все в порядке стало быть надо копать саму программу... Ладно разберемся.
Дабы окончательно закрыть тему хотелось бы всетаки узнать на кой кросс-компиляция оставляет ненужные пути?
-
>Дабы окончательно закрыть тему хотелось бы всетаки узнать на кой кросс-компиляция оставляет ненужные пути?
Это зависит от опций сборки. http://en.wikipedia.org/wiki/Rpath_%28linking%29
-
Спасибо за подсказку - поразбираюсь как время будет :)