Ouch :)
Thanks for the in-depth story.
I was expecting more things to break thou'
than just OSG linking as a lot of stuff
depends on the std::string, but it seems
not to be the case.

Maybe one idea to keep msys2 mingw32/64
packages always working is to update the
gcc compiler to a newer version only when
everything else is compiled with it.

Cheers,
Adrian Pop/

On 2015-07-28 05:27, lh_mouse wrote:
> In one word: anything that relies on std::string might break.
>
> The problem is that, prior to g++ 5.x, libstdc++ used a reference counting 
> std::string which conformed to C++98 and C++03 but not C++11.
> As reference counting was no longer allowed, libstdc++ maintainers tried to 
> be up-to-date with the new standard, and there went g++ 4.7 and g++ 4.7.1.
> However, upgrade of std::string broke so many libraries, which the community 
> complained about so much that libstdc++ maintainers decided to keep backward 
> compatibility with legacy libraries for some time,and there went g++ 4.7.2, 
> 4.8.x and 4.9.x.
> But sooner or later they would get rid of it. The result was g++ 5.x.
>
> ------------------                            
> Best regards,
> lh_mouse
> 2015-07-28
>
> -------------------------------------------------------------
> 发件人:Adrian Pop <[email protected]>
> 发送日期:2015-07-28 08:26
> 收件人:Msys2,fkafka
> 抄送:
> 主题:[Msys2-users] gcc 5.2.0 issues?
>
>
> Hi all,
>
> After I upgraded to gcc 5.2.0 I get some weird linking errors.
>
> Is it possible that the gcc 5.2.0 generates code that is
> not linker compatible with libraries built with gcc 4.9.2?
>
> To reproduce do this:
>
> # install OSG
> $ pacman -S mingw64/mingw-w64-x86_64-OpenSceneGraph
>
> # get an OSG example from
> http://trac.openscenegraph.org/projects/osg//wiki/Support/UserGuides/Examples
> $ wget
> http://trac.openscenegraph.org/projects/osg/export/15027/OpenSceneGraph/trunk/examples/osganimate/osganimate.cpp
>
> # compile the example using latest gcc 5.2.0
> $ g++ osganimate.cpp `pkg-config --libs openscenegraph`
> F:\msys\tmp\cch9wEYJ.o:osganimate.cpp:(.text+0x149e): undefined
> reference to `__imp__ZN3osg14ArgumentParser4readERKNSt7__cxx1112basic_
>                                stringIcSt11char_traitsIcESaIcEEE'
> F:\msys\tmp\cch9wEYJ.o:osganimate.cpp:(.text+0x151e): undefined
> reference to `__imp__ZN3osg14ArgumentParser4readERKNSt7__cxx1112basic_
>                                stringIcSt11char_traitsIcESaIcEEE'
> F:\msys\tmp\cch9wEYJ.o:osganimate.cpp:(.text+0x15b8): undefined
> reference to `__imp__ZN3osg14ArgumentParser4readERKNSt7__cxx1112basic_
>                                stringIcSt11char_traitsIcESaIcEEE'
> collect2.exe: error: ld returned 1 exit status
>
> Additional question:
> is it possible to downgrade to gcc 4.9.2 toolchain using pacman?
>
> Cheers,
> Adrian Pop/
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Msys2-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/msys2-users
>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Msys2-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/msys2-users
>


------------------------------------------------------------------------------
_______________________________________________
Msys2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/msys2-users

Reply via email to