Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I have valgrind on my computer which is with fedora OS. But it is with a old version. I want to upgrade it to a new version.

my system is fedora 16. valgrind version: 3.6.1. I want to upgrade it to 3.8.1. It was installed by SA. I don't know how they installed it

how to upgrade it?

share|improve this question
1  
The answer to this depends on how you installed it initially. Care to add that information? Also, which version of valgrind (old and new), which version of Fedora. –  EightBitTony Jun 21 '13 at 13:58
    
I have upgraded the info. Thanks –  misteryes Jun 21 '13 at 14:05

3 Answers 3

Upgrading to a newer version Fedora is a good idea. However, if you must stick with Fedora 16 you should be able to download valgrind-3.8.1-9.fc18.src.rpm onto the Fedora 16 machine and use

rpmbuild --rebuild valgrind-3.8.1-9.fc18.src.rpm

To create valgrind 3.8.1 rpms for Fedora 16. Then you can use those to update your version of valgrind.

share|improve this answer

installing another Fedora's version of valgrind

Given valgrind depends on nothing:

$ repoquery --alldeps valgrind
valgrind-1:3.5.0-20.fc14.i686
valgrind-1:3.5.0-20.fc14.x86_64

You likely can just take one of the RPMs from Fedora 16 or Fedora 17 and install them as they are. This can be considered dangerous but is acceptable for packages that are self contained.

You can get prebuilt RPMs for Fedora packages from the Koji build system, specifically here for valgrind. I'd try not to go to far beyond the version of Fedora that I'm using, so for you Fedora 16 or 17 should be OK.

One other thing to watch out for is changes to the underlying packaging that might change over time. This causes RPMs from a newer version to no longer be installable by older versions.

From the URL above find a version with a green checkmark next to it, that signifies that it was successfully built. If you follow it's link you'll get to a status page of the packaging of that particular RPM. Select the appropriate version for your given architecture (i686 vs. x86_64) and download it.

For example:

$ wget http://kojipkgs.fedoraproject.org//packages/valgrind/3.8.1/9.fc18/x86_64/valgrind-3.8.1-9.fc18.x86_64.rpm

For my example I'm using Fedora 14 and this version would appear not to be installable given it needs a newer version of GLIBC library (2.14) which I don't have.

$ rpm -Uvh --test valgrind-3.8.1-9.fc18.x86_64.rpm
error: Failed dependencies:
    libc.so.6(GLIBC_2.14)(64bit) is needed by valgrind-1:3.8.1-9.fc18.x86_64

When this happens you can either keep going down to older versions or bite the bullet and recompile one of the source RPMS (SRPMS) packages your self on your particular setup.

Rolling your own RPM

To do this you'll require a full complement of a compiler (gcc) and the other developer tools (make, etc.). Given you're trying to use valgrind I'd expect that you'd be familiar with these and might even have them already.

The easiest route is to use rpmbuild to build yourself a pre-existing SRPM. You'll need the following packaging RPM installed first.

$ yum install rpmdevtools

Once that package is installed you can setup your own rpmbuild environment like so:

$ rpmdev-setuptree

And then run the following command to build a SRPM:

$ rpmbuild --rebuild <valgrind SRPM>

# example
$ rpmbuild --rebuild valgrind-3.8.1-9.fc18.src.rpm

If that runs completely you'll be left with a version of valgrind specifically built for your version of Fedora & architecture. The files is written out to this directory:

$ rpm -Uvh $HOME/rpm/RPMS/x86_64/valgrind-3.8.1-9.fc14.x86_64.rpm
share|improve this answer

It looks to me like valgrind 3.6.1 is the version that comes with Fedora 16.

Name : valgrind     
Version : 3.6.1     Vendor : Fedora Project
Release : 6.fc16    Date : 2011-08-17 17:49:09
Group : Development/Debuggers   Source RPM : valgrind-3.6.1-6.fc16.src.rpm
Size : 85.97 MB     
Packager : Fedora Project   

I suggest you upgrade to a current version of Fedora, which will naturally upgrade valgrind.

share|improve this answer
    
I just want to upgrade valgrind only. It is troublesome and not proper to upgrade fedora. –  misteryes Jun 21 '13 at 14:24
    
That's fine, there'll be other answers which you can prefer, and I'm sure someone will show you how to upgrade it outside the Fedora process. The beauty of StackExchange is that you'll get lots of 'right' answers, and you get to pick the 'most right'. Personally, I wouldn't want to stick to a version of Fedora that old, and I wouldn't want the hassle of upgrading only some bits of it. –  EightBitTony Jun 21 '13 at 17:08

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.