title: Shared objects loading: version Qt_5 not defined in file
body: <p>I'm trying to write a simple console Qt/C++ app for the Beagle Bone Black. The Debian 8 image has Qt 5.3.2 installed. The Qt installed in the <a href="http://software-dl.ti.com/processor-sdk-linux/esd/AM335X/latest/index_FDS.html" rel="nofollow noreferrer">SDK</a> gave me cross compile errors, so I cross-compiled <a href="http://download.qt.io/archive/qt/5.6/5.6.2/single/" rel="nofollow noreferrer">Qt 5.6.2 from source</a> myself. This required version 5.6+ because of a hard-float issue, and then some bug-fixing and hacking to get to work. </p>
  
  <p>When I compile the application and run it on the BBB, it says:</p>
  
  <pre><code>./BeagleBoneTestCrossCompile 
  ./BeagleBoneTestCrossCompile: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: no version information available (required by ./BeagleBoneTestCrossCompile)
  ./BeagleBoneTestCrossCompile: relocation error: ./BeagleBoneTestCrossCompile: symbol _ZN6QDebugD1Ev, version Qt_5 not defined in file libQt5Core.so.5 with link time reference
  </code></pre>
  
  <p>These versioned symbols confuse me greatly. With <code>objdump -TC</code> I can see that my compiled Qt 5.6 has them (one example line):</p>
  
  <pre><code>000d910d g    DF .text  00000088  Qt_5        QChar::hasMirrored(unsigned int)
  </code></pre>
  
  <p>But, the version installed in the Debian BBB image doesn't:</p>
  
  <pre><code>000c8bb0 g    DF .text  00000074  Base        QChar::hasMirrored(unsigned int)
  </code></pre>
  
  <p>Nor does the version installed on a X86_64 Ubuntu 16.04 server:</p>
  
  <pre><code>0000000000132a30 g    DF .text  0000000000000064  Base        QChar::hasMirrored(unsigned int)
  </code></pre>
  
  <p>However, the version installed in my home-dir with the online installer, just for x86_64, does have the <code>Qt_5</code> version:</p>
  
  <pre><code>0000000000130ec0 g    DF .text  000000000000005e  Qt_5        QChar::hasMirrored(unsigned int)
  </code></pre>
  
  <p>Then I tried to just include my cross-compiled Qt 5.6 with my app, but then it goes up the chain:</p>
  
  <pre><code>&gt; LD_LIBRARY_PATH=libs ./BeagleBoneTestCrossCompile    
  ./BeagleBoneTestCrossCompile: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by libs/libQt5Core.so.5)
  </code></pre>
  
  <p>In the past, I have compiled x86 software with my local Qt, with <code>Qt_5</code> version tags, and run it on Ubuntu 16.04 servers without the version tags, and it loaded the <code>*.so</code> files just fine. So, why is this suddenly a problem, and how do I run Qt apps with the shipped Qt libraries?</p>