Пытаюсь скомпилировать программу под свою целевую плату. iMX6so-dimm. Программа компилируется нормально.
И должна работать с библиотекой которую динамически грузит себе в память. Но во во время выполнения выходи по ошибке. Говорит что не может загрузить этот модуль /root/liblcomp.so: cannot open shared object file: No such file or directory. Сам модуль присутствует по указанному пути.
И самое интересно то что если эту же программу скомпилировать на целевой платформе то все работает нормально. Более того после того же кросс компилирования эта программа работает на rspi.
Насколько я понимаю то какая то хитрая засада с библиотеками или самим компилятором. Компилятор который используется gcc MentorGraphics 4.8.1.
На целевой плате gcc (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3.
Как среду использую Эклипс. Примонтриовал целевую платформу к хост компъютеру и пути указал в директорию /lib/, /lib/arm-linux-gnueabi целевой платы. Не помогло.
может прав не хватает для открытия файла? смотрите атрибуты
или поищите утилиту strace
можно посмотреть, что и где ищет и там же видны ошибки при попытке открытия либ и просто файлов..[/quote]
Сменил владельца у не работающей программы но это ничего не дало.
strace выдает разную информацию. После открытия в рабочей программе есть чтения и поиск по диску(lseek) по диску. В не рабочей сразу закрытие.
с этими компиляторами надо постоянно ухо востро держать..
на правах байки - собирал для imx53 аппаратную поддержку видео.. с муками и матами всё запустилось и прекрасно показывало, но в конце любого видео система висла наглухо.. с месяц искал причину, потом сложил исходники ядра от imx53 на кит с imx6q, пересобрал местным gcc и всё - задача решена, кино показывает и никто не виснет.. вот такой грабель с компиляторами..