GStreamer SDK - link error since upgrading to latest version (2012.11Brahmaputra)

Andoni Morales ylatuya at gmail.com
Tue Oct 1 07:01:21 PDT 2013


2013/9/20 philippe renon <philippe_renon at yahoo.fr>

> Hi,
>
> I am reviving this thread as things have moved a bit since the last post.
>
> To resume the issue at hand : I was happily developing with Qt and
> GStreamer SDK.
> Then I upgraded to a more recent version of the GStreamer SDK and started
> hitting a link issue (on Windows...).
> With the help of the community I came to understand that the issue was
> caused by a MinGW toolchain incompatibility concerning exceptions.
> - the upgraded GStreamer SDK was compiled with SJLJ exceptions (prior
> version was using DWARF)
> - Qt was compiled with DWARF exceptions
> - It is not possible to mix the two models in the same compilation unit.
>
> At the time my hopes to solve this issue were boosted when I was pointed
> to a new release of Qt (5.0.1) that was compiled with SJLJ exceptions.
>
> Since then, the open source project I contribute to has switched to Qt
> 5.1.0, so I revisited the link issue.
> But, unfortunately, that version of Qt switched back to DWARF...
> The trigger for the switch was performance issues with SJLJ.
>
> The switch was announced and motivated here :
> http://lists.qt-project.org/pipermail/development/2013-April/010667.html
> Additionaly, this page compares the exception models and arguments the
> choice made by Qt : http://qt-project.org/wiki/MinGW-64-bit
>
> Here is the failing link command:
>
> g++ -shared -mthreads
> -Wl,--out-implib,D:/Projects/OP5/build/openpilotgcs_debug/lib/openpilotgcs/libGST_libd.a
> -o ../../../lib/openpilotgcs/GST_libd.dll
> debug/gst_global.o debug/videowidget.o debug/moc_videowidget.o
> -lglu32 -lopengl32 -lgdi32 -luser32
> -LD:/Projects/OP5/build/openpilotgcs_debug/lib/openpilotgcs
> -Ld:/gstreamer/1.0/x86/lib -lgobject-2.0 -lglib-2.0 -lgstreamer-1.0
> -Ld:/Projects/OpenPilotTools/qt-5.1.0/5.1.0/mingw48_32/lib -lQt5Testd
> -lQt5Guid -lQt5Cored
>
> debug/gst_global.o:gst_global.cpp:(.eh_frame$_ZN6QDebug6StreamD1Ev+0x13):
> undefined reference to `__gxx_personality_v0'
> debug/gst_global.o:gst_global.cpp:(.eh_frame$_ZN6QDebugD1Ev+0x13):
> undefined reference to `__gxx_personality_v0'
> debug/gst_global.o:gst_global.cpp:(.eh_frame$_ZN6QDebuglsEPKc+0x13):
> undefined reference to `__gxx_personality_v0'
> debug/gst_global.o:gst_global.cpp:(.eh_frame+0x13): undefined reference to
> `__gxx_personality_v0'
> debug/gst_global.o:gst_global.cpp:(.eh_frame$_ZN5QListI7QStringE6appendERKS0_+0x13):
> undefined reference to `__gxx_personality_v0'
> debug/gst_global.o:gst_global.cpp:(.eh_frame$_ZN5QListI7QStringE9node_copyEPNS1_4NodeES3_S3_+0x13):
> more undefined references to `__gxx_personality_v0' follow
> debug/videowidget.o: In function `ZN11VideoWidgetC2EP7QWidget':
> d:\Projects\OP5\build\openpilotgcs_debug\src\libs\gst_lib/../../../../../ground/openpilotgcs/src/libs/gst_lib/videowidget.cpp:72:
> undefined reference to `_imp___ZN7QWidgetC2EPS_6QFlagsIN2Qt10WindowTypeEE'
> <snip>
>


Could you please paste the full  output of the link step with g++ -v to
check which libraries it's using in the link? It seems that at some point
it's pulling some wrong dependency (maybe because of -L ordering)

Cheers
Andoni
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20131001/253687e4/attachment.html>


More information about the gstreamer-devel mailing list