Compiling QtGstreamer on Mac OS X 10.6.8

Karl Phillip maxphil at gmail.com
Thu Dec 8 07:25:48 PST 2011


By the way, the only thing that is printed to the console even with
fatal-warnings enabled is:

$ ./player --gst-fatal-warnings
ASSERT: "ptr.m_class" in file
/Users/karlphillip/installers/qt-gstreamer/src/QGst/Ui/../../QGlib/refpointer.h,
line 333
Abort trap

Also, the libraries linked to the application seems to be good:

$ otool -L player
player:

/Users/karlphillip/installers/qt-gstreamer/build/src/QGst/libQtGStreamerUi-0.10.0.dylib
(compatibility version 0.0.0, current version 0.10.1)
    /usr/local/Cellar/qt/4.7.4/lib/QtGui.framework/Versions/4/QtGui
(compatibility version 4.7.0, current version 4.7.4)

/Users/karlphillip/installers/qt-gstreamer/build/src/QGst/libQtGStreamer-0.10.0.dylib
(compatibility version 0.0.0, current version 0.10.1)

/Users/karlphillip/installers/qt-gstreamer/build/src/QGlib/libQtGLib-2.0.0.dylib
(compatibility version 0.0.0, current version 0.10.1)
    /usr/local/Cellar/qt/4.7.4/lib/QtCore.framework/Versions/4/QtCore
(compatibility version 4.7.0, current version 4.7.4)
    /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current
version 7.9.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 125.2.11)


Thanks for the help!
--
Karl Phillip

On Thu, Dec 8, 2011 at 1:19 PM, Karl Phillip <maxphil at gmail.com> wrote:

