[РЕШЕНО]Ни один браузер не собирается на arm с neon и thumb-2 (удалось таки собрать firefox)
Firefox выдаёт undefined reference to FastConvertYUVtoBGRRow_NEON. Webkit-gtk каким-то образом имеет thumb2-инструкции, не окружённые IT-блоком. Гугление с телефона не помогло. В links не работает буфер обмена и вставить лог не получается. Куда копать?
Система на linux-sun4i - планшет Wexlet TAB 7000 c самосборным ядром. Управление с сенсора (только правая кнопка мыши). Возможно подключение usb-hid при их наличии, но не всех (не всегда питания хватает). Rootfs - ext3 на карте памяти, планирую сменить т.к кончились иноды. Процессор основан на cortex-a8, частота 1008 MHz.
Portage конца октября, stage середины (думаю, можно обойтись без точных дат).
P.S
Ошибка возникает при линковке libxul:
planar_functions.cc:(.text.I420ToARGB+0xd0): undefined reference to `FastConvertYUVToARGBRow_NEON(unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, int)' ../../media/webrtc/trunk/third_party/libyuv/libyuv_libyuv/source/planar_functions.o: In function `I420ToBGRA': planar_functions.cc:(.text.I420ToBGRA+0xd0): undefined reference to `FastConvertYUVToBGRARow_NEON(unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, int)' ../../media/webrtc/trunk/third_party/libyuv/libyuv_libyuv/source/planar_functions.o: In function `I420ToABGR': planar_functions.cc:(.text.I420ToABGR+0xd0): undefined reference to `FastConvertYUVToABGRRow_NEON(unsigned char const*, unsigned char const*, unsigned char const*, unsigned char*, int)'
Вот фрагмент .symtab одного из объектников libyuv
23: 00000000 180 FUNC GLOBAL HIDDEN 4 FastConvertYUVToARGBRow_NEON 24: 00000000 184 FUNC GLOBAL HIDDEN 6 FastConvertYUVToBGRARow_NEON 25: 00000000 184 FUNC GLOBAL HIDDEN 8 FastConvertYUVToABGRRow_NEON
Как видно, они противоречат друг другу т.к данные символы на месте. Куда копать дальше?
Порывшись в коде, скопировал вышеупомянутые функции в файл, вызывавший ошибку:
row_neon.cc:(.text.FastConvertYUVToARGBRow_NEON+0x0): multiple definition of `FastConvertYUVToARGBRow_NEON' ../../media/webrtc/trunk/third_party/libyuv/libyuv_libyuv/source/planar_functions.o:planar_functions.cc:(.text.FastConvertYUVToARGBRow_NEON+0x0): first defined here ../../media/webrtc/trunk/third_party/libyuv/libyuv_libyuv/source/row_neon.o: In function `FastConvertYUVToBGRARow_NEON': row_neon.cc:(.text.FastConvertYUVToBGRARow_NEON+0x0): multiple definition of `FastConvertYUVToBGRARow_NEON' ../../media/webrtc/trunk/third_party/libyuv/libyuv_libyuv/source/planar_functions.o:planar_functions.cc:(.text.FastConvertYUVToBGRARow_NEON+0x0): first defined here ../../media/webrtc/trunk/third_party/libyuv/libyuv_libyuv/source/row_neon.o: In function `FastConvertYUVToABGRRow_NEON': row_neon.cc:(.text.FastConvertYUVToABGRRow_NEON+0x0): multiple definition of `FastConvertYUVToABGRRow_NEON' ../../media/webrtc/trunk/third_party/libyuv/libyuv_libyuv/source/planar_functions.o:planar_functions.cc:(.text.FastConvertYUVToABGRRow_NEON+0x0): first defined here
То есть, ошибка не должна была возникать!
Чёрт ногу сломит с этой линковкой.
Собираю теперь с выпиленным описанием из исходного файла. Вроде бы дальше прошёл.
Способ решения: находим в исходниках media/webrtc/trunk/third_party/libyuv/libyuv_libyuv/source/row_neon.cc и перемещаем оттуда дефайны и функции в media/webrtc/trunk/third_party/libyuv/libyuv_libyuv/source/planar_functions.cc, после чего через ebuild $(file.ebuild) merge продолжаем сборку. Получился вполне рабочий firefox, правда, называется почему-то aurora.
Возможно, ненахождение функций связано с GLOBAL HIDDEN, но не уверен.
- Для комментирования войдите или зарегистрируйтесь
Копайте бинарной лопатой и
Копайте бинарной лопатой и бинарным ломом. А вот когда все уляжется будете копать как нада...
知る者は言わず言う者は知らず
"Бабло, побеждает даже зло"
firefox-bin есть для
firefox-bin есть для cortex-a8?
Локальный оверлей растёт
Если вы не поняли, webkit
Если вы не поняли, webkit потребовался midori. C bin еще большие странности: source directory does not exist на prepare (на всех доступных версиях). Неужто ебилд кривой?
Локальный оверлей растёт
Настройка рабочих
Neon, arm ...
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
А какие ещё есть категории
А какие ещё есть категории для проблем с десктопными приложениями?
Локальный оверлей растёт
/
Нога это нога, но и ты хорош…
Привёл бы в вопросе претендующий на полноту набор исходных данных — не было бы нужды в бессмысленной пикировке.
:wq
--
Live free or die
/
Других текстовых не пробовал?
www-client/lynx
,www-client/w3m
…:wq
--
Live free or die
Что в терминал можно
Что в терминал можно вставить, не додумался. Однако в gentoo нет экранной клавиатуры с русской раскладкой (в xvkbd она почему-то не работает), а аппаратная была 2 дня недоступна, соответственно всё равно пришлось дождаться доступа к компу, чтобы слить лог. В ff бы просто испоьзовал translit.ru какой-нибудь.
Локальный оверлей растёт
/
В таком случае проблем не вижу от слова «вообще»:
app-text/wgetpaste
работает от браузера.:wq
--
Live free or die
Спасибо, уже ставлю. Думаю,
Спасибо, уже ставлю.
Думаю, нет смысла продолжать обсуждать выкладывание логов т.к нужная часть логов уже выложена. К тому же браузер благополучно установлен, обновляю тему.
Локальный оверлей растёт