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
