LINUX.ORG.RU

Нужна помощь с отладкой

 , , , ,


0

1

Привет, друзья! Существует такой линукс - SLED, это как SLES только для десктопов и рабочих станций. С тех пор, как Линус Торвальдс ушёл с этого дистрибутива, разработчики 11-й версии о ней малость подзабыли: да, ошибки фиксятся регулярно, но вот плагин Beagle не работает в Firefox ESR. С новым драйвером NVIDIA, апплет NetworkManager крешится примерно после пятой гибернации. А ещё раньше обновляли Месу, Гном, ядро... Хотя не только в Линусе дело: полтора года назад вышла SLE 12.

И вот установил я такой SLED 11 SP4. Ммм, Гном 2.28. Дальше продолжать? Релиз состоялся незадолго до RHEL6, поэтому туда не вошёл OpenSSL 1.0, что печально. Но и не вошло много г...

К делу. Я запилил репо с Qt 5.6. Ну как запилил: сделал копию официального репо KDE:Qt56 для Opensuse 13.1, посмотрел что отвалилось, добавил патчи. Возникла проблема с QtMultimedia, посмотрите скриншот. Блин, как? Пакетная база одна!

Зарепортил баг, приложил логи, всё как надо. Разработчики пишут мне:

gst_structure_set() is documented here: https://developer.gnome.org/gstreamer/stable/gstreamer-GstStructure.html#gst-...

This says:

  • Variable arguments should be in the form field name, field type (as a GType), value(s). The last variable argument should be NULL.

This is somewhat unclear as to exactly what the last should look like; but we seem to be passing NULL as the name. It's possible we need to pass G_TYPE_NONE and another NULL to specify a full triple representing an argument that's NULL.

ZenitharChampion: please find the actual declaration of gst_structure_set() that your compiler is using: show us what the exact declaration is, including any _attribute_() or other decorations it may be wearing; apparently, something in its declaration is telling the compiler how to expect it to be called; apparently that doesn't match with how we're calling it.

Эм. И что делать? Компильнуть простой хелло ворлд с #include gstreamer.h? Помогите...

P.S. Время сборки:

★★★★★

Последнее исправление: maxcom (всего исправлений: 10)

Не тупи, тебя попросили скопипастить твою gst_structure_set() из хедера, который реально используется для компиляции.

fluorite ★★★★★
()
Ответ на: комментарий от fluorite

Спасибо. Я приложил хедеры, что помогло разработчику решить мою проблему. Он верно предположил, что когда я обновил GCC с 4.3 до 4.8, по какой-то причине stddef.h остался старый. А я обновлял GCC через попу. Также он предложил обход проблемы - заменить NULL на Q_NULLPTR. Я написал патч, а в spec-файле выставил условия «если такой-то дистр» и «если x86_64». Всё собралось.

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.