> I tried and it successfully compiles QtGstreamer and it's examples.
>
> However, when I executed examples/player/player, after selecting the video
> file the application crashes. I've tried with several AVI and MP4 files.
>
> This is the log:
>
> Exception Type:  EXC_CRASH (SIGABRT)
> Exception Codes: 0x0000000000000000, 0x0000000000000000
> Crashed Thread:  0  Dispatch queue: com.apple.main-thread
>
> Application Specific Information:
> abort() called
>
> Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
> 0   libSystem.B.dylib                 0x00007fff82f760b6 __kill + 10
> 1   libSystem.B.dylib                 0x00007fff830169f6 abort + 83
> 2   QtCore                            0x0000000100d6a9c5
> qt_message_output(QtMsgType, char const*) + 117
> 3   QtCore                            0x0000000100d6aba7
> qt_message(QtMsgType, char const*, __va_list_tag*) + 183
> 4   QtCore                            0x0000000100d6ad6a qFatal(char
> const*, ...) + 170
> 5   libQtGStreamerUi-0.10.0.dylib     0x0000000100036b23
> QGlib::RefPointer<QGst::Message>::wrap(_GstMessage*, bool) + 189
> 6   libQtGStreamerUi-0.10.0.dylib     0x0000000100036b90
> QGlib::ValueImpl<QGlib::RefPointer<QGst::Message> >::get(QGlib::Value
> const&) + 59
> 7   libQtGStreamerUi-0.10.0.dylib     0x000000010003753b
> QGlib::Private::CppClosure1<boost::function<void
> ()(QGlib::RefPointer<QGst::Message> const&)>, void,
> QGlib::RefPointer<QGst::Message>
> const&>::ClosureData::marshaller(QGlib::Value&, QList<QGlib::Value> const&)
> + 405
> 8   libQtGLib-2.0.0.dylib             0x0000000100d0f9d9
> QGlib::Private::c_marshaller(_GClosure*, _GValue*, unsigned int, _GValue
> const*, void*, void*) + 294
> 9   libgobject-2.0.0.dylib            0x00000001010a7e32 g_closure_invoke
> + 370
> 10  libgobject-2.0.0.dylib            0x00000001010bac18
> signal_emit_unlocked_R + 2120
> 11  libgobject-2.0.0.dylib            0x00000001010bc96f
> g_signal_emit_valist + 2031
> 12  libgobject-2.0.0.dylib            0x00000001010bcd14 g_signal_emit +
> 148
> 13  libgstreamer-0.10.0.dylib         0x00000001012242c7
> gst_bus_sync_signal_handler + 87
> 14  libgstreamer-0.10.0.dylib         0x00000001012258ca gst_bus_post + 362
> 15  libgstreamer-0.10.0.dylib         0x0000000101234bd8
> gst_element_post_message + 136
> 16  libgstreamer-0.10.0.dylib         0x000000010121f29c
> gst_bin_handle_message_func + 156
> 17  libgstreamer-0.10.0.dylib         0x000000010125a34e
> gst_pipeline_handle_message + 62
> 18  libgstplaybin.so                  0x0000000114e51518
> gst_play_bin_handle_message + 120
> 19  libgstreamer-0.10.0.dylib         0x000000010121b858 bin_bus_handler +
> 24
> 20  libgstreamer-0.10.0.dylib         0x000000010122589c gst_bus_post + 316
> 21  libgstreamer-0.10.0.dylib         0x0000000101234bd8
> gst_element_post_message + 136
> 22  libgstreamer-0.10.0.dylib         0x000000010121f29c
> gst_bin_handle_message_func + 156
> 23  libgstplaybin.so                  0x0000000114e56f76
> gst_play_sink_handle_message + 54
> 24  libgstreamer-0.10.0.dylib         0x000000010121b858 bin_bus_handler +
> 24
> 25  libgstreamer-0.10.0.dylib         0x000000010122589c gst_bus_post + 316
> 26  libgstreamer-0.10.0.dylib         0x0000000101234bd8
> gst_element_post_message + 136
> 27  libgstreamer-0.10.0.dylib         0x0000000101235033
> gst_element_continue_state + 403
> 28  libgstreamer-0.10.0.dylib         0x000000010123536d
> gst_element_change_state + 317
> 29  libgstreamer-0.10.0.dylib         0x0000000101235792
> gst_element_set_state_func + 578
> 30  libgstreamer-0.10.0.dylib         0x0000000101220f76
> gst_bin_change_state_func + 1414
> 31  libgstplaybin.so                  0x0000000114e5bc3b
> gst_play_sink_change_state + 75
> 32  libgstreamer-0.10.0.dylib         0x0000000101235263
> gst_element_change_state + 51
> 33  libgstreamer-0.10.0.dylib         0x0000000101235792
> gst_element_set_state_func + 578
> 34  libgstreamer-0.10.0.dylib         0x0000000101220f76
> gst_bin_change_state_func + 1414
> 35  libgstplaybin.so                  0x0000000114e53180
> gst_play_bin_change_state + 80
> 36  libgstreamer-0.10.0.dylib         0x0000000101235263
> gst_element_change_state + 51
> 37  libgstreamer-0.10.0.dylib         0x0000000101235792
> gst_element_set_state_func + 578
> 38  libQtGStreamer-0.10.0.dylib       0x0000000100c8f0d5
> QGst::Element::setState(QGst::State) + 53
> 39  player                            0x0000000100002f8b Player::play() +
> 61
> 40  player                            0x0000000100009cf4
> MediaApp::openFile(QString const&) + 146
> 41  player                            0x0000000100009df6 MediaApp::open()
> + 218
> 42  player                            0x0000000100009ec9
> MediaApp::qt_metacall(QMetaObject::Call, int, void**) + 163
> 43  QtCore                            0x0000000100dc09d6
> QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 710
> 44  QtGui                             0x00000001006fcbe1
> QAbstractButton::clicked(bool) + 49
> 45  QtGui                             0x00000001004308a0
> QAbstractButtonPrivate::emitClicked() + 64
> 46  QtGui                             0x000000010043193a
> QAbstractButtonPrivate::click() + 154
> 47  QtGui                             0x0000000100431b91
> QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 113
> 48  QtGui                             0x00000001004f8af2
> QToolButton::mouseReleaseEvent(QMouseEvent*) + 18
> 49  QtGui                             0x0000000100124bf0
> QWidget::event(QEvent*) + 2384
> 50  QtGui                             0x0000000100430aa8
> QAbstractButton::event(QEvent*) + 40
> 51  QtGui                             0x00000001004fa27f
> QToolButton::event(QEvent*) + 63
> 52  QtGui                             0x00000001000cdafd
> QApplicationPrivate::notify_helper(QObject*, QEvent*) + 189
> 53  QtGui                             0x00000001000d42c0
> QApplication::notify(QObject*, QEvent*) + 2416
> 54  QtCore                            0x0000000100dba23c
> QCoreApplication::notifyInternal(QObject*, QEvent*) + 124
> 55  QtGui                             0x00000001000ccffc
> qt_sendSpontaneousEvent(QObject*, QEvent*) + 44
> 56  QtGui                             0x000000010008471d
> qt_mac_handleMouseEvent(void*, void*, QEvent::Type, Qt::MouseButton) + 2269
> 57  QtGui                             0x0000000100074e66 -[QCocoaView
> mouseUp:] + 22
> 58  com.apple.AppKit                  0x00007fff88fbf431 -[NSWindow
> sendEvent:] + 5547
> 59  QtGui                             0x000000010007c231 -[QCocoaWindow
> sendEvent:] + 241
> 60  com.apple.AppKit                  0x00007fff88ef4afa -[NSApplication
> sendEvent:] + 4719
> 61  QtGui                             0x000000010007f8aa -[QNSApplication
> sendEvent:] + 74
> 62  com.apple.AppKit                  0x00007fff88e8b6de -[NSApplication
> run] + 474
> 63  QtGui                             0x00000001000895a4
> QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) +
> 1588
> 64  QtCore                            0x0000000100ea4ed4
> QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 68
> 65  QtCore                            0x0000000100ea51f4
> QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 180
> 66  QtCore                            0x0000000100ea65aa
> QCoreApplication::exec() + 186
> 67  player                            0x000000010000294e main + 227
> 68  player                            0x000000010000274c start + 52
>
>
>
> On Mon, Dec 5, 2011 at 11:08 AM, George Kiagiadakis <
> kiagiadakis.george at gmail.com> wrote:
>
>> On Sat, Dec 3, 2011 at 5:53 AM, Karl Phillip <maxphil at gmail.com> wrote:
>> > Linking CXX shared library libQtGLib-2.0.dylib
>> > cd /Users/karlphillip/installers/qt-gstreamer/build/src/QGlib &&
>> > /usr/local/Cellar/cmake/2.8.6/bin/cmake -E cmake_link_script
>> > CMakeFiles/QtGLib.dir/link.txt --verbose=1
>> > /usr/bin/c++   -Wall -Wextra -Wformat-security -Wundef -Wpointer-arith
>> > -Wcast-align -fno-common -fvisibility=hidden -fvisibility-inlines-hidden
>> > -dynamiclib -Wl,-headerpad_max_install_names   -current_version 0.10.1
>> -o
>> > libQtGLib-2.0.0.10.1.1.dylib -install_name
>> >
>> /Users/karlphillip/installers/qt-gstreamer/build/src/QGlib/libQtGLib-2.0.0.dylib
>> > CMakeFiles/QtGLib.dir/QtGLib_automoc.cpp.o
>> CMakeFiles/QtGLib.dir/quark.cpp.o
>> > CMakeFiles/QtGLib.dir/type.cpp.o CMakeFiles/QtGLib.dir/paramspec.cpp.o
>> > CMakeFiles/QtGLib.dir/object.cpp.o CMakeFiles/QtGLib.dir/value.cpp.o
>> > CMakeFiles/QtGLib.dir/signal.cpp.o CMakeFiles/QtGLib.dir/error.cpp.o
>> > CMakeFiles/QtGLib.dir/connect.cpp.o CMakeFiles/QtGLib.dir/wrap.cpp.o
>> > CMakeFiles/QtGLib.dir/init.cpp.o CMakeFiles/QtGLib.dir/gen.cpp.o
>> > -F/usr/local/Cellar/qt/4.7.4/lib -framework QtCore -lgobject-2.0
>> > -lgthread-2.0 -lglib-2.0 -lintl
>> > ld: library not found for -lintl
>> > collect2: ld returned 1 exit status
>> > make[2]: *** [src/QGlib/libQtGLib-2.0.0.10.1.1.dylib] Error 1
>> > make[1]: *** [src/QGlib/CMakeFiles/QtGLib.dir/all] Error 2
>> > make: *** [all] Error 2
>> >
>> > It seems that CMake failed to add the right library path for intl,
>> which in
>> > my case is "/usr/local/Cellar/gettext/0.18.1.1/lib".
>> >
>> > The library itself is compiled for x86_64 and so are the other libraries
>> > that QtGstreamer depends.
>> >
>> > Where is the proper place to make this fix?
>> >
>> > Thanks.
>>
>> Hi,
>>
>> Can you try this patch?
>>
>>
>> http://cgit.collabora.com/git/user/gkiagia/libqtgstreamer.git/commit/?h=cmake-fixes&id=8f73894014f1c6524e488aa64b78c1dbdf0c8766
>>
>> Regards,
>> George
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20111208/130b4776/attachment.htm>


More information about the gstreamer-devel mailing list