Вопрос: нужно поднять тачскрин. Драйвер поднялся, QT тоже. Теперь пытаюсь калибрануть. Нашел рабочий бинарник размером 119 кБ (в Linux BSP идет). Калибровку он мне выдал, правда кривую - но это к сути вопроса не относится.
А вопрос вот в чем: скачал tslib - собрал по простому:
Все замечательно, но размеры ts_calibrate и иже с ними в пределах 20 кБ - что явно говорит об их динамической сборке. Ну и readelf -d подтверждает.
Пробовал убрать ключ --enable-shared - вкомпилируется libts.so и все. Однако файл такой на плате не запускается - пишет:
Что конкретно not found - не говорит, типа сами знаете...
И кроме того - если не поставить --enable-shared не получится использовать tslib с QT - оно тупо не может открыть работу с тачем, что логично.
Я так предпологаю что not found - это uClibc и еже с ними - readelf сообщает о трех библиотеках...
Пытаюсь данные либы вкомпилить в бинарники, перед configure делаю:
Опять configure и тут каюк - при проверке генерирования файла (есть такой пункт при конфигурировании) - отваливается. Лезу в config.log и вижу такую вешчь - attempted static link of dynamic object
Тут я перепробовал столько всяких ключиков (-ldl -Wl и во сяких конфигурациях) что уже не вспомню...
Голова больше не генерирует идей - подскажите куда копнуть?
э-э.. давно это было, практически ничего не помню..
повторюсь - система под Дебьян для АРМ (никаких бизибоксов)
собирал libts, потом стал прикручивать тачскрин к Иксам, столкнулся с тем, что работала 1/4 площади (калибровка и тест работали нормально). Вот тогда я и вычитал о баге - что-то правил, пересобирал и заработало.
Не знаю что вы делаете, но что-то не то. tslib нормально собирается в буилдруте, калибруется, работает и выдает правильные координаты. qt тоже прекрасно с ней работает - зачем вообще вам понадобилась статическая сборка ?
даже не знаю, чем и помочь..
у меня вообще все мур-мурит нормально со штатным драйвером (от Павла)
ts_test - рисует
ts_calibrate - калибрует и создает файлик \etc\pointercal внутри
Статическая сборка понадобилась по одной простой причине - попробовал собрать... собралось. Всегда стараюсь научиться чему-то новому. Раньше все собирал только buildroot'ом.
buildroot'ом вчера собрал - собралось и запустилось... но при этом вываливается после запуска с segmentation fault после тапа по тачу:
В env прописано следующее:
Содержимое /etc/ts.conf:
В buildroot при сборке поставил галку на tslib и набрал make ARCH=arm...
Перетянул библиотеки из рутфс и ts_calibrate...
Единственное что pointercal у меня на nand'e лежит... добавил я симлинк:
и перестал падать с segfault ts_calibrate. ts_test тоже работает... но координаты... как будто оси перевернуты. Такое ощущение что... выводы на таче не совпадают с моими на плате...
Такс.... если pointercall пустой то калибровка падает с сегфолтом из-зи linear... если отключить linear, откалибровать, а потом вернуть linear то все ок... Другими словами если в pointercal пусто - проги будут валиться...
Косяк с крайними положениями из-за linear был - если его включаешь, то все ок.