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