Cannot use xercesc with new c+11 flags in Solaris' newest compiler - c++

Using xerces-c-3.1.1 and SolarisStudio12.5Beta-solaris-x86-bin (on Solaris 10).
./configure CXX=CC CC=cc CXXFLAGS="-std=c++11"
gmake
gmake check
results in 37 core dumps and the error messages
terminate called after throwing an instance of 'xercesc_3_1::EndOfEntityException'
a pstack on 1 of the core files show
core 'core_gs580w_XSerializerTest_132_10_1462965423_23542' of 23542: /usr/local/src/xerces-c-3.1.3/tests/.libs/XSerializerTest -v=always pe
fdb5c925 _lwp_kill (1, 6) + 15
fdb03783 raise (6) + 1f
fdae29f5 abort (fdc725cc, 107, 8118140, fdbc3cd8, fedb04d0, fdc725cc) + cd
fdd71eb5 _ZN9__gnu_cxx27__verbose_terminate_handlerEv (1, 0, fdd6eb0b, fddb3468, 8114df0, 8045f00) + 175
fdd6eb17 ???????? (fdd71d40, 0, fdd6eb75, fdd6eba7, fdd6eb99, fddb3468)
fdd6ebb0 ???????? (8114df0, fedb04d0, fdd6eb75, fdd6ee0f, fecfa708, 807b0c0)
fdd6ee3e ???????? (8114e10, fed7d848, feb24d00, feb24aec, 8114db8, fe8f3468)
feb24bff _ZN11xercesc_3_19ReaderMgr9popReaderEv (80df840, 8045b14, 0, feb21a2c) + 11f
feb21a60 _ZN11xercesc_3_19ReaderMgr14skipPastSpacesEv (80df840, 0, 0, febf3911) + 40
febf3d4e _ZN11xercesc_3_110DTDScanner17scanExtSubsetDeclEbb (8045f00, 0, 1, 64) + 44e
feb09db0 _ZN11xercesc_3_112IGXMLScanner15scanDocTypeDeclEv (80df7b8, fec9dec8, fef90c18, feb512f1) + 1610
feb5154f _ZN11xercesc_3_110XMLScanner10scanPrologEv (80df7b8, 80e5c38, feb24700, 0) + 26f
feb0483f _ZN11xercesc_3_112IGXMLScanner12scanDocumentERKNS_11InputSourceE (80df7b8, 80e5c38, 807b0c0, feb4cb51) + 9f
feb4d0ad _ZN11xercesc_3_110XMLScanner12scanDocumentEPKt (80df7b8, 80e5c08, 807b0c0, feb4d96e) + 56d
feb4d9c4 _ZN11xercesc_3_110XMLScanner12scanDocumentEPKc (80df7b8, 8046d5c, feb98f00, 0) + 64
feb9500f _ZN11xercesc_3_117SAX2XMLReaderImpl5parseEPKc (80df500, 8046d5c, 1, 8046ca8) + af
0805e1d2 _Z8parseOnePN11xercesc_3_115BinOutputStreamEPKc (80dd6c0, 8046d5c, 807adf0, fdd2305c) + 112
0805dd70 _Z9parseCasePKc (8046d5c, 0, 3e8, 0) + b0
0805d8a6 main (3, 8046bb0, 8046bc0) + be6
0805a932 _start (3, 8046d18, 8046d52, 8046d5c, 0, 8046d69) + 72
removing CXXFLAGS="-std=c++11" from the configure results in a successful "gmake check"
Any tips on making xerces-c work with sun studio 12.5 and c++11?

Assuming the build process for Xerces 3.1.1 is the same as Xerces 3.1.4, Xerces is explicitly linking in the standard Solaris C++ run-time libraries. That's a problem because specifying -std=c++11 causes Solaris Studio to use the g++ ABI and runtime.
This is ldd output on one of the test executables from compiling Xerces 3.1.4, admittedly on Solaris 11:
bash-4.1$ ldd XSValueTest
libxerces-c-3.1.so => /home/achenle/xerces/xerces-c-3.1.4/src/.libs/libxerces-c-3.1.so
libpthread.so.1 => /lib/libpthread.so.1
libcurl.so.3 => /usr/lib/libcurl.so.3
libidn.so.11 => /usr/lib/libidn.so.11
libsldap.so.1 => /usr/lib/libsldap.so.1
libldap.so.5 => /usr/lib/libldap.so.5
libsocket.so.1 => /lib/libsocket.so.1
libnsl.so.1 => /lib/libnsl.so.1
libgss.so.1 => /usr/lib/libgss.so.1
libssl.so.1.0.0 => /lib/libssl.so.1.0.0
libcrypto.so.1.0.0 => /lib/libcrypto.so.1.0.0
libz.so.1 => /lib/libz.so.1
libstdc++.so.6 => /opt/SUNWspro/lib/compilers/CC-gcc/lib/libstdc++.so.6
libgcc_s.so.1 => /opt/SUNWspro/lib/compilers/CC-gcc/lib/libgcc_s.so.1
librt.so.1 => /lib/librt.so.1
libm.so.2 => /lib/libm.so.2
libc.so.1 => /lib/libc.so.1
libstatomic.so.1 => /opt/SUNWspro/lib/compilers/atomic/libstatomic.so.1
libCstd.so.1 => /usr/lib/libCstd.so.1
libCrun.so.1 => /usr/lib/libCrun.so.1
libscf.so.1 => /lib/libscf.so.1
libsasl.so.1 => /usr/lib/libsasl.so.1
libmd.so.1 => /lib/libmd.so.1
libnspr4.so => /usr/lib/mps/libnspr4.so
libplc4.so => /usr/lib/mps/libplc4.so
libnss3.so => /usr/lib/mps/libnss3.so
libssl3.so => /usr/lib/mps/libssl3.so
libmp.so.2 => /lib/libmp.so.2
libuutil.so.1 => /lib/libuutil.so.1
libgen.so.1 => /lib/libgen.so.1
libnvpair.so.1 => /lib/libnvpair.so.1
libsmbios.so.1 => /usr/lib/libsmbios.so.1
libsoftcrypto.so.1 => /lib/libsoftcrypto.so.1
libelf.so.1 => /lib/libelf.so.1
libdl.so.1 => /lib/libdl.so.1
libnssutil3.so => /usr/lib/mps/libnssutil3.so
libplds4.so => /usr/lib/mps/libplds4.so
libthread.so.1 => /lib/libthread.so.1
libcryptoutil.so.1 => /lib/libcryptoutil.so.1
Note the presence of libstdc++.so.6 (the g++ runtime) and libCstd.so.1 and libCrun.so.1 (the standard Solaris C++ runtime).
This is from the "What's New" documentation on Solaris Studio 12.4:
Using C++11 Features
In Oracle Solaris Studio 12.4, the C++ compiler supports C++11, a new
language and ABI (Application Binary Interface).
In C++ 11 mode, the CC compiler uses the g++ ABI and a version of
the g++ runtime library that is supplied with Oracle Solaris Studio.
For this release, version 4.8.2 of the g++ runtime library is used.
The C++11 implying the use of the g++ ABI and runtime also applies to Solaris Studio 12.5:
A.2.88 –std=v
...
c++11
Selects C++ 11 dialect and g++ binary compatibility. It sets the
__SUNPRO_CC_COMPAT preprocessor macro to 'G'.
But the Xerces build explicitly links in the standard Solaris C++ runtime in addition to the implicitly-linked g++ runtime.

