On 29 November 2010 13:40, Mr Dash Four wrote: > >> P.S. If you just want to build GCC from source (rather than building >> the Fedora GCC package from the Fedora GCC SRPM) then the instructions >> are at http://gcc.gnu.org/install/ >> >> That will not try to build java or ada, will not run the tests unless >> you ask for it, and will build a multilib compiler by default. >> > > The problem is that I wanted to build rpm, which I can use later on more > than one machine - not just on the machine I was compiling GCC on. > >> That said, the default Fedora packages *are* multilib, you just needed >> to install libgcc.i686 as Andrew pointed out. > > My major gripe is with the gcc.spec file provided by Fedora - it does not do > a good job at all. So take it up with Fedora. > I ended up installing more packages than the one you and Andrew were kind > enough to point out as I had a lot of dead symlinks - I wrote this in my > previous post and thought I was pretty clear on this. Installing libgcc.i686 > along with the main GCC package does NOT solve that problem. No, as you discovered, you also need glibc-devel.i686 to compile and link 32-bit programs. Just like you need glibc-devel.x86_64 to compile and link 64-bit programs. That's still a Fedora issue not a GCC one. > Another issue I have (had!) is that if I wanted to build GCC to be installed > on a Fedora system using gcc.spec - provided by Fedora, no less - I expect > at the end of this process to end up with all the necessary packages needed > (x86_64 AND i686 if I select the multilib option) for GCC to function > properly and with all the functionality I have requested/specified. I do not > expect to end up with half-ars*d installation and dead links all over the > place. > > If I choose to install GCC directly (without compiling it) by using > Fedora-pre-built GCC rpm, and, as you point out, if it is already a multilib > package, then I expect it to install all the dependencies needed for it to > function properly and not leave me scratching my head wondering what the > hell is going on, wouldn't you agree? That depends on your definition of "function properly" I can't speak for the Fedora project, but I think what you get by default by saying "yum install gcc" is sufficient to build 64-bit programs. The compiler itself is multilib-capable, but doesn't pull in the other package dependencies needed to actually build 32-bit programs. If it did, I'm sure there'd be angry users complaining that they only want to build 64-bit, so why are 32-bit libs pulled in unconditionally. As it stands, users who want 64-bit-only can have it their way and users who want both 32-bit and 64-bit can have it their way, after installing a few extra packages. For an authoritative reason you'd be better off asking on a Fedora list. >> So you probably don't need to build GCC yourself anyway. >> > > Aye, I've made full circle and I am still pissed off about this as I wasted > the good part of a day figuring out what on earth is going on, which > wouldn't have been the case if everything was installed properly by Fedora > in the first place...and that brings me nicely to the original point I've > made - the current package provided by Fedora isn't up to scratch and it > leaves a lot to be desired and if someone is brave enough to compile GCC > using the spec file provided by Fedora is going to be in a world of hurt! Fair enough, but that's still a Fedora issue, and if you want something in Fedora changed then this is the wrong place to suggest it.