Originally Posted by sbaratam
I am a newbie to Linux programming and need help. We build our application on gcc version 3.3.3 (SuSE Linux). I am trying to build a test application on RHAT ( gcc version 3.4.6 20060404) linking one shared object built on the SuSe machine. However, when I try to build it using g++, I get the following warning message:
/usr/bin/ld: warning: libstdc++.so.5, needed by sdk.so, may conflict with libstdc++.so.6
When I execute the test application, it core dumps. How do I fix this problem?
All help is appreciated.
Mixing shared libraries in the way you did is a really bad idea.
If you want maximum portability than (usually) the way to build your application on the oldest distro.
But you case complicated by using libstdc++.so.5
Older distros has this library while newer - libstdc++.so.6
So if you build your application against libstdc++.so.5 then to use your application on the newer distro your customers should install compatibility package with libstdc++.so.5
Or you can use statifier (http://statifier.sf.net
) or Ermine (http://magicErmine.com
) to create from your application self-contained executable.
This executable has no dependencies and able to run on any Linux box with compatible arch and kernel new enough