The error is:
./A.out: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version
`CXXABI_1.3.8' not found (required by ./A.out)
I can reproduce it on
gcc --version
gcc (GCC) 4.9.0 20131023 (experimental)
and one built yesterday, and today.
But I gcc 4.7.3 is fine.
Here's how you can:
-----------------------------------------------------
class B {
public:
B() {}
~B() {}
};
template<class T>
class A {
public:
A(int i,int j) {
data = new T[i*j];
}
~A() { delete[] data; }
protected:
T* data;
};
int main(int,char**) {
A<int> a(5,5);
A<B> b(5,5);
return 0;
}
----------------------------------------------
It is okay with A<B> but hates A<int> (I discovered it with doubles)
Other data:
ldconfig -p | grep libstdc
libstdc++.so.6 (libc6,x86-64) =>
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
libstdc++.so.6 (libc6) => /usr/lib/i386-linux-gnu/libstdc++.so.6
libstdc++.so.5 (libc6) => /usr/lib/i386-linux-gnu/libstdc++.so.5
I honestly don't know what's wrong.
Alec