[csw-maintainers] C++ ABIs are fun (not)

Laurent Blume laurent at opencsw.org
Tue Jun 11 20:55:26 CEST 2013


Hello all,

I'm a bit in a tie because of C++ ABI issue.

I'm trying t o build the scummvm-tools. They use wxwidget, which is a
C++ library.
Only g++ is officially supported. That can't work, because wxwidget is
built with Studio.
So I tinkered a little, and it builds reasonably well with Studio, until
this:


$ CC -library=iostream -library=rwtools7  -g -DHAVE_CONFIG_H -DSOLARIS
-DSYSTEM_NOT_SUPPORTING_D_TYPE -DPOSIX -I. -I.  -c scummvm-tools-cli.cpp
-o scummvm-tools-cli.o
"scummvm-tools-cli.cpp", line 43: Error: Could not find a match for
std::deque<std::string>::deque(char**, char**) needed in
ToolsCLI::run(int, char**).
1 Error(s) detected.


Basically, it appears to be using a constructor that's not supported on
Studio.

However, I've found out that this bit builds when adding
-library=stlport4. But that doesn't help much, because it means that all
dependencies must be built with that too, so it's practically the same
problem as the GCC incompatibility.


At this point, I wonder what's the best path? Have a special GCC-built
version of the lib (messy)? Try to get upstream change their code
(doubtful)? Give it up already and get a drink?

Thanks for any insight,

Laurent


More information about the maintainers mailing list