November 22nd, 2013

(no subject)

При попытке запустить на freescale файлик, скомпилированный на cubieboard (у неё в штатном комплекте есть уже готовый gcc, что несколько смягчает обстановку), шелл говорит, что файл не найден О_о

Обратно тоже работает - если скомпилировать Helloworld.c на freescale, то он не запускается на cubieboard с точно такой же отмазкой.

При этом оба файла - ARM 32 bit LSB и прочее бла-бла-бла. Различается только редакция ядра (но это абсолютно несущественно) и сборка системных либ: для freescale они собраны с опцией softfp (что несколько обескураживает, ибо чип поддерживает FPA Neon -- просто всё собиралось готовым окружением от древнего marvell, в котором никаких-таких плавающих точек нету), для "китайца" - hardfp.

Неужели же в этом причина? но, блин, почему шелл говорит, что он не нашёл файл? Если попытаться запустить arm-бинариник на x86-машине, то она ругается на невозможность запуска программы, но сам файл-то не считается несуществующим. А ldd вообще что-то невразумительное молвит, типа, этот фейл файл не является исполняемым. Что тоже не правда. Странно тут вот что: если бы дело было в отсутствующих библиотеках (скажем, надо libc-hardfp, а есть только libc-softfp), то бинарник ругался бы конкретно на это, как в прочих аналогичных случаях. Однако же, он не запускается вообще никак. Но почему?!




Свежий (т.е. новее ничего нет) LTIB от Freescale отказывается собираться. Три ошибки я в нём нашёл и исправил, но четвёртая сидит где-то глубоко в скриптах и мне не хватает мозгов там её найти.

(no subject)

не, а в самом деле
вот есть Саудовская Аравия
почему бы не быть Путинской России - не как либероидному ярлыку, а как официальному названию государства? Путин же у нас навечно, в точности как там Сауды. И нефть никогда не кончится. И духовность прёт.

Китаец побеждён!

Успешно собрал и запустил тестовую программулину под Qt на Cubieboard2.

Дело оказалось в самом деле в либах (но не только в них*): скомпилированное под armhf не запускается на обычном armel и наоборот. И надо же такому случиться, что на китайце как раз armhf окружение, а на imx6, несмотря на всю его крутоту, только armel. Весь мой (точнее сказать, внутрифирменный) штатный тулчейн тоже под armel, поэтому и.

Проблема решилась созданием отдельного окружения для сборки программ (в т.ч. Qt) под armhf. Но китаец не был бы китайцем -- успешно запущенная Qt рисует ДВА РАЗНЫХ мышиных курсора. Как в стишке про гусей - один белый, другой чёрный. Белый активен (им можно щёлкать по кнопкам), чёрный ездит немым укором. Причём у них разные скорости перемещения, разные параметры ускорения и разные boundary - белый может ездить по всему экрану, а чёрный только по части О_о

И чтоб два раза не вставать: в процессе опытов у китайца забарахлил ethernet. Самопроизвольно вырубался по неустановленным причинам. Помогала только перезагрузка платы (т.е. даже ifconfig eth0 down / ~~~~ up не давал нужного результата).



* Различия между armel и armhf довольно глубокие и заключаются не только в наличии/отсутствии аппаратной поддержки floating point, всё гораздо гораздее.