The build process seems to be pretty straightforward, however I'm getting a linkage error and I'm not sure why it's happening or how it can be fixed:
$ make Generating connect.moc [ 0%] Built target QtGLib_automoc [ 1%] Copying gen.cpp to the build directory [ 3%] Building CXX object src/QGlib/CMakeFiles/QtGLib.dir/QtGLib_automoc.cpp.o [ 4%] Building CXX object src/QGlib/CMakeFiles/QtGLib.dir/quark.cpp.o [ 6%] Building CXX object src/QGlib/CMakeFiles/QtGLib.dir/type.cpp.o [ 7%] Building CXX object src/QGlib/CMakeFiles/QtGLib.dir/paramspec.cpp.o [ 9%] Building CXX object src/QGlib/CMakeFiles/QtGLib.dir/object.cpp.o [ 10%] Building CXX object src/QGlib/CMakeFiles/QtGLib.dir/value.cpp.o [ 12%] Building CXX object src/QGlib/CMakeFiles/QtGLib.dir/signal.cpp.o [ 13%] Building CXX object src/QGlib/CMakeFiles/QtGLib.dir/error.cpp.o [ 15%] Building CXX object src/QGlib/CMakeFiles/QtGLib.dir/connect.cpp.o [ 16%] Building CXX object src/QGlib/CMakeFiles/QtGLib.dir/wrap.cpp.o [ 18%] Building CXX object src/QGlib/CMakeFiles/QtGLib.dir/init.cpp.o [ 20%] Building CXX object src/QGlib/CMakeFiles/QtGLib.dir/gen.cpp.o Linking CXX shared library libQtGLib-2.0.dylib 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 First thought that comes to mind is "I don't have this library and I need to install it". Good thought, but that's not the case, because when I turn up verbose I get: 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. _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Sat, Dec 3, 2011 at 5:53 AM, Karl Phillip <[hidden email]> 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 [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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 <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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 <[hidden email]> wrote: I tried and it successfully compiles QtGstreamer and it's examples. _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Thu, Dec 8, 2011 at 5:25 PM, Karl Phillip <[hidden email]> wrote:
> 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 Well... OSX is using g++ and libstdc++, right? I've seen this bug a lot of times and I've even documented it in the README: "... if gcc is used as the compiler, libstdc++ version 4.5 or later is required at runtime. This is due to a bug in earlier versions of libstdc++ that sometimes makes dynamic_cast fail under conditions where it should not." In other words, your version of the standard C++ library is buggy and there is nothing that can be done about it except for upgrade. Sorry. _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Humm, interesting. I have Xcode 3.2.2 installed and gcc/g++ 4.2.1.
I'll update my tools to the newest version and try again. Thank you! -- Karl Phillip On Thu, Dec 8, 2011 at 1:42 PM, George Kiagiadakis <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |