I encountered this error while trying to run the Xilinx xlcm tool for ISE 12.2. Here is how to fix it.

The Error

The xlcm command runs fine until it tries to spawn a web page. Here is the error message:

1
2
3
4
5
6
/usr/bin/google-chrome-stable: /opt/Xilinx/12.2/ISE_DS/common//lib/lin64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/bin/google-chrome-stable)
/usr/bin/google-chrome-stable: /opt/Xilinx/12.2/ISE_DS/common//lib/lin64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /usr/bin/google-chrome-stable)
/usr/bin/google-chrome-stable: /opt/Xilinx/12.2/ISE_DS/common//lib/lin64/libstdc++.so.6: version `GLIBCXX_3.4.10' not found (required by /usr/bin/google-chrome-stable)
/usr/bin/google-chrome-stable: /opt/Xilinx/12.2/ISE_DS/common//lib/lin64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/bin/google-chrome-stable)
/usr/bin/google-chrome-stable: /opt/Xilinx/12.2/ISE_DS/common//lib/lin64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/bin/google-chrome-stable)
/usr/bin/google-chrome-stable: /opt/Xilinx/12.2/ISE_DS/common//lib/lin64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/bin/google-chrome-stable)

It appears the xlcm binary was statically configured to use the libstdc++ that are shipped with ISE. However, those libraries are too old to accommodate the modern applications such as Google Chrome.

The Fix

First, make sure your system's libstdc++ file has the correct libc versions. On Ubuntu:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH

That's the right libc file that xlcm should use. Now, just override the outdated libc file of ISE with this one.

1
2
3
$ cd /opt/Xilinx/12.2/ISE_DS/common/lib/lin64/
$ mv libstdc++.so.6 ise_libstdc++.so.6
$ cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6

Use sudo where required.

Now launch xlcm again and it should be able to spawn a web page successfully.