ABI compatibility error for installing Gnuradio and UHD respectively

Hi List,

I install the gnuradio and UHD in different time, and when I run a
python
script, it tells me:

RuntimeError:
GR-UHD detected ABI compatibility mismatch with UHD library.
GR-UHD was build against ABI: 3.4.0-1,
but UHD library reports ABI: 3.4.0-2
Suggestion: install an ABI compatible version of UHD,
or rebuild GR-UHD component against this ABI version

I don’t want to change the gnuradio, but want to rollback the UHD driver
to
ABI with 3.4.0-1.
I have tried the git checkout release_003_004_001 and make/install, but
it
seems the ABI is changed to 3.4.0-0.
Thus I found the file ~/uhd/host/include/uhd/version.hpp, and go through
the git log to indicate that the ABI is changed
with one commit. And then I git checkout to that commit version and
make/install again. The problem solved.

However, can anyone told me what the ABI is used for? And how can I
ensure
every time the GNURadio is comaptible with
the installed UHD? Is it corret for what I did for this mismatch
problem,
or any other way?

I searched archive but did not find related errors ever posted.

Alex,
Dreams can come true just believe.

On 06/04/2012 01:55 PM, Alex Z. wrote:

or rebuild GR-UHD component against this ABI version

There error is working perfectly! Rather than silently failing you get a
nice error. Read about ABI
https://en.wikipedia.org/wiki/Application_binary_interface

The installed version of the gnuradio-uhd library was compiled against
UHD library of version X, but you installed UHD library version Y.
Version X and version Y do not have matching ABIs. You should build
gr-uhd against the same version of UHD that you have installed.

-josh