I started trying to work on an open-source project and found that I needed to install googletest and googlemock on my home machine. Seemed easy enough, I found a package called google-mock
in the Raring repositories which depends on a package called libgtest-dev
. So I install it:
1
|
|
And the CMake file I was running before tells me that I have gmock, but I’m still missing gtest. What’s going on here?
Well, there was a changeset applied in Ubuntu 12.04 (Precise) with the following text (source):
Stop distributing static library (although still build it, to ensure gtest works). Upstream recommends against shipping the libary at all, just the source. (See: http://code.google.com/p/googletest/wiki/FAQ) The Debian maintainer plans to do this also (see BTS: 639795); do it in Ubuntu now to fulfil MIR requirements.
– Christopher James Halse Rogers Thu, 08 Mar 2012 17:45:29 +1100
What does that mean? That means we get to build and “install” the gtest libs ourselves. The source is conveniently installed in /usr/src
after installing libgtest-dev
(which we automatically got when we installed google-mock
).
1 2 3 4 5 6 7 8 9 |
|
The >> /dev/null
can be dropped if you would like to see the output of these commands when successful, any error text will still show up with this redirect in place. I like to move all my personally-compiled libraries (and includes) to /usr/local
, but you could just as easily copy them over to /usr/lib
. All of this could also be done in /tmp
if you’re so inclined.