Bug#853394: extremetuxracer: ftbfs with GCC-7

James Cowgill jcowgill at debian.org
Sat Jun 10 23:37:18 UTC 2017


Control: block -1 by 853729

Hi,

On 11/06/17 00:18, Marko Lindqvist wrote:
> On 31 January 2017 at 11:31, Matthias Klose <doko at debian.org> wrote:
>> event.o: In function `CEvent::Enter()':
>> ./src/event.cpp:160: undefined reference to `sf::String::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const'
>> ./src/event.cpp:166: undefined reference to `sf::String::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const'
>> ./src/event.cpp:170: undefined reference to `sf::String::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const'
>> game_over.o: In function `GameOverMessage(CControl const*)':
>> ./src/game_over.cpp:91: undefined reference to `sf::String::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const'
>> ./src/game_over.cpp:97: undefined reference to `sf::String::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const'
>> game_over.o:./src/game_over.cpp:107: more undefined references to `sf::String::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const' follow
>> collect2: error: ld returned 1 exit status
>> Makefile:474: recipe for target 'etr' failed
>> make[3]: *** [etr] Error 1
> 
>  I see that error with g++7 on both etr-0.7 branch (where release used
> by Debian is from) and development version. We saw similar problem on
> etr development version with earlier version of clang++, but with
> current Debian Testing (Stretch) etr development version compiles fine
> with clang++. etr-0.7 branch does not compile with clang++ for
> unrelated reasons.
>  This seems like a sort of incompatibility problem between c++11
> std::string and SFML string class. I don't know if we can do anything
> to it in etr upstream. Could Debian accept a version that specifically
> requires clang++ to be used, and cannot be compiled with g++7? There
> is no such release at the moment, but etr-0.8 could be like that.
> Another option is to just wait if g++8 will fix the problem, like
> clang++ upgrade apparently did.

This bug is caused by a slight ABI adjustment to "operator
std::string()" functions in GCC 7 (see the GCC 7 porting guide [1]).
This is not an ABI break, but it does require libsfml to be rebuilt
against GCC 7 first before reverse dependencies can be.

Once GCC 7 becomes the default compiler, I'll upload a new version of
libsfml with some shlibs bumps which should resolve this without any
changes to extremetuxracer.

[1] https://gcc.gnu.org/gcc-7/porting_to.html

James

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-games-devel/attachments/20170611/10484c12/attachment.sig>


More information about the Pkg-games-devel mailing list