discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Toggle use of bad versions of Boost


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] Toggle use of bad versions of Boost
Date: Tue, 26 Feb 2013 13:13:29 -0500

On Tue, Feb 26, 2013 at 1:12 PM, Alexandru Csete <address@hidden> wrote:
> On Tue, Feb 26, 2013 at 5:21 PM, Tom Rondeau <address@hidden> wrote:
>> On Tue, Feb 26, 2013 at 11:10 AM, Alexandru Csete <address@hidden> wrote:
>>> On Tue, Feb 26, 2013 at 3:15 PM, Tom Rondeau <address@hidden> wrote:
>>>> On Tue, Feb 26, 2013 at 7:01 AM, Alexandru Csete <address@hidden> wrote:
>>>>> On Wed, Feb 13, 2013 at 8:12 PM, Tom Rondeau <address@hidden> wrote:
>>>>>> GNU Radio: now allowing you to shoot yourself in the foot!
>>>>>>
>>>>>> We've identified a few versions of Boost that don't work well with GNU
>>>>>> Radio, 1.46, 1.47, and 1.52. A little while ago, I updated our cmake 
>>>>>> build
>>>>>> files to look for these specific versions and disable their use if found.
>>>>>>
>>>>>> Sadly, many distros currently ship with one of these known bad versions.
>>>>>> Looking at Boost's website, 1.47 and 1.52 are by far the most downloaded
>>>>>> Boost versions. So, as recommended by Johnathan, I put in a cmake command
>>>>>> line option that allows you to override the version check so GNU Radio 
>>>>>> will
>>>>>> build with any current Boost.
>>>>>>
>>>>>> To use it, just specify "-DENABLE_BAD_BOOST=True" on your cmake command
>>>>>> line. By default this is False. That will allow you to build against
>>>>>> anything. If this value is False, all GNU Radio components will be 
>>>>>> disabled
>>>>>> if it finds one of the bad versions. (VOLK and a couple of others will 
>>>>>> still
>>>>>> pass and compile since they are not affected by the problem).
>>>>>>
>>>>>> Just be aware that using one of these versions can cause problems.
>>>>>> Specifically, it can lock up your application when shutting down a
>>>>>> flowgraph. Also, many distros that ship with one of these bad versions 
>>>>>> also
>>>>>> have other, good, versions that you can pretty easily switch to.
>>>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> Sorry for the late reply, but I just realized that half of my
>>>>> computers running Mint 13 (based on Ubuntu 12.04) come with Boost
>>>>> 1.46, yet I have had no problem building gnuradio without using
>>>>> "-DENABLE_BAD_BOOST=True"
>>>>> Admittedly, this distro appears to have a horrible mix of 1.46 and
>>>>> 1.48, which may confuse cmake - I really have no idea which one really
>>>>> is installed but I do have runtime issues on these computers. If
>>>>> anybody has ideas for what we can do on Mint 13 / Ubuntu 12.04, please
>>>>> let me know.
>>>>>
>>>>> Alex
>>>>
>>>> Alex,
>>>>
>>>> You can see which Boost version Cmake is finding for you by looking at
>>>> CMakeCache.txt in the top of the build directory. Check out the
>>>> "Boost_<library>_LIBRARY" and "Boost_INCLUDE_DIR" to see which ones
>>>> were found and are being used. Hopefully, it's finding the 1.48
>>>> version that's installed.
>>>
>>> Actually, it seems that I only have version 1.46 libraries installed,
>>> see the attached file.
>>>
>>> This is really screwed up: I have libboost-dev installed, which
>>> according to synaptic is at version 1.48.0.2. Looking in the package
>>> info I see that it depends on libboost1.46-dev, which explain why all
>>> my boost libs are version 1.46. The same applies to many other boost
>>> packages, e.g. libboost-thread-dev.
>>
>> Grep CMakeCache.txt for "Boost_VERSION" and see what that returns. For
>> 1.48, it'll look like 104800, and for 1.46 it should be 104600.
>>
>> Also see what it tells you when you grep for ENABLE_BAD_BOOST. If this
>> is set to True, it will allow any version.
>>
>>> Cmake didn't complain about bad boost version and I can see no version
>>> info in CMakeCache.txt. Gnuradio compiles and install just fine. I can
>>> rerun cmake and submit the cmake files on a system with boost 1.46 if
>>> needed.
>>
>> Maybe delete CMakeCache.txt and rerun cmake to make sure it refreshes
>> everything.
>
> Hi Tom,
>
> I started with a clean build directory and after cmake finishes
> without errors I get:
>
> address@hidden ~/sdr/gnuradio/v3.6.3-146-ga54dc5ba/build $ cat
> CMakeCache.txt | grep ENABLE_BAD_BOOST
> ENABLE_BAD_BOOST:BOOL=OFF
> address@hidden ~/sdr/gnuradio/v3.6.3-146-ga54dc5ba/build $ cat
> CMakeCache.txt | grep "Boost_VERSION"
> Boost_VERSION:INTERNAL=104601
>
> Alex

That clears it up, thanks! I read somewhere that the last two digits
would always be 00, so that's all I checked for. With yours being
104601, I'll need to be more clever about it.

Tom



reply via email to

[Prev in Thread] Current Thread [Next in Thread]