Related

[Driver Manager]Can't open lib '/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.9.so.1.1'

When I run
$ python manage.py inspectdb --database=mssql_database
I have the following error
django.db.utils.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.9.so.1.1' : file not found (0) (SQLDriverConnect)")
but the file libmsodbcsql-17.9.so.1.1 is there.
$ cat /etc/odbcinst.ini
[ODBC]
Trace=Yes
TraceFile=/tmp/odbc.log
[FreeTDS]
Description=TDS driver (Sybase/MS SQL)
Driver=libtdsodbc.so
Setup=libtdsS.so
CPTimeout=
CPReuse=
UsageCount=2
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.9.so.1.1
UsageCount=1
$ odbcinst -j
unixODBC 2.3.7
odbcinst: symbol lookup error: odbcinst: undefined symbol: odbcinst_system_file_name
$ ldd /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.9.so.1.1
linux-vdso.so.1 (0x00007fff545c4000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9f85470000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f9f85268000)
libodbcinst.so.2 => /home/pd/sibp/env/lib/python3.6/site-packages/sqlanydb-1.0.11.dist-info/lib64/libodbcinst.so.2 (0x00007f9f84fcc000)
libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f9f84cf6000)
libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f9f84aab000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9f84722000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9f84384000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9f8416c000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9f83f4d000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9f83b5c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9f85a80000)
libdbtasks17_r.so => /home/pd/sibp/env/lib/python3.6/site-packages/sqlanydb-1.0.11.dist-info/lib64/libdbtasks17_r.so (0x00007f9f83912000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f9f836f8000)
libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f9f834c6000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f9f832c2000)
libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f9f830b7000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f9f82eb3000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f9f82c99000)
OS: Ubuntu 18.04.6 LTS
I started fresh with clean system and I'm creating snapshots of my virtualbox now. This happens as a result of installing SQL Anywhere Database Client.
See here. I need SQL Anywhere Database Client to work with Sybase. After finishing this installation I have the above error.
$ pip list
Package Version
------------- -------
Django 1.8
django-pyodbc 1.1.3
pip 21.3.1
pyodbc 4.0.32
setuptools 59.6.0
sqlany-django 1.13
sqlanydb 1.0.11
wheel 0.37.1
While not a complete answer for this particular case, the following information may be helpful for others having difficulty using both sqlanydb (for SAP SQL Anywhere) and pyodbc (for Microsoft SQL Server) on the same machine.
The SQL Anywhere setup instructions cited in the question instruct us to
source "/opt/sqlanywhere17/bin64/sa_config.sh"
in .bashrc. That script includes, in part
LD_LIBRARY_PATH="$SQLANY17/lib32:${LD_LIBRARY_PATH:-}"
LD_LIBRARY_PATH="$SQLANY17/lib64:${LD_LIBRARY_PATH:-}"
export LD_LIBRARY_PATH
which prepends the SQLANY17/ directories to any existing LD_LIBRARY_PATH. On a vanilla install of Xubuntu 20.04 there is no LD_LIBRARY_PATH defined, so the net result is
$ echo $LD_LIBRARY_PATH
/opt/sqlanywhere17/lib64:/opt/sqlanywhere17/lib32:
That works fine for sqlanydb
# any.py
import sqlanydb
# Initiate connection to the database
DB_PARAMS = {"HOST": "192.168.0.199",
"USER": "dba",
"PASSWORD":"sql",
"DB":""}
conn = sqlanydb.connect(host=DB_PARAMS['HOST'], uid=DB_PARAMS['USER'], pwd=DB_PARAMS['PASSWORD'], dbn=DB_PARAMS['DB'])
# Instantiate cursor
curs = conn.cursor()
# Execute a query
curs.execute("SELECT 'success' as connection_status FROM SYS.DUMMY")
result = curs.fetchall()
print(result)
$ python3 any.py
[('success',)]
but it causes pyodbc to fail
# pyo.py
import pyodbc
cnxn = pyodbc.connect(
"Driver=ODBC Driver 17 for SQL Server;"
"Server=192.168.0.199;"
"Database=test;"
"UID=scott;PWD=tiger^5HHH;"
)
crsr = cnxn.cursor()
print(crsr.execute("SELECT 'success' AS connection_status").fetchall())
$ python3 pyo.py
Traceback (most recent call last):
File "pyo.py", line 3, in <module>
cnxn = pyodbc.connect(
pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.9.so.1.1' : file not found (0) (SQLDriverConnect)")
If we add a third LD_LIBRARY_PATH tweak to sa_config.sh
LD_LIBRARY_PATH="$SQLANY17/lib32:${LD_LIBRARY_PATH:-}"
LD_LIBRARY_PATH="$SQLANY17/lib64:${LD_LIBRARY_PATH:-}"
LD_LIBRARY_PATH="/lib/x86_64-linux-gnu/:${LD_LIBRARY_PATH:-}"
export LD_LIBRARY_PATH
and restart the machine to apply the changes then any.py (above) continues to work, but pyo.py (above, unmodified) works, too:
$ python3 pyo.py
[('success', )]
Looks like you have driver issue, run the following command and it should work
sudo apt-get install tdsodbc
update content of odbcinst.ini
$ sudo nano /etc/odbcinst.ini
[FreeTDS]
Description = TDS Driver for MSSQL
driver = path/to/libtdsodbc.so
setup = path/to/libtdsS.so
[EDIT]
Kindly share output after running this
import pyodbc
print(pyodbc.drivers())
Also kindly check if followed all steps here for target OS:
https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017

C++ exceptions not caught on Solaris 10 when compiled w/ g++ 5.4 on Solaris 11

I'm compiling with g++ 5.4 on Solaris 11 and running on Solaris 10. Everything seems to work except C++ exceptions which aren't caught.
On Solaris 11:
Here are my compiler and OS versions:
$ uname -a
SunOS tf-vdevmcps11-d001 5.11 11.3 i86pc i386 i86pc
$ g++ --version
g++ (GCC) 5.4.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
A simple test program.
$ cat foo.cxx
#include <iostream>
int main()
{
try {
throw 15; // f();
std::cout << "after f\n";
} catch (int i) {
std::cout << "caught " << i << '\n';
} catch (...) {
std::cout << "caught unknown exception\n";
}
}
It compiles and runs properly here:
$ g++ -fabi-version=2 -Wabi -o foo -g -m32 foo.cxx
$ ./foo
caught 15
These are the dynamic libraries it uses:
$ ldd foo
libstdc++.so.6 => /usr/lib/libstdc++.so.6
libm.so.2 => /lib/libm.so.2
librt.so.1 => /lib/librt.so.1
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
libc.so.1 => /lib/libc.so.1
On Solaris 10 it crashes:
$ ./foo
terminate called after throwing an instance of 'int'
Abort(coredump)
Here's the stack trace of the core file
$ pstack core
core 'core' of 10550: ./foo
fecca427 _lwp_kill (1, 6) + 7
fec720c3 raise (6) + 1f
fec51d2d abort (feffdd68, 9844246, 806ac20, fed40c10, 0, 0) + cd
fef24565 _ZN9__gnu_cxx27__verbose_terminate_handlerEv (0, feff0488, fef211cb, fef65e28, 8066240, 8047c30) + 175
fef211d7 _ZN10__cxxabiv111__terminateEPFvvE (fef243f0, 0, fef21235, fef21267, fef21259, fef65e28) + 17
fef21270 _ZN10__cxxabiv112__unexpectedEPFvvE (8066240, feff0488, fef21235, fef214cf, feffb818, 8047b6c)
fef214fe ???????? (8066260, 8061740, 0, fed32a40, 8047b80, fefcab34)
08051239 main (8051379, feffb818, 8047ba4, 8051053, 1, 8047bb0) + 35
08051053 _start (1, 8047c98, 0, 8047c9e, 8047ca6, 8047cad) + 83
Here are the dynamic libraries:
$ ldd foo
libstdc++.so.6 => /opt/csw/lib/libstdc++.so.6
libm.so.2 => /usr/lib/libm.so.2
librt.so.1 => /usr/lib/librt.so.1
libgcc_s.so.1 => /opt/csw/lib/libgcc_s.so.1
libc.so.1 => /usr/lib/libc.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libmd.so.1 => /usr/lib/libmd.so.1
The two GNU libraries are from 5.5 versions of the package:
>$ pkginfo -l CSWlibgcc-s1 CSWlibstdc++6
PKGINST: CSWlibgcc-s1
NAME: libgcc_s1 - The GNU Compiler Collection, libgcc_s.so.1
CATEGORY: application
ARCH: i386
VERSION: 5.5.0,REV=2017.10.23
BASEDIR: /
VENDOR: http://gcc.gnu.org packaged for CSW by Dagobert Michelsen
PSTAMP: dam#unstable10x-20171023221120
INSTDATE: Apr 22 2019 08:14
HOTLINE: http://www.opencsw.org/bugtrack/
EMAIL: dam#opencsw.org
STATUS: completely installed
FILES: 4 installed pathnames
1 directories
1883 blocks used (approx)
PKGINST: CSWlibstdc++6
NAME: libstdc++6 - The GNU Compiler Collection, libstdc++.so.6
CATEGORY: application
ARCH: i386
VERSION: 5.5.0,REV=2017.10.23
BASEDIR: /
VENDOR: http://gcc.gnu.org packaged for CSW by Dagobert Michelsen
PSTAMP: dam#unstable10x-20171023221408
INSTDATE: Apr 22 2019 08:06
HOTLINE: http://www.opencsw.org/bugtrack/
EMAIL: dam#opencsw.org
STATUS: completely installed
FILES: 6 installed pathnames
1 directories
2 executables
43873 blocks used (approx)

calabash-ios simulator stuck at 'launching took xxx seconds'

My simulator is starting up, and showing what looks like a successful launch:
Launching took 6.652245 seconds
Except the feature file isn't running ... it just sticks there. Could this be in simlauncher? Or maybe I have a config messed up?
It was running ok earlier ... then I ran a few other simulator tasks and it seems to be out of sync.
Thanks in advance !
debug info:
18:34 $ ./go.sh
Feature: getting started with ios android automation
Scenario: debug # features/getting_started.feature:3
INFO: Using uia strategy: 'preferences'
Preparation took 0.110554 seconds
Simulator instruction set 'x86_64' is compatible with ["i386", "x86_64"]
{
:app => "/Users/qa/repos/Foo-ios/test_harness/Build/Products/Debug-iphonesimulator/Foo-cal.app",
:args => [],
:bundle_dir_or_bundle_id => "/Users/qa/repos/Foo/test_harness/Build/Products/Debug-iphonesimulator/Foo-cal.app",
:bundle_id => "com.foo.bar.Foo-cal",
:device => "iphone",
:device_target => "simulator",
:launch_method => :instruments,
:launch_retries => 5,
:log_file => "/var/folders/6f/tmnbb60j62715sj_n1xt_crr0000gr/T/run_loop20150310-51884-g6i9qx/run_loop.out",
:no_launch => false,
:no_stop => false,
:reset => false,
:results_dir => "/var/folders/6f/tmnbb60j62715sj_n1xt_crr0000gr/T/run_loop20150310-51884-g6i9qx",
:results_dir_trace => "/var/folders/6f/tmnbb60j62715sj_n1xt_crr0000gr/T/run_loop20150310-51884-g6i9qx/trace",
:script => "/var/folders/6f/tmnbb60j62715sj_n1xt_crr0000gr/T/run_loop20150310-51884-g6i9qx/_run_loop.js",
:sdk_version => nil,
:udid => "iPhone 5s (8.1 Simulator)",
:uia_strategy => :preferences,
:xcode => "6.1.1",
:xcode_path => "/Applications/Xcode.app/Contents/Developer"
}
### Starting on simulator App: /Users/qa/repos/foo/test_harness/Build/Products/Debug-iphonesimulator/Foo-cal.app ###
2015-03-10 18:35:25 -0700 xcrun instruments -w iPhone 5s (8.1 Simulator) -D /var/folders/6f/tmnbb60j62715sj_n1xt_crr0000gr/T/run_loop20150310-51884-g6i9qx/trace -t Automation /Users/qa/repos/foo/test_harness/Build/Products/Debug-iphonesimulator/Foo-cal.app -e UIARESULTSPATH /var/folders/6f/tmnbb60j62715sj_n1xt_crr0000gr/T/run_loop20150310-51884-g6i9qx -e UIASCRIPT /var/folders/6f/tmnbb60j62715sj_n1xt_crr0000gr/T/run_loop20150310-51884-g6i9qx/_run_loop.js >& /var/folders/6f/tmnbb60j62715sj_n1xt_crr0000gr/T/run_loop20150310-51884-g6i9qx/run_loop.out
Launching took 6.652245 seconds

Qt 4.8.4 Release version not working on Windows 7 64 bit

I am trying to make a releasable version of a project. I tested the exe with the dlls included in the same directory on several different machines. It is running on my computer (windows 8 64 bit), a 32 bit windows xp virtual machine, a 32 bit windows 7 virtual machine, and another windows 7 64 bit laptop. Someone else, however, is trying to run it on another windows 7 64 bit machine. He is getting a Microsoft Visual C++ Runtime Library error that says:
This application has requested the Runtime to terminate in an unusual way. Please contact the application's support team for more information.
dlls I'm including in the application's directory:
libgcc_s_dw2-1.dll
libstdc++-6.dll
mingwm10.dll
QtCore4.dll
QtCored4.dll
QtGui4.dll
QtNetwork4.dll
QtSerialPortd.dll
This is what a ldd on the exe file looks like on my windows 8 computer where it is working:
ntdll.dll => /cygdrive/c/windows/SYSTEM32/ntdll.dll (0x7fc44b50000)
ntdll.dll => /cygdrive/c/windows/SYSTEM32/ntdll.dll (0x77730000)
wow64.dll => /cygdrive/c/windows/SYSTEM32/wow64.dll (0x776e0000)
wow64win.dll => /cygdrive/c/windows/system32/wow64win.dll (0x77670000)
wow64cpu.dll => /cygdrive/c/windows/system32/wow64cpu.dll (0x776d0000)
??? => ??? (0x540000)
KERNEL32.DLL => /cygdrive/c/windows/SYSTEM32/KERNEL32.DLL (0x75680000)
??? => ??? (0x540000)
??? => ??? (0x540000)
KERNEL32.DLL => /cygdrive/c/windows/SYSTEM32/KERNEL32.DLL (0x75680000)
KERNELBASE.dll => /cygdrive/c/windows/SYSTEM32/KERNELBASE.dll (0x76da0000)
msvcrt.dll => /cygdrive/c/windows/SYSTEM32/msvcrt.dll (0x76ba0000)
WSOCK32.DLL => /cygdrive/c/windows/SYSTEM32/WSOCK32.DLL (0x747e0000)
libgcc_s_dw2-1.dll => /cygdrive/c/Mingw32/bin/libgcc_s_dw2-1.dll (0x6e940000)
libstdc++-6.dll => /cygdrive/c/Mingw32/bin/libstdc++-6.dll (0x6fc40000)
QtCore4.dll => /cygdrive/c/Qt/4.8.4/bin/QtCore4.dll (0x6e0c0000)
QtGui4.dll => /cygdrive/c/Qt/4.8.4/bin/QtGui4.dll (0x67700000)
QtNetwork4.dll => /cygdrive/c/Qt/4.8.4/bin/QtNetwork4.dll (0x65c80000)
QtSerialPortd.dll => /cygdrive/c/Qt/4.8.4/bin/QtSerialPortd.dll (0x63680000)
WS2_32.dll => /cygdrive/c/windows/SYSTEM32/WS2_32.dll (0x76e50000)
ADVAPI32.DLL => /cygdrive/c/windows/SYSTEM32/ADVAPI32.DLL (0x74e60000)
mingwm10.dll => /cygdrive/c/Mingw32/bin/mingwm10.dll (0x6fbc0000)
OLE32.dll => /cygdrive/c/windows/SYSTEM32/OLE32.dll (0x74f20000)
USER32.dll => /cygdrive/c/windows/SYSTEM32/USER32.dll (0x76c80000)
COMDLG32.DLL => /cygdrive/c/windows/SYSTEM32/COMDLG32.DLL (0x75800000)
GDI32.dll => /cygdrive/c/windows/SYSTEM32/GDI32.dll (0x75250000)
IMM32.DLL => /cygdrive/c/windows/SYSTEM32/IMM32.DLL (0x76eb0000)
OLEAUT32.DLL => /cygdrive/c/windows/SYSTEM32/OLEAUT32.DLL (0x76ed0000)
SHELL32.DLL => /cygdrive/c/windows/SYSTEM32/SHELL32.DLL (0x75ad0000)
WINMM.DLL => /cygdrive/c/windows/SYSTEM32/WINMM.DLL (0x747b0000)
WINSPOOL.DRV => /cygdrive/c/windows/SYSTEM32/WINSPOOL.DRV (0x73800000)
setupapi.dll => /cygdrive/c/windows/SYSTEM32/setupapi.dll (0x750a0000)
QtCored4.dll => /cygdrive/c/Qt/4.8.4/bin/QtCored4.dll (0x69cc0000)
RPCRT4.dll => /cygdrive/c/windows/SYSTEM32/RPCRT4.dll (0x775c0000)
NSI.dll => /cygdrive/c/windows/SYSTEM32/NSI.dll (0x76ea0000)
sechost.dll => /cygdrive/c/windows/SYSTEM32/sechost.dll (0x77510000)
combase.dll => /cygdrive/c/windows/SYSTEM32/combase.dll (0x753d0000)
SHLWAPI.dll => /cygdrive/c/windows/SYSTEM32/SHLWAPI.dll (0x75a90000)
COMCTL32.dll => /cygdrive/c/windows/WinSxS/x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.9200.16658_none_bf1359a245f1cd12/COMCTL32.dll (0x73cd0000)
MSCTF.dll => /cygdrive/c/windows/SYSTEM32/MSCTF.dll (0x74d80000)
WINMMBASE.dll => /cygdrive/c/windows/SYSTEM32/WINMMBASE.dll (0x74780000)
CFGMGR32.dll => /cygdrive/c/windows/SYSTEM32/CFGMGR32.dll (0x77020000)
DEVOBJ.dll => /cygdrive/c/windows/SYSTEM32/DEVOBJ.dll (0x77070000)
SspiCli.dll => /cygdrive/c/windows/SYSTEM32/SspiCli.dll (0x74d60000)
CRYPTBASE.dll => /cygdrive/c/windows/SYSTEM32/CRYPTBASE.dll (0x74d50000)
SHCORE.DLL => /cygdrive/c/windows/SYSTEM32/SHCORE.DLL (0x74700000)
bcryptPrimitives.dll => /cygdrive/c/windows/SYSTEM32/bcryptPrimitives.dll (0x74cf0000)
Edit:
I rebuilt the release version on an XP machine. It looks like the libstdc++-6.dll is no longer showing up in ldd.
ldd on the 32 bit Windows XP machine it was built on (working):
ntdll.dll => /cygdrive/c/WINDOWS/system32/ntdll.dll (0x7c900000)
kernel32.dll => /cygdrive/c/WINDOWS/system32/kernel32.dll (0x7c800000)
QtCore4.dll => /cygdrive/c/QtSDK/Desktop/Qt/4.7.4/mingw/bin/QtCore4.dll (0x6a1c0000)
ADVAPI32.DLL => /cygdrive/c/WINDOWS/system32/ADVAPI32.DLL (0x77dd0000)
RPCRT4.dll => /cygdrive/c/WINDOWS/system32/RPCRT4.dll (0x77e70000)
Secur32.dll => /cygdrive/c/WINDOWS/system32/Secur32.dll (0x77fe0000)
mingwm10.dll => /cygdrive/c/QtSDK/mingw/bin/mingwm10.dll (0x6fbc0000)
msvcrt.dll => /cygdrive/c/WINDOWS/system32/msvcrt.dll (0x77c10000)
OLE32.dll => /cygdrive/c/WINDOWS/system32/OLE32.dll (0x774e0000)
GDI32.dll => /cygdrive/c/WINDOWS/system32/GDI32.dll (0x77f10000)
USER32.dll => /cygdrive/c/WINDOWS/system32/USER32.dll (0x7e410000)
WS2_32.DLL => /cygdrive/c/WINDOWS/system32/WS2_32.DLL (0x71ab0000)
WS2HELP.dll => /cygdrive/c/WINDOWS/system32/WS2HELP.dll (0x71aa0000)
libgcc_s_dw2-1.dll => /cygdrive/c/QtSDK/mingw/bin/libgcc_s_dw2-1.dll (0x6e940000)
QtGui4.dll => /cygdrive/c/QtSDK/Desktop/Qt/4.7.4/mingw/bin/QtGui4.dll (0x65100000)
COMDLG32.DLL => /cygdrive/c/WINDOWS/system32/COMDLG32.DLL (0x763b0000)
COMCTL32.dll => /cygdrive/c/WINDOWS/system32/COMCTL32.dll (0x5d090000)
SHELL32.dll => /cygdrive/c/WINDOWS/system32/SHELL32.dll (0x7c9c0000)
SHLWAPI.dll => /cygdrive/c/WINDOWS/system32/SHLWAPI.dll (0x77f60000)
IMM32.DLL => /cygdrive/c/WINDOWS/system32/IMM32.DLL (0x76390000)
OLEAUT32.DLL => /cygdrive/c/WINDOWS/system32/OLEAUT32.DLL (0x77120000)
WINMM.DLL => /cygdrive/c/WINDOWS/system32/WINMM.DLL (0x76b40000)
WINSPOOL.DRV => /cygdrive/c/WINDOWS/system32/WINSPOOL.DRV (0x73000000)
QtNetwork4.dll => /cygdrive/c/QtSDK/Desktop/Qt/4.7.4/mingw/bin/QtNetwork4.dll (0x6ff00000)
QtSerialPortd.dll => /cygdrive/c/QtSDK/Desktop/Qt/4.7.4/mingw/bin/QtSerialPortd.dll (0x6ef80000)
QtCored4.dll => /cygdrive/c/QtSDK/Desktop/Qt/4.7.4/mingw/bin/QtCored4.dll (0x680000)
setupapi.dll => /cygdrive/c/WINDOWS/system32/setupapi.dll (0x77920000)
WSOCK32.DLL => /cygdrive/c/WINDOWS/system32/WSOCK32.DLL (0x71ad0000)
ldd on the Windows 8 computer (working) :
ntdll.dll => /cygdrive/c/windows/SYSTEM32/ntdll.dll (0x7fc44b50000)
ntdll.dll => /cygdrive/c/windows/SYSTEM32/ntdll.dll (0x77730000)
wow64.dll => /cygdrive/c/windows/SYSTEM32/wow64.dll (0x776e0000)
wow64win.dll => /cygdrive/c/windows/system32/wow64win.dll (0x77670000)
wow64cpu.dll => /cygdrive/c/windows/system32/wow64cpu.dll (0x776d0000)
??? => ??? (0x2b0000)
KERNEL32.DLL => /cygdrive/c/windows/SYSTEM32/KERNEL32.DLL (0x75680000)
??? => ??? (0x2b0000)
??? => ??? (0x2b0000)
KERNEL32.DLL => /cygdrive/c/windows/SYSTEM32/KERNEL32.DLL (0x75680000)
KERNELBASE.dll => /cygdrive/c/windows/SYSTEM32/KERNELBASE.dll (0x76da0000)
apphelp.dll => /cygdrive/c/windows/system32/apphelp.dll (0x73de0000)
msvcrt.dll => /cygdrive/c/windows/SYSTEM32/msvcrt.dll (0x76ba0000)
WSOCK32.DLL => /cygdrive/c/windows/SYSTEM32/WSOCK32.DLL (0x747e0000)
libgcc_s_dw2-1.dll => /cygdrive/c/users/jared/documents/telkonet/ESU Release/test/esutest/libgcc_s_dw2-1.dll (0x6e940000)
libstdc++-6.dll => /cygdrive/c/users/jared/documents/telkonet/ESU Release/test/esutest/libstdc++-6.dll (0x6fc40000)
QtCore4.dll => /cygdrive/c/users/jared/documents/telkonet/ESU Release/test/esutest/QtCore4.dll (0x6e0c0000)
QtGui4.dll => /cygdrive/c/users/jared/documents/telkonet/ESU Release/test/esutest/QtGui4.dll (0x67700000)
QtNetwork4.dll => /cygdrive/c/users/jared/documents/telkonet/ESU Release/test/esutest/QtNetwork4.dll (0x65c80000)
QtSerialPortd.dll => /cygdrive/c/users/jared/documents/telkonet/ESU Release/test/esutest/QtSerialPortd.dll (0x63680000)
WS2_32.dll => /cygdrive/c/windows/SYSTEM32/WS2_32.dll (0x76e50000)
ADVAPI32.DLL => /cygdrive/c/windows/SYSTEM32/ADVAPI32.DLL (0x74e60000)
mingwm10.dll => /cygdrive/c/users/jared/documents/telkonet/ESU Release/test/esutest/mingwm10.dll (0x6fbc0000)
OLE32.dll => /cygdrive/c/windows/SYSTEM32/OLE32.dll (0x74f20000)
USER32.dll => /cygdrive/c/windows/SYSTEM32/USER32.dll (0x76c80000)
COMDLG32.DLL => /cygdrive/c/windows/SYSTEM32/COMDLG32.DLL (0x75800000)
GDI32.dll => /cygdrive/c/windows/SYSTEM32/GDI32.dll (0x75250000)
IMM32.DLL => /cygdrive/c/windows/SYSTEM32/IMM32.DLL (0x76eb0000)
OLEAUT32.DLL => /cygdrive/c/windows/SYSTEM32/OLEAUT32.DLL (0x76ed0000)
SHELL32.DLL => /cygdrive/c/windows/SYSTEM32/SHELL32.DLL (0x75ad0000)
WINMM.DLL => /cygdrive/c/windows/SYSTEM32/WINMM.DLL (0x747b0000)
WINSPOOL.DRV => /cygdrive/c/windows/SYSTEM32/WINSPOOL.DRV (0x73800000)
setupapi.dll => /cygdrive/c/windows/SYSTEM32/setupapi.dll (0x750a0000)
QtCored4.dll => /cygdrive/c/Qt/4.8.4/bin/QtCored4.dll (0x69cc0000)
RPCRT4.dll => /cygdrive/c/windows/SYSTEM32/RPCRT4.dll (0x775c0000)
NSI.dll => /cygdrive/c/windows/SYSTEM32/NSI.dll (0x76ea0000)
sechost.dll => /cygdrive/c/windows/SYSTEM32/sechost.dll (0x77510000)
combase.dll => /cygdrive/c/windows/SYSTEM32/combase.dll (0x753d0000)
SHLWAPI.dll => /cygdrive/c/windows/SYSTEM32/SHLWAPI.dll (0x75a90000)
COMCTL32.dll => /cygdrive/c/windows/WinSxS/x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.9200.16658_none_bf1359a245f1cd12/COMCTL32.dll (0x73cd0000)
MSCTF.dll => /cygdrive/c/windows/SYSTEM32/MSCTF.dll (0x74d80000)
WINMMBASE.dll => /cygdrive/c/windows/SYSTEM32/WINMMBASE.dll (0x74780000)
CFGMGR32.dll => /cygdrive/c/windows/SYSTEM32/CFGMGR32.dll (0x77020000)
DEVOBJ.dll => /cygdrive/c/windows/SYSTEM32/DEVOBJ.dll (0x77070000)
SspiCli.dll => /cygdrive/c/windows/SYSTEM32/SspiCli.dll (0x74d60000)
CRYPTBASE.dll => /cygdrive/c/windows/SYSTEM32/CRYPTBASE.dll (0x74d50000)
SHCORE.DLL => /cygdrive/c/windows/SYSTEM32/SHCORE.DLL (0x74700000)
bcryptPrimitives.dll => /cygdrive/c/windows/SYSTEM32/bcryptPrimitives.dll (0x74cf0000)
ldd on the Windows 7 64 bit (working):
ntdll.dll => /cygdrive/c/Windows/SYSTEM32/ntdll.dll (0x76f30000)
ntdll.dll => /cygdrive/c/Windows/SysWOW64/ntdll.dll (0x77110000)
wow64.dll => /cygdrive/c/Windows/SYSTEM32/wow64.dll (0x72c50000)
wow64win.dll => /cygdrive/c/Windows/SYSTEM32/wow64win.dll (0x72bf0000)
wow64cpu.dll => /cygdrive/c/Windows/SYSTEM32/wow64cpu.dll (0x72be0000)
??? => ??? (0x76d10000)
kernel32.dll => /cygdrive/c/Windows/syswow64/kernel32.dll (0x75670000)
??? => ??? (0x76d10000)
??? => ??? (0x76e30000)
kernel32.dll => /cygdrive/c/Windows/syswow64/kernel32.dll (0x75670000)
KERNELBASE.dll => /cygdrive/c/Windows/syswow64/KERNELBASE.dll (0x76a30000)
QtCore4.dll => /cygdrive/c/users/admin/downloads/esutestexe/QtCore4.dll (0x6a1c0000)
ADVAPI32.DLL => /cygdrive/c/Windows/syswow64/ADVAPI32.DLL (0x74c90000)
msvcrt.dll => /cygdrive/c/Windows/syswow64/msvcrt.dll (0x75570000)
sechost.dll => /cygdrive/c/Windows/SysWOW64/sechost.dll (0x74f70000)
RPCRT4.dll => /cygdrive/c/Windows/syswow64/RPCRT4.dll (0x75480000)
SspiCli.dll => /cygdrive/c/Windows/syswow64/SspiCli.dll (0x74b60000)
CRYPTBASE.dll => /cygdrive/c/Windows/syswow64/CRYPTBASE.dll (0x74b50000)
mingwm10.dll => /cygdrive/c/users/admin/downloads/esutestexe/mingwm10.dll (0x6fbc0000)
OLE32.dll => /cygdrive/c/Windows/syswow64/OLE32.dll (0x768c0000)
GDI32.dll => /cygdrive/c/Windows/syswow64/GDI32.dll (0x76c80000)
USER32.dll => /cygdrive/c/Windows/syswow64/USER32.dll (0x76740000)
LPK.dll => /cygdrive/c/Windows/syswow64/LPK.dll (0x74fe0000)
USP10.dll => /cygdrive/c/Windows/syswow64/USP10.dll (0x74bc0000)
WS2_32.DLL => /cygdrive/c/Windows/syswow64/WS2_32.DLL (0x74f90000)
NSI.dll => /cygdrive/c/Windows/syswow64/NSI.dll (0x76a20000)
libgcc_s_dw2-1.dll => /cygdrive/c/users/admin/downloads/esutestexe/libgcc_s_dw2-1.dll (0x6e940000)
QtGui4.dll => /cygdrive/c/users/admin/downloads/esutestexe/QtGui4.dll (0x65100000)
COMDLG32.DLL => /cygdrive/c/Windows/syswow64/COMDLG32.DLL (0x764c0000)
SHLWAPI.dll => /cygdrive/c/Windows/syswow64/SHLWAPI.dll (0x76b20000)
COMCTL32.dll => /cygdrive/c/Windows/WinSxS/x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.18201_none_ec80f00e8593ece5/COMCTL32.dll (0x72010000)
SHELL32.dll => /cygdrive/c/Windows/syswow64/SHELL32.dll (0x75790000)
IMM32.DLL => /cygdrive/c/Windows/syswow64/IMM32.DLL (0x76840000)
MSCTF.dll => /cygdrive/c/Windows/syswow64/MSCTF.dll (0x763e0000)
OLEAUT32.DLL => /cygdrive/c/Windows/syswow64/OLEAUT32.DLL (0x76a90000)
WINMM.DLL => /cygdrive/c/Windows/system32/WINMM.DLL (0x725b0000)
WINSPOOL.DRV => /cygdrive/c/Windows/system32/WINSPOOL.DRV (0x720a0000)
QtNetwork4.dll => /cygdrive/c/users/admin/downloads/esutestexe/QtNetwork4.dll (0x6ff00000)
QtSerialPortd.dll => /cygdrive/c/users/admin/downloads/esutestexe/QtSerialPortd.dll (0x6ef80000)
QtCored4.dll => /cygdrive/c/users/admin/downloads/esutestexe/QtCored4.dll (0x7f0000)
setupapi.dll => /cygdrive/c/Windows/syswow64/setupapi.dll (0x74ff0000)
CFGMGR32.dll => /cygdrive/c/Windows/syswow64/CFGMGR32.dll (0x74d40000)
DEVOBJ.dll => /cygdrive/c/Windows/syswow64/DEVOBJ.dll (0x768a0000)
WSOCK32.DLL => /cygdrive/c/Windows/system32/WSOCK32.DLL (0x661d0000)
ldd on the Windows 7 64 bit machine (not working):
ntdll.dll => /cygdrive/c/Windows/SYSTEM32/ntdll.dll (0x76cf0000)
ntdll.dll => /cygdrive/c/Windows/SysWOW64/ntdll.dll (0x76ed0000)
wow64.dll => /cygdrive/c/Windows/SYSTEM32/wow64.dll (0x748b0000)
wow64win.dll => /cygdrive/c/Windows/SYSTEM32/wow64win.dll (0x74850000)
wow64cpu.dll => /cygdrive/c/Windows/SYSTEM32/wow64cpu.dll (0x74840000)
??? => ??? (0x76ad0000)
kernel32.dll => /cygdrive/c/Windows/syswow64/kernel32.dll (0x76560000)
??? => ??? (0x76ad0000)
??? => ??? (0x76bf0000)
kernel32.dll => /cygdrive/c/Windows/syswow64/kernel32.dll (0x76560000)
KERNELBASE.dll => /cygdrive/c/Windows/syswow64/KERNELBASE.dll (0x7522000 0)
QtCore4.dll => /cygdrive/c/Users/bschwanke/Desktop/ESUtestEXE/QtCore4.dl l (0x6a1c0000)
ADVAPI32.DLL => /cygdrive/c/Windows/syswow64/ADVAPI32.DLL (0x74a70000)
msvcrt.dll => /cygdrive/c/Windows/syswow64/msvcrt.dll (0x74e10000)
sechost.dll => /cygdrive/c/Windows/SysWOW64/sechost.dll (0x76ab0000)
RPCRT4.dll => /cygdrive/c/Windows/syswow64/RPCRT4.dll (0x75130000)
SspiCli.dll => /cygdrive/c/Windows/syswow64/SspiCli.dll (0x74920000)
CRYPTBASE.dll => /cygdrive/c/Windows/syswow64/CRYPTBASE.dll (0x74910000)
mingwm10.dll => /cygdrive/c/Users/bschwanke/Desktop/ESUtestEXE/mingwm10. dll (0x6fbc0000)
OLE32.dll => /cygdrive/c/Windows/syswow64/OLE32.dll (0x76390000)
GDI32.dll => /cygdrive/c/Windows/syswow64/GDI32.dll (0x749e0000)
USER32.dll => /cygdrive/c/Windows/syswow64/USER32.dll (0x761a0000)
LPK.dll => /cygdrive/c/Windows/syswow64/LPK.dll (0x76ea0000)
USP10.dll => /cygdrive/c/Windows/syswow64/USP10.dll (0x75270000)
WS2_32.DLL => /cygdrive/c/Windows/syswow64/WS2_32.DLL (0x74b10000)
NSI.dll => /cygdrive/c/Windows/syswow64/NSI.dll (0x74ec0000)
libgcc_s_dw2-1.dll => /cygdrive/c/Users/bschwanke/Desktop/ESUtestEXE/lib gcc_s_dw2-1.dll (0x6e940000)
QtGui4.dll => /cygdrive/c/Users/bschwanke/Desktop/ESUtestEXE/QtGui4.dll (0x65100000)
COMDLG32.DLL => /cygdrive/c/Windows/syswow64/COMDLG32.DLL (0x76680000)
SHLWAPI.dll => /cygdrive/c/Windows/syswow64/SHLWAPI.dll (0x74ee0000)
COMCTL32.dll => /cygdrive/c/Windows/WinSxS/x86_microsoft.windows.common- controls_6595b64144ccf1df_5.82.7601.18201_none_ec80f00e8593ece5/COMCTL32.dll (0x 733e0000)
SHELL32.dll => /cygdrive/c/Windows/syswow64/SHELL32.dll (0x753b0000)
IMM32.DLL => /cygdrive/c/Windows/syswow64/IMM32.DLL (0x74980000)
MSCTF.dll => /cygdrive/c/Windows/syswow64/MSCTF.dll (0x762b0000)
OLEAUT32.DLL => /cygdrive/c/Windows/syswow64/OLEAUT32.DLL (0x767a0000)
WINMM.DLL => /cygdrive/c/Windows/system32/WINMM.DLL (0x73e80000)
WINSPOOL.DRV => /cygdrive/c/Windows/system32/WINSPOOL.DRV (0x74240000)
QtNetwork4.dll => /cygdrive/c/Users/bschwanke/Desktop/ESUtestEXE/QtNetwo rk4.dll (0x6ff00000)
QtSerialPortd.dll => /cygdrive/c/Users/bschwanke/Desktop/ESUtestEXE/QtSe rialPortd.dll (0x6ef80000)
QtCored4.dll => /cygdrive/c/Users/bschwanke/Desktop/ESUtestEXE/QtCored4. dll (0x780000)
setupapi.dll => /cygdrive/c/Windows/syswow64/setupapi.dll (0x76000000)
CFGMGR32.dll => /cygdrive/c/Windows/syswow64/CFGMGR32.dll (0x76770000)
DEVOBJ.dll => /cygdrive/c/Windows/syswow64/DEVOBJ.dll (0x74df0000)
WSOCK32.DLL => /cygdrive/c/Windows/system32/WSOCK32.DLL (0x73120000)
Does the computer that is giving you the Microsoft Visual C++ Runtime Library have the Microsoft Visual C++ redistributable package installed on it? Any computer that does not have the same version of the compiler used to build your program will need the redist package installed so that the executable can load those libraries at runtime.
This page has links to the various redist packages available for download.
Also, with your list of distributed DLLs, you have both QtCore4.dll and QtCored4.dll. The one with a 'd' is a debug DLL and won't be loaded by your Release-built executable. You are also only distributing the debug version of QtSerialPortd.dll, so you should switch that over to the release version as well (drop the 'd').
Well I figured it out. It is an issue with DB9 serial com port.
The application uses serial port connections to a device. The computer it wasn't working on had an old DB9 serial port on it. The other computers only had USB ports. When we plugged in a DB9 serial cable the application ran just fine.
There are some 3rd party libraries dealing with some of the serial port stuff so I'll have to take a look at that.

How to link shared library against alternate version of libGL?

I built a local version of OpenGL under my home directory. I want to link another shared library against it, but for some reason the linker still links it against the one under /usr/lib, as reported by ldd:
$ cc -o lib/libtfont.so -shared -Wl,-soname,/home/wknight/proj/wkl/tfont.lib/lib/libtfont.so tfont.o -L/home/wknight/proj/wkl/img.lib/lib -limg -L/home/wknight/swtools/opengl/lib -lGL -lGLU
$ ldd lib/libtfont.so
linux-gate.so.1 => (0xb7710000)
/home/wknight/proj/wkl/img.lib/lib/libimg.so (0xb76fc000)
libGL.so.1 => /usr/lib/libGL.so.1 (0xb7689000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0xb7618000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb74d1000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb73b4000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb73a5000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0xb73a0000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb739c000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb7397000)
libdrm.so.2 => /usr/lib/libdrm.so.2 (0xb738d000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7367000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb734e000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7349000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7254000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7236000)
/lib/ld-linux.so.2 (0xb7711000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb721d000)
librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb7214000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb7211000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb720b000)
$ ls -l /home/wknight/swtools/opengl/lib/libGL*
lrwxrwxrwx 1 wknight wknight 10 Jan 25 16:57 /home/wknight/swtools/opengl/lib/libGL.so -> libGL.so.1
lrwxrwxrwx 1 wknight wknight 12 Jan 25 16:57 /home/wknight/swtools/opengl/lib/libGL.so.1 -> libGL.so.1.2
-rwxr-xr-x 1 wknight wknight 1836469 Jan 25 16:57 /home/wknight/swtools/opengl/lib/libGL.so.1.2
lrwxrwxrwx 1 wknight wknight 11 Jan 25 16:57 /home/wknight/swtools/opengl/lib/libGLU.so -> libGLU.so.1
lrwxrwxrwx 1 wknight wknight 20 Jan 25 16:57 /home/wknight/swtools/opengl/lib/libGLU.so.1 -> libGLU.so.1.3.070900
-rwxr-xr-x 1 wknight wknight 1634905 Jan 25 16:57 /home/wknight/swtools/opengl/lib/libGLU.so.1.3.070900
lrwxrwxrwx 1 wknight wknight 11 Jan 25 16:57 /home/wknight/swtools/opengl/lib/libGLw.so -> libGLw.so.1
lrwxrwxrwx 1 wknight wknight 15 Jan 25 16:57 /home/wknight/swtools/opengl/lib/libGLw.so.1 -> libGLw.so.1.0.0
-rwxr-xr-x 1 wknight wknight 37068 Jan 25 16:57 /home/wknight/swtools/opengl/lib/libGLw.so.1.0.0
$
This happens even if I rename my local version of libGL.so and link against the new name. So something is happening behind the scenes that I don't understand. Is the linker looking in ld.so.cache or something? How can I override it?
I found the answer - I just needed to set LD_LIBRARY_PATH to my local version of libGL.so:
$ export LD_LIBRARY_PATH=$HOME/swtools/opengl/lib
$ ldd lib/libtfont.so
linux-gate.so.1 => (0xb778c000)
/home/wknight/proj/wkl/img.lib/lib/libimg.so (0xb7778000)
libGL.so.1 => /home/wknight/swtools/opengl/lib/libGL.so.1 (0xb771f000)
libGLU.so.1 => /home/wknight/swtools/opengl/lib/libGLU.so.1 (0xb76ae000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7559000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb743c000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb742d000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb742a000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb7424000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0xb741f000)
libdrm.so.2 => /usr/lib/libdrm.so.2 (0xb7415000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb73fc000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb73f8000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7302000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb72dc000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb72be000)
/lib/ld-linux.so.2 (0xb778d000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb72a5000)
librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb729c000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb7299000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7293000)
$
This now makes sense to me when I consider that ldd must use the runtime environment in reporting shared library dependencies, not just what is present in the shared library itself. I would have set LD_LIBRARY_PATH before using some executable linked against the shared library, but it didn't occur to me until now that I must also set it for examining the shared library itself.
I built a local version of OpenGL under my home directory
Why? What is your intention doing this? OpenGL is not so much a library, but a specification. What you built is most likely MesaGL. MesaGL does offer HW accelerated OpenGL only with a certain subset of drivers, which also must match your very MesaGL version. Without them, MesaGL will drop into a slow software rasterizer fallback.
As a general rule you always link your program dynamically to the system's libGL.so. If there's no libGL.so present shipping a fallback implementation makes sense only if you can deal with a very slow software rasterizer. Otherwise I'd be better to just inform the user about his systems shortcomings and that either a better GPU must be installed, or the driver installation fixed.
Anyway, if you want to change the path a library is searched in, you should look into the rpath linker flag.