tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Using modern gcc from pkgsrc on old systems for c++



I am occasionally trying to work on the compiler selection issues a bit.
As part of that, I'm trying to build a c++ program on netbsd-5, which is
ancient, as a difficult test case.  The native compiler is gcc 4.1.3.

Following Jason Bacon's lead, I have built gcc7 from pkgsrc, and am
using that via GCC_REQD=7.  (Yes, I get it that this can't be used to
bootstrap 7; I added it after 7 was built to avoid that.)

Building devel/re2c fails with messages about c++11 things not being
defined at link time.  re2c is declared to be "c++", and checks for and
passes --std=c++98 on every compile and link.  The .o file -- built with
-std=c++98 -- indeed refers to a number of c++11 looking things.

After some investigation, I found that the invocation of c++ for final
linking results in /usr/lib/libstdc++.so.6.0 being referenced (atime
update), and that's the 4.1.3 version.  If I add
/usr/pkg/gcc7/lib/libstdc++.a at the end, it links ok.  This is without
wrappers, with me running the link command cut and pasted from the build
log.  I conclude that

  - the use of functions with cxx11 in them is an internal
    implementation detail of gcc7 (which is perfectly ok, even if it
    surprised me at first that this happens on c++98 builds)

  - somehow, gcc7 is linking the system libstdc++, instead of its own,
    despite what the search paths seem to say

The second thing I don't understand, because all of the commands show -L
for the right lib first, and the default lib path in gcc has that
earlier as well.

My question is thus: Am I understanding this correctly?  Is it
reasonable to expect "/usr/pkg/gcc7/bin/c++ -o foo foo.o" to link with
the stdc++ that belongs with that compiler?

Do I need to mark the package with USE_PKGSRC_GCC_RUNTIME?   But
doesn't every c++ program depend on libstdc++, and doesn't that have to
be the one that came with the compiler (r ABI compatible with it)?

Some data points (with GCC_REQD=7)

make USE_NATIVE_GCC=yes package: succeeds, but uses old compiler (which
  works for this package, but of course not for things in newer C++)

make package: fails to link

make USE_PKGSRC_GCC=yes package: fails to link.  seems to be exactly as
  previous (ccache reports all hits)

make USE_PKGSRC_GCC_RUNTIME=yes package: added a dependency on
  gcc7-libs.  Resulted in all ccache misses.  But still failure to link.


Here is an example of the failures when using gcc7 and not manually
inserting gcc7's libstdc++.a at the end of the link line.

=> Bootstrap dependency digest>=20010302: found digest-20190127
===> Building for re2c-1.1.1
/usr/pkg/bin/gmake  all-am
gmake[1]: Entering directory '/n0/ANONCVS/pkgsrc/devel/re2c/work/re2c-1.1.1'
  CXXLD    re2c
