LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   GNU Compiler Collection update problem (https://www.linuxquestions.org/questions/linux-newbie-8/gnu-compiler-collection-update-problem-926597/)

austic 01-30-2012 06:17 PM

GNU Compiler Collection update problem
 
Hi Everyone,
first off, apologies if this has already been covered; I have searched this forum (and the centos wiki and the gcc wiki) and have not been able to find any relevant information.

For starters, I am running CentOS_5.6 (x86_64) and I am hoping to install some software for bioinformatics analysis (I am a graduate student in the basic biological sciences). This particular piece of software is called the Sequence Assembly Manager or SAM (if you are interested).

The bit that has got me completely befuddled is that, in order to install Arachne (a dependency of SAM), I need an updated GCC/C++ compiler - at least version 4.3.3 and my version is 4.1.2.
And I CANNOT seem to upgrade this software. I have tried using yum in the command line to do it - it seems to think that v-4.1.2 is the most current version. I have also tried the Add/Remove Software GUI that is packaged with the OS (which, I suspect, but couldn't say for sure is powered by yum) and it gives me the same problem - no more current versions of GCC available.

However, if I navigate over to the GCC website, I can find more current versions of GCC and I have downloaded and unpacked the .tar.gz and .rpm files for v-4.6.2 however I cannot get them to build - I assume I am configuring GCC wrong with the .tar.gz version and there are dependencies for the .rpm that do not resolve themselves:
Quote:

Missing Dependency: gcc = 4.1.2-51.el5 is needed by package gcc-gnat-4.1.2-51.el5.x86_64 (installed)
Missing Dependency: libc.so.6(GLIBC_2.8)(64bit) is needed by package gcc-4.6.2-1.mga2.x86_64 (/gcc-4.6.2-1.mga2.x86_64)
Missing Dependency: gcc = 4.1.2-51.el5 is needed by package gcc-objc-4.1.2-51.el5.x86_64 (installed)
Missing Dependency: gcc = 4.1.2-51.el5 is needed by package gcc-gfortran-4.1.2-51.el5.x86_64 (installed)
Missing Dependency: libmpc.so.2()(64bit) is needed by package gcc-4.6.2-1.mga2.x86_64 (/gcc-4.6.2-1.mga2.x86_64)
Missing Dependency: libc.so.6(GLIBC_2.7)(64bit) is needed by package gcc-4.6.2-1.mga2.x86_64 (/gcc-4.6.2-1.mga2.x86_64)
Missing Dependency: libppl.so.9()(64bit) is needed by package gcc-4.6.2-1.mga2.x86_64 (/gcc-4.6.2-1.mga2.x86_64)
Missing Dependency: gcc-cpp = 4.6.2-1.mga2 is needed by package gcc-4.6.2-1.mga2.x86_64 (/gcc-4.6.2-1.mga2.x86_64)
Missing Dependency: libpwl.so.5()(64bit) is needed by package gcc-4.6.2-1.mga2.x86_64 (/gcc-4.6.2-1.mga2.x86_64)
Missing Dependency: libc.so.6(GLIBC_2.14)(64bit) is needed by package gcc-4.6.2-1.mga2.x86_64 (/gcc-4.6.2-1.mga2.x86_64)
Missing Dependency: gcc = 4.1.2-51.el5 is needed by package gcc-c++-4.1.2-51.el5.x86_64 (installed)
Missing Dependency: update-alternatives is needed by package gcc-4.6.2-1.mga2.x86_64 (/gcc-4.6.2-1.mga2.x86_64)
Missing Dependency: gcc = 4.1.2-51.el5 is needed by package libmudflap-devel-4.1.2-51.el5.x86_64 (installed)
Missing Dependency: libgmp.so.10()(64bit) is needed by package gcc-4.6.2-1.mga2.x86_64 (/gcc-4.6.2-1.mga2.x86_64)
Missing Dependency: libc.so.6(GLIBC_2.11)(64bit) is needed by package gcc-4.6.2-1.mga2.x86_64 (/gcc-4.6.2-1.mga2.x86_64)
Missing Dependency: gcc = 4.1.2-51.el5 is needed by package gcc-java-4.1.2-51.el5.x86_64 (installed)
Missing Dependency: libppl_c.so.4()(64bit) is needed by package gcc-4.6.2-1.mga2.x86_64 (/gcc-4.6.2-1.mga2.x86_64)
Missing Dependency: libcloog.so.0()(64bit) is needed by package gcc-4.6.2-1.mga2.x86_64 (/gcc-4.6.2-1.mga2.x86_64)
Missing Dependency: libmpfr.so.4()(64bit) is needed by package gcc-4.6.2-1.mga2.x86_64 (/gcc-4.6.2-1.mga2.x86_64)
Missing Dependency: libgmpxx.so.4()(64bit) is needed by package gcc-4.6.2-1.mga2.x86_64 (/gcc-4.6.2-1.mga2.x86_64)
and I cannot find these packages anywhere either.

So, my question is: is there ANY way to upgrade GCC from CentOS 5.6 or do I have to upgrade my OS to one that has an upgraded GCC packaged with it? Because I have a TON of other software that needs to be installed for SAM and, of course, most of it is already installed (and it was quite unpleasant to make it all work properly)

I look forward to hearing from you,
Cheers,
-chad

neonsignal 02-04-2012 09:51 PM

A package as central as gcc would require a fair bit of effort to install from scratch, because there are many dependencies. Effectively you would have to compile up all of these other packages, and hope that they all work on this older version of CentOS without modification or incompatibility. You might put in a lot of effort and still get stuck.

If at all possible, your best bet is to upgrade to CentOS 6.

If this is going to affect too many other programs, another option would be to run CentOS 6 or similar in a virtual machine to be used purely for SAM (assuming you have enough memory).

A less desirable fallback would be to run an older version of SAM.

Some distros are more amenable to mixing package versions than others. From the CentOS FAQ
Quote:

CentOS is an Enterprise-class operating system and as such is more about stability and long-term support than cutting edge. Major package versions are retained throughout the life cycle of the product. This is generally what Enterprise wants and affords developers a stable base on which to develop without fear that bespoke applications will break every time something gets upgraded to the latest and greatest, but ultimately buggy version or the API changes breaking backwards compatibility.

knudfl 02-05-2012 02:02 AM

Welcome to LQ.

First : You can have as many compiler versions as you want,
installed at the same time.

CentOS 5.x has three : 1) 4.1.2, 2) 4.4.4, 3) 3.4.6 .

Installing 4.4.4 : # yum install gcc44-c++
3.4.6 : # yum install compat-gcc-34-c++


Using 4.4.4 : export CC=gcc44 CXX=g++44 && <other-command>

.

austic 02-06-2012 12:48 PM

Thanks for the info, knudfl. I actually wound up updating the OS to 6.2 and that has solved my problems.


All times are GMT -5. The time now is 11:47 AM.