7 Replies Latest reply: Feb 28, 2013 5:54 PM by 960874 RSS

    OVS 3.2.1: Installing GCC

    960874
      In true masochist fashion, I've decided to try an make Oracle VM Server (OVS) 3.2.1 a more general-purpose virtualization platform by adding some of the more common command-line (CLI) tools for managing Xen (e.g., xen-tools, virt-install, etc). However, OVS 3 repository does NOT include the gcc compiler so I set out to install GCC from source. However, this seems to present a bit of a chicken-and-egg conundrum: When attempting to configure GCC, the configure script complains...
      [root@xen3 tmp]# cd /tmp/objdir/
      [root@xen3 objdir]# /usr/local/src/gcc-4.1.2/configure
      loading cache ./config.cache
      checking host system type... x86_64-unknown-linux-gnu
      checking target system type... x86_64-unknown-linux-gnu
      checking build system type... x86_64-unknown-linux-gnu
      checking for a BSD compatible install... /usr/bin/install -c
      checking whether ln works... yes
      checking whether ln -s works... yes
      checking for gcc... no
      checking for cc... no
      configure: error: no acceptable cc found in $PATH
      I've looked around a bit and there doesn't seem to be a good explanation of how to overcome this failure except by "using the distibution's precompiled gcc package." But, clearly, that's not an option with OVS 3. :(

      Suggestions?

      Eric Pretorious
      Truckee, CA
        • 1. Re: OVS 3.2.1: Installing GCC
          J.B. Broccard-Oracle
          Eric,

          I have a 3.2.1 with GCC installed on it and I got it installed from a yum repository, so if you have an ULN access you can setup YUM to install GCC and its dependencies.

          FYI, here are the versions that I'm using:
          [root@appdev36 ~]# rpm -qa|grep cc
          gcc-4.1.2-54.el5
          libgcc-4.1.2-48.el5

          Keep us posted.
          JB
          • 2. Re: OVS 3.2.1: Installing GCC
            960874
            epretorious wrote:
            However, OVS 3 repository does NOT include the gcc compiler
            J.B. Broccard wrote:I have a 3.2.1 with GCC installed on it and I got it installed from a yum repository, so if you have an ULN access you can setup YUM to install GCC and its dependencies.
            Thanks, JB:

            Unfortunately, I do not have a ULN $ub$cription and I am having to rely upon the OVS 3 repository on public-yum.

            Have you got any other suggestions?

            Eric Pretorious
            Truckee, CA
            • 3. Re: OVS 3.2.1: Installing GCC
              Terry Phelps
              Oracle has a public yum repository that anyone can use: http://public-yum.oracle.com/repo/ (If some{one|thing| strips out the about URL, just google "oracle public yum server".) I bet you can find an acceptable gcc RPM there, as well as the various other RPMs that it'll no doubt want.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
              • 4. Re: OVS 3.2.1: Installing GCC
                960874
                Terry Phelps wrote:
                epretorious wrote:
                However, OVS 3 repository does NOT include the gcc compiler
                Oracle has a public yum repository that anyone can use:
                http://public-yum.oracle.com/repo/

                I bet you can find an acceptable gcc RPM there, as well as the various other RPMs that it'll no doubt want.
                Not so helpful, Terry: If you mouse over any of the three hyperlinks in either of my posts, above, you'll see that I've already checked the OVS 3 repository.

                Edited by: epretorious on Feb 18, 2013 1:39 PM
                • 5. Re: OVS 3.2.1: Installing GCC
                  960874
                  Kai Ruottu (on the gcc-help mailing list) suggested retrieving the packages from the CentOS 5.5 Vault and installing those:
                  From: Kai Ruottu <kai.ruottu@example.com>
                  To: Eric <epretorious@example.com>
                  Sent: Tuesday, February 19, 2013 12:04 AM
                  Subject: Re: Installing GCC on Oracle VM Server 3


                  For me the OVS 3.2.1 looked alike RHEL / CentOS 5.5, so installing the gcc-4.1.2 RPMS, the
                  glibc-devel-2.5-49.el5_5.4.*.rpm and the kernel-headers from the CentOS5.5 distro DVDs
                  could provide almost the "original system GCC". For instance :

                  http://vault.centos.org/5.5/os/x86_64/CentOS/gcc-4.1.2-48.el5.x86_64.rpm

                  You can always check which was the system GCC used when producing OVS 3.2.1 via :

                  cd /lib
                  ./libc.so.6

                  This tells what was the GCC used to compile the system binaries like the 'glibc-2.5-49.el5_5.4'.

                  After you have that system GCC installed, you are free to do anything with it like producing
                  a newer GCC from its pristine sources...
                  ...so I worked my way through resolving the dependencies until I could go no further: The dependency of the currently installed glibc on currently installed glibc-common was preventing the entire upgrade process...
                  [root@xen3 src]# rpm -Uvh --force *.rpm
                  error: Failed dependencies:
                       glibc-common = 2.5-49.el5_5.4 is needed by (installed) glibc-2.5-49.el5_5.4.i686
                  
                  [root@xen3 src]# rpm -qp *.rpm --queryformat "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n"
                  cpp-4.1.2-48.el5.x86_64
                  gcc-4.1.2-48.el5.x86_64
                  glibc-2.5-49.x86_64
                  glibc-common-2.5-49.x86_64
                  glibc-devel-2.5-49.i386
                  glibc-devel-2.5-49.x86_64
                  glibc-headers-2.5-49.x86_64
                  kernel-headers-2.6.18-194.el5.x86_64
                  libgomp-4.4.0-6.el5.x86_64
                  
                  [root@xen3 src]# rpm -q glibc glibc-common --queryformat "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n"
                  glibc-2.5-49.el5_5.4.x86_64
                  glibc-2.5-49.el5_5.4.i686
                  glibc-common-2.5-49.el5_5.4.x86_64
                  ...so I elected to ignore the dependencies:
                  [root@xen3 src]# rpm -Uvh --nodeps --force glibc-2.5-49.*.rpm glibc-common-2.5-49.x86_64.rpm 
                  Preparing...                ########################################### [100%]
                     1:glibc-common           ########################################### [ 33%]
                     2:glibc                  ########################################### [ 67%]
                     3:glibc                  ########################################### [100%]
                  
                  [root@xen3 src]# rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" glibc glibc-common
                  glibc-2.5-49.i686
                  glibc-2.5-49.x86_64
                  glibc-common-2.5-49.x86_64
                  And then I went along on my merry way:
                  [root@xen3 src]# rpm -Uvh --force *.rpm
                  warning: cpp-4.1.2-48.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
                  Preparing...                ########################################### [100%]
                     1:glibc-common           ########################################### [ 10%]
                     2:glibc                  ########################################### [ 20%]
                     3:cpp                    ########################################### [ 30%]
                     4:libgomp                ########################################### [ 40%]
                     5:kernel-headers         ########################################### [ 50%]
                     6:glibc                  ########################################### [ 60%]
                     7:glibc-headers          ########################################### [ 70%]
                     8:glibc-devel            ########################################### [ 80%]
                     9:gcc                    ########################################### [ 90%]
                    10:glibc-devel            ########################################### [100%]
                  Now it's time to get down to making this Oracle VM Server host system a much more general-purpose virtualization platform by adding some of the more common command-line (CLI) tools for managing Xen (e.g., virt-clone, virt-install, etc). :)
                  • 6. Re: OVS 3.2.1: Installing GCC
                    960874
                    epretorious wrote:
                    Now it's time to get down to making this Oracle VM Server host system a much more general-purpose virtualization platform by adding some of the more common command-line (CLI) tools for managing Xen (e.g., virt-clone, virt-install, etc). :)
                    Though I was able to install GCC using the CentOS 5.5 repositories:
                    http://vault.centos.org/5.5/os/x86_64/CentOS/cpp-4.1.2-48.el5.x86_64.rpm \
                    http://vault.centos.org/5.5/os/x86_64/CentOS/gcc-4.1.2-48.el5.x86_64.rpm \
                    http://vault.centos.org/5.5/os/x86_64/CentOS/glibc-2.5-49.i686.rpm \
                    http://vault.centos.org/5.5/os/x86_64/CentOS/glibc-2.5-49.x86_64.rpm \
                    http://vault.centos.org/5.5/os/x86_64/CentOS/glibc-common-2.5-49.x86_64.rpm \
                    http://vault.centos.org/5.5/os/x86_64/CentOS/glibc-devel-2.5-49.i386.rpm \
                    http://vault.centos.org/5.5/os/x86_64/CentOS/glibc-devel-2.5-49.x86_64.rpm \
                    http://vault.centos.org/5.5/os/x86_64/CentOS/glibc-headers-2.5-49.x86_64.rpm \
                    http://vault.centos.org/5.5/os/x86_64/CentOS/kernel-headers-2.6.18-194.el5.x86_64.rpm
                    The torrent of dependencies for compiling virt tools finally became too much:

                    virt-install required three additional packages:
                    http://vault.centos.org/5.5/os/x86_64/CentOS/libxml2-devel-2.6.26-2.1.2.8.x86_64.rpm \
                    http://vault.centos.org/5.5/os/x86_64/CentOS/pkgconfig-0.21-2.el5.x86_64.rpm \
                    http://vault.centos.org/5.5/os/x86_64/CentOS/zlib-devel-1.2.3-3.x86_64.rpm
                    ...and then libvirt required four more packages:
                    http://vault.centos.org/5.5/os/x86_64/CentOS/python-devel-2.4.3-27.el5.x86_64.rpm
                    http://vault.centos.org/5.5/os/x86_64/CentOS/python-2.4.3-27.el5.x86_64.rpm
                    http://vault.centos.org/5.5/os/x86_64/CentOS/libgcrypt-devel-1.4.4-5.el5.x86_64.rpm
                    http://vault.centos.org/5.5/os/x86_64/CentOS/libgpg-error-devel-1.4-2.x86_64.rpm
                    It was at this moment that I'd remembered my main purpose -- to select a commercially-supported Xen-based hypervisor for use as our cloud platform -- and realized that I'd strayed too far from that goal to justify my efforts so I stopped.
                    • 7. Re: OVS 3.2.1: Installing GCC
                      960874
                      epretorious wrote:
                      Now it's time to get down to making this Oracle VM Server host system a much more general-purpose virtualization platform by adding some of the more common command-line (CLI) tools for managing Xen (e.g., virt-clone, virt-install, etc). :)
                      Though I was able to install GCC using the CentOS 5.5 repositories:
                      http://vault.centos.org/5.5/os/x86_64/CentOS/cpp-4.1.2-48.el5.x86_64.rpm \
                      http://vault.centos.org/5.5/os/x86_64/CentOS/gcc-4.1.2-48.el5.x86_64.rpm \
                      http://vault.centos.org/5.5/os/x86_64/CentOS/glibc-2.5-49.i686.rpm \
                      http://vault.centos.org/5.5/os/x86_64/CentOS/glibc-2.5-49.x86_64.rpm \
                      http://vault.centos.org/5.5/os/x86_64/CentOS/glibc-common-2.5-49.x86_64.rpm \
                      http://vault.centos.org/5.5/os/x86_64/CentOS/glibc-devel-2.5-49.i386.rpm \
                      http://vault.centos.org/5.5/os/x86_64/CentOS/glibc-devel-2.5-49.x86_64.rpm \
                      http://vault.centos.org/5.5/os/x86_64/CentOS/glibc-headers-2.5-49.x86_64.rpm \
                      http://vault.centos.org/5.5/os/x86_64/CentOS/kernel-headers-2.6.18-194.el5.x86_64.rpm
                      The torrent of dependencies for compiling virt tools finally became too much:

                      virt-install required three additional packages:
                      http://vault.centos.org/5.5/os/x86_64/CentOS/libxml2-devel-2.6.26-2.1.2.8.x86_64.rpm \
                      http://vault.centos.org/5.5/os/x86_64/CentOS/pkgconfig-0.21-2.el5.x86_64.rpm \
                      http://vault.centos.org/5.5/os/x86_64/CentOS/zlib-devel-1.2.3-3.x86_64.rpm
                      ...and then libvirt required four more packages:
                      http://vault.centos.org/5.5/os/x86_64/CentOS/python-devel-2.4.3-27.el5.x86_64.rpm
                      http://vault.centos.org/5.5/os/x86_64/CentOS/python-2.4.3-27.el5.x86_64.rpm
                      http://vault.centos.org/5.5/os/x86_64/CentOS/libgcrypt-devel-1.4.4-5.el5.x86_64.rpm
                      http://vault.centos.org/5.5/os/x86_64/CentOS/libgpg-error-devel-1.4-2.x86_64.rpm
                      It was at this moment that I'd remembered my main purpose -- to select a commercially-supported Xen-based hypervisor for use as our cloud platform -- and realized that I'd strayed too far from that goal to justify my efforts so I stopped.