4

I'm building a program in a VM then deploying to another machine. This has been working for some time.

Today I've started receiving this error message when I attempt to execute my program:

/usr/lib/i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.19' not found

Both machines are running the same kernel version, and all packages are up to date:

$ uname -a
Linux darwin7 3.8.0-23-generic #34-Ubuntu SMP Wed May 29 20:24:54 UTC 2013 i686 i686 i686 GNU/Linux

How might I investigate and repair this issue?

Drew Noakes
  • 5,878

2 Answers2

5

More lightweight solution is to install just libstdc++ from nondefault repository:

$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update
$ sudo apt-get install libstdc++6-4.7-dev
luart
  • 1,020
  • 1
  • 10
  • 8
3

In the end I realised I had different versions of gcc (g++) installed on the two machines. I was building with 4.8 and running where only 4.7 was available. Installing 4.8 on the target machine (as described here) solved the problem.

There may be a more lightweight solution that doesn't involve installing the full compiler but rather just the required library.

Drew Noakes
  • 5,878