[Gtkradiant] CVS: These changes allow GtkRadiant 1.2.x to be built and run using gcc3.2...

EvilTypeGuy gtkradiant@zerowing.idsoftware.com
02 Nov 2002 13:32:57 -0600

On Sat, 2002-11-02 at 12:29, Timothee Besset wrote: 
> This is good and bad at the same time. Distributing software in binary
> form is not simple. Obviously you can't just compile it for release from a
> RH 8 with gcc 3.2 box, I know from experience that it is not going to run
> well for others. I am still using a Mandrake 7.2 with gcc 2.95-something
> as the 'holy box' for the builds.

Right, unless of course you're making a release for a RedHat 8.0 box ;) 

I know indeed that a binary compiled on this box will not run well on
others because of the ABI differences. 

> ETG, have you looked at
> http://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=651 ? This
> particular checkin is probably a good thing, I will tell you when I get a
> chance to look at it. But it's not the core of the problem...

Oh, I realize it isn't the core of the problem. But it was one big step
that was necessary for anyone that wants to develop GtkRadiant on a gcc
3.x box. Without the changes I made it wouldn't even compile, nevermind
the huge spewage of warnings. 

I do believe your comment about finding a way to static link libstdc++
is probably a Good Thing(TM). Here's the ldd output for radiant.x86 on
my box: 

[drevil@virtucon ~/games/GtkRadiant-1.2]$ ldd radiant.x86 
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0x40022000) 
        libz.so.1 => /usr/lib/libz.so.1 (0x400cb000) 
        libm.so.6 => /lib/i686/libm.so.6 (0x400d9000) 
        libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0x400fb000) 
        libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0x40255000) 
        libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0x4028e000)
        libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x40291000) 
        libdl.so.2 => /lib/libdl.so.2 (0x402b8000) 
        libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x402bb000) 
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x402c3000) 
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x402d1000) 
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x403af000) 
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000) 
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40462000) 
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) 

Maybe creating a fully static linked library would be better even?