src/code/emit_action.o: In function `_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag.isra.51':
emit_action.cc:(.text+0x62): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned int&, unsigned int)'
src/code/emit_action.o: In function `_ZN4re2cL4needERNS_10OutputFileEjj':
emit_action.cc:(.text+0x1f0): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text+0x2ce): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
src/code/emit_action.o: In function `_ZN4re2c7tagnameB5cxx11ERKNS_3TagE':
emit_action.cc:(.text+0x436): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x44d): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x463): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x46d): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x4cb): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x594): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text+0x5bb): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x5c5): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x5cf): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x609): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x618): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x67e): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned int)'
emit_action.cc:(.text+0x707): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text+0x74c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text+0x83e): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
emit_action.cc:(.text+0x85f): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x86d): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
src/code/emit_action.o: In function `re2c::gen_settags(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, re2c::DFA const&, unsigned int, re2c::opt_t const*)':
emit_action.cc:(.text+0x9cc): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned int)'
emit_action.cc:(.text+0xa27): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned int)'
emit_action.cc:(.text+0xba0): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned int)'
emit_action.cc:(.text+0xc00): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned int)'
emit_action.cc:(.text+0xd0e): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned int)'
src/code/emit_action.o:emit_action.cc:(.text+0xd6c): more undefined references to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned int)' follow
src/code/emit_action.o: In function `_ZN4re2cL8gen_gotoERSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EEPKNS_5StateERKNS_3DFAEjPKNS_5opt_tEb':
emit_action.cc:(.text+0x1e2f): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x1e44): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x1e5a): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x1e64): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x1ec2): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x1fd3): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x1fe9): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x1ff3): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x2051): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x211f): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text+0x2146): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x2150): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x215a): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x219e): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x223a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned int)'
emit_action.cc:(.text+0x22f4): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x22fe): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x2308): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x234c): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x23bd): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text+0x2458): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text+0x2568): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text+0x2602): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text+0x265f): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
src/code/emit_action.o:emit_action.cc:(.text+0x269f): more undefined references to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' follow
src/code/emit_action.o: In function `_ZN4re2cL8gen_gotoERSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EEPKNS_5StateERKNS_3DFAEjPKNS_5opt_tEb':
emit_action.cc:(.text+0x27b4): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
emit_action.cc:(.text+0x2878): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text+0x28d0): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
emit_action.cc:(.text+0x2917): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
src/code/emit_action.o: In function `re2c::emit_action(re2c::OutputFile&, unsigned int, re2c::DFA const&, re2c::State const*, std::set<re2c::label_t, std::less<re2c::label_t>, std::allocator<re2c::label_t> > const&)':
emit_action.cc:(.text+0x3499): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text+0x35b6): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text+0x37a7): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text+0x3895): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
src/code/emit_action.o: In function `std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf()':
emit_action.cc:(.text._ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev[_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED5Ev]+0xa): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
src/code/emit_action.o: In function `std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf()':
emit_action.cc:(.text._ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev[_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED5Ev]+0xa): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
src/code/emit_action.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
emit_action.cc:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_]+0x2f): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned int)'
src/code/emit_action.o: In function `void re2c::strrreplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x54): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x6b): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x81): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x8b): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0xe9): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x1a6): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x1f3): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x1fd): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x207): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x241): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x250): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x295): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x2b7): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find(char const*, unsigned int, unsigned int) const'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x2cf): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned int, unsigned int, char const*, unsigned int)'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x2e9): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find(char const*, unsigned int, unsigned int) const'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x342): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x377): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x3cd): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_[_ZN4re2c11strrreplaceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRS6_RKS6_RKT_]+0x3dc): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
src/code/emit_action.o: In function `void re2c::strrreplace<unsigned int>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int const&)':
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x51): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x68): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x7e): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x88): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0xe6): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x1a1): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x1ee): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x1f8): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x202): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x23c): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x24b): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x295): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x2b7): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find(char const*, unsigned int, unsigned int) const'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x2cf): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned int, unsigned int, char const*, unsigned int)'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x2e9): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find(char const*, unsigned int, unsigned int) const'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x342): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x377): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x3cd): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
emit_action.cc:(.text._ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_[_ZN4re2c11strrreplaceIjEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_RKT_]+0x3dc): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
src/code/emit_action.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
emit_action.cc:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_]+0x37): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned int)'
emit_action.cc:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_]+0x52): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned int)'
emit_action.cc:(.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_[_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_]+0x62): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned int)'
src/code/emit_action.o: In function `void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_range_insert<std::reverse_iterator<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::reverse_iterator<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >, std::reverse_iterator<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >, std::forward_iterator_tag)':
emit_action.cc:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertISt16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEEvSD_T_SF_St20forward_iterator_tag[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertISt16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEEvSD_T_SF_St20forward_iterator_tag]+0x15c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertISt16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEEvSD_T_SF_St20forward_iterator_tag[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertISt16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEEvSD_T_SF_St20forward_iterator_tag]+0x1a6): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
emit_action.cc:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertISt16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEEvSD_T_SF_St20forward_iterator_tag[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertISt16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEEvSD_T_SF_St20forward_iterator_tag]+0x486): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
[many more omitted]


Home | Main Index | Thread Index | Old Index