GStreamer SDK - link error since upgrading to latest version (2012.11Brahmaputra)
philippe renon
philippe_renon at yahoo.fr
Tue Feb 5 13:37:27 PST 2013
----- Mail original -----
> De : Andoni Morales <ylatuya at gmail.com>
> À : philippe renon <philippe_renon at yahoo.fr>; Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org>
> Cc :
> Envoyé le : Mardi 5 février 2013 18h40
> Objet : Re: GStreamer SDK - link error since upgrading to latest version (2012.11Brahmaputra)
>
> 2013/2/4 philippe renon <philippe_renon at yahoo.fr>:
>> Hi Kyrylo,
>>
>> Thanks for helping.
>>
>> I don't yet have the answer to which C++ runtimes are used.
>>
>> But I can provide the details about the project's g++ :
>>
>> $ which g++
>> /d/OPENPI~2/QtSDK/mingw/bin/g++
>>
>> $ g++ -v
>> Using built-in specs.
>> Target: mingw32
>> Configured with: ../gcc-4.4.0/configure
>> --enable-languages=c,ada,c++,fortran,java,objc,obj-c++
>> --disable-sjlj-exceptions
>> --enable-shared --enable-libgcj --enable-libgomp --with-dwarf2
>> --disable-win32-registry --enable-libstdcxx-debug --enab
>> le-version-specific-runtime-libs --prefix=/mingw
>> --with-gmp=/mingw/src/gmp/root --with-mpfr=/mingw/src/mpfr/root --build
>> =mingw32
>> Thread model: win32
>> gcc version 4.4.0 (GCC)
>>
>> At this point, I would like to know if the only solution is too make sure
>> both projects are using the same toolchain.
>> I hope not as this is a bit out of my league.
>> Would it possible to "tweak" the project's toolchain or build
> process to
>> become compatible with the SDK?
>> If not, are there other alternatives? Is it in the SDK roadmap to support
>> alternate toolchains ?
>
> This is an issue with the different exception handling used in GCC.
> Our toolchain uses the old sljj exceptions while the one you are using
> uses dwarf. But this shouldn't be an issue unless you are mixing c++
> libraries. Are you using QtGStreamer? How are you building it?
> Can you please describe the steps to reproduce the issue such as which
> project should we checkout and which branch, configure options, etc...
>
> Andoni
Hi again,
I answered your other post and I will probably go for the suggestion you posted there (i.e. migration to Qt 5.0.1 that comes with a more compatible MinGW toolchain).
I am not using QtGStreamer, but :
- I am calling gstreamer code from c++ classes.
- I am compiling some c code taken from gst-inspect.
- I am also compiling the winscreencap plugin
- And all the above from the same compilation unit.
But all this was working fine with SDK version 2012.09.
Did you introduce a change in the tool chain between version 2012.09 and 2012.11 that explains why I started to run into linking issues?
I am really keen to understand where that issue comes from. I might encounter it again later in some other form...
Should you still want to reproduce the error here are some pointers:
To check out the project :git clone git://git.openpilot.org/OpenPilot.git OpenPilot
The branch to reproduce the issue is the branch named "next".
Setting up the build environment is described here http://wiki.openpilot.org/display/Doc/Windows%3A+Building+and+Packaging
You don't have to build everything : "make gcs" is enough.
I'll have to push my branch with the gstreamer related devs if you want to reproduce the issue. Let me know...
Regards,
Philippe.
>>
>> Philippe.
>>
>> ----- Mail original -----
>> De : Kyrylo V Polezhaiev <polezhaiev at ukr.net>
>> À : philippe renon <philippe_renon at yahoo.fr>
>> Cc : "gstreamer-devel at lists.freedesktop.org"
>> <gstreamer-devel at lists.freedesktop.org>
>> Envoyé le : Dimanche 3 février 2013 18h50
>> Objet : Re: GStreamer SDK - link error since upgrading to latest version
>> (2012.11Brahmaputra)
>>
>>
>> Hello,
>>
>> What C++ runtime was used for GStreamer and for your project?
>> Also, GStreamer SDK is separate from GStreamer team project.
>>
>>> Hi,
>>>
>>> I was quite successful in using the SDK version 2012.9 on Windows 7
> (btw
>>> thanks a million for making it available).
>>>
>>> But after upgrading to version 2012.11, I started running into linking
>>> errors:
>>>
>>> mingw32-make[5]: Entering directory
>>>
> `d:/Projects/OpenPilot/build/ground/openpilotgcs/src/libs/gst_lib'linking
>>> ../../../lib/openpilotgcs/GST_libd.dllInfo: resolving vtable for
>>> __cxxabiv1::__si_class_type_info by linking to
>>> __imp___ZTVN10__cxxabiv120__si_class_type_infoE (auto-import)Info:
> resolving
>>> vtable for __cxxabiv1::__class_type_info by linking to
>>> __imp___ZTVN10__cxxabiv117__class_type_infoE (auto-import)Info:
> resolving
>>> vtable for __cxxabiv1::__vmi_class_type_info by linking to
>>> __imp___ZTVN10__cxxabiv121__vmi_class_type_infoE (auto-import)Info:
>>> resolving ___gst_debug_min by linking to __imp____gst_debug_min
>>> (auto-import)Info: resolving _GST_CAT_DEFAULT by linking to
>>> __imp__GST_CAT_DEFAULT (auto-import)Creating library file:
>>>
>>>
> d:/Projects/OpenPilot/build/ground/openpilotgcs/lib/openpilotgcs/libGST_libd.ad:/openpi~2/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe:
>>> warning: auto-importing has been activated without --enable-auto-import
>>> specified on the command line.This should work unless it involves
> constant
>>> data structures referencing symbols from auto-imported
>>> DLLs.debug/gst_global.o:gst_global.cpp:(.eh_frame+0x12): undefined
> reference
>>> to
>>>
> `__gxx_personality_v0'debug/videowidget.o:videowidget.cpp:(.eh_frame+0x12):
>>> undefined reference to
>>>
> `__gxx_personality_v0'debug/moc_videowidget.o:moc_videowidget.cpp:(.eh_frame+0x11):
>>> undefined reference to `__gxx_personality_v0'collect2: ld returned
> 1 exit
>>> statusmingw32-make[5]: *** [../../../lib/openpilotgcs/GST_libd.dll]
> Error 1
>>>
>>> Downgrading the SDK makes the problem go away.
>>>
>>> I found this post which seems to discuss a similar issue :
>>>
> http://gstreamer-devel.966125.n4.nabble.com/Questions-on-MinGW-configuration-of-GStreamer-SDK-Windows-build-td4657961.html
>>> But not being an expert in toolchains and related matters, I could not
>>> make a lot of
>>> sense out of it.
>>>
>>> The project I am working on is to add video processing capabilities to
> the
>>> Open Pilot (OP) Ground Control Station (GCS) application
>>> (http://www.openpilot.org/).
>>> This application is built on QT with mingw. See this link for details
>>> about the GCS build environment :
>>> http://wiki.openpilot.org/display/Doc/Windows%3A+Building+and+Packaging
>>>
>>> Any help will be greatly appreciated.
>>>
>>> filnet.
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>
>
>
> --
> Andoni Morales Alastruey
>
> LongoMatch:The Digital Coach
> http://www.longomatch.ylatuya.es
>
More information about the gstreamer-devel
mailing list