This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Best way of compiling applications to run on older linux distros


but isn't it sufficient to copy ALL new libraries with which your application is dynamically linked

That's what we'd hoped.
The problem seems to be with the change in the dynamic linker hash style. We write in C++, so we link to libstdc++. So we have to ship libstdc++ for this approach to work.
However if you build on a version of fedora later than about 5, the dynamic libraries are not compatible with eariler versions, unless you pass the --hash-style=sysv linker option. This is fine for our code, we can easily just configure that in our makefiles. The difficulty is that libstdc++ isn't built like that, so you can't ship the libstdc++ that comes is part of the compiler. It's not clear whether if I rebuilt gcc with perhaps CFLAGS=-Wl,--hash-style=sysv in the environment that would get me a gcc with a libstdc++ that was linked in a suitable way.


The version of glibc that you link to seems a critical issue as it sounds like it's not possible, or at least recommended, to upgrade glibc. I had hoped that I'd be able to pass a compiler option, or set a #define that limited the functions available in the header files, and thus restricted the version of glibc that was required. This is what I'd do on windows, or AIX. Can't find any documentation on how I'd do that in gcc though, but I'm probably just missing something.

Doesn't seem that simple though.


______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email ______________________________________________________________________



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]