![](https://seccdn.libravatar.org/avatar/e038fe44cef10890b17744d5c8561583.jpg?s=120&d=mm&r=g)
From: Mark Gray <markgray@iago.nac.net> Date: 03 Dec 2000 01:00:43 -0500 Message-ID: <6sd7fahwms.fsf@iago.nac.net> Subject: Re: [SLE] compiling on linux "Jeff Barnes" <hoctopus@netzero.net> writes:
My understanding of the restrictions that Linus put on Linux was that was that a program on one linux operating system had to be compatible with another operating system.
He has said nothing about application programs that I know of.
I have compiled a program with g++ compiler on suse linux and transferred the executable to a server running rad hat linux. If I compile this source code on the server it works but if I compile the same source code on desktop and ftp up executable it does not work. Both machines running 586. I looked at the server executbale and it was 20k in size. The executable on my system was about 30k using the same source code. Is this incompatability my fault?
Redhat-7.0 uses a beta version of gcc/g++ which uses a new and incompatible name mangling convention so you cannot run c++ programs compiled with earlier versions of g++ on redhat-7.0 and vice versa (unless you statically link them, but c++ statically linked programs are absolutely huge.) The egcs people seem to suggest that they will be returning to the old name mangling convention before releasing the next version (as I read it) and were a bit upset that redhat included the beta g++ (but it is a more advanced/standards compliant version.)
Could this be because I have my hard drive in 32 bit mode and maybe server in 16 bit mode?
No such thing in Linux -- see above.
Does anyone have any ideas how I can fix this? I find this confusing because I downloaded from another companies site once and it worked on my suse.
You probably should take a look at www.dejanews.com, www.google.com, the archive of the egcs lists at www.cygnus.com, or the archives of the redhat lists (if you can find them) for an answer -- there was quite a bit of anger when people first found out about the problem, so there is probably an answer in there somewhere (I gave redhat-7.0 a miss myself.)