On 07/25/2013 10:03 PM, Gong Zhang wrote: > Sorry for the incomplete information. I'm using Ubuntu 10.04 and the > boost version is 1.40 >
So heres the deal. Boost 1.40 does not support the property tree. Property tree was introduced in 1.41: http://www.boost.org/doc/libs/1_41_0/ Anyway, what I have done is make the property tree stuff optional. If old boost is detected, its compiled out. Try to update your repository and see if it compiles now: https://github.com/guruofquality/gras/commit/b877d078b11cb848b344f4f7534398f70157aa15 The property tree is used for the query interface. This drives the web-based status monitor. So that wont work w/ with boost 1.40, but everything else should be OK. Honestly, I only test build on ubuntus as old as 11.04. I have not tested on 10.04 in a while. But if you find more bugs, I will try to fix them. And I also recommend to upgrade to a newer ubuntu like 12.04 -- which is the most recent long term support version. -josh > 2013/7/25 Josh Blum <j...@joshknows.com>: >> >> >> On 07/25/2013 04:51 AM, Gong Zhang wrote: >>> Hi, >>> I got the source code of gras using git,and I followed the instruction >>> to install gras.But I got errors while making. >>> >>> /home/zg/Desktop/Codes/gras/gras/Theron/Include/External/boost/atomic/detail/gcc-x86.hpp: >>> In function ‘void boost::atomic_thread_fence(boost::memory_order)’: >>> /home/zg/Desktop/Codes/gras/gras/Theron/Include/External/boost/atomic/detail/gcc-x86.hpp:51: >>> warning: case label value exceeds maximum value for type >>> /home/zg/Desktop/Codes/gras/gras/Theron/Include/External/boost/atomic/detail/gcc-x86.hpp: >>> In function ‘void >>> boost::detail::atomic::platform_fence_before(boost::memory_order)’: >>> /home/zg/Desktop/Codes/gras/gras/Theron/Include/External/boost/atomic/detail/gcc-x86.hpp:76: >>> warning: case label value exceeds maximum value for type >>> /home/zg/Desktop/Codes/gras/gras/Theron/Include/External/boost/atomic/detail/gcc-x86.hpp: >>> In function ‘void >>> boost::detail::atomic::platform_fence_after(boost::memory_order)’: >>> /home/zg/Desktop/Codes/gras/gras/Theron/Include/External/boost/atomic/detail/gcc-x86.hpp:102: >>> warning: case label value exceeds maximum value for type >>> /home/zg/Desktop/Codes/gras/gras/Theron/Include/External/boost/atomic/detail/gcc-x86.hpp: >>> In function ‘void >>> boost::detail::atomic::platform_fence_after_load(boost::memory_order)’: >>> /home/zg/Desktop/Codes/gras/gras/Theron/Include/External/boost/atomic/detail/gcc-x86.hpp:124: >>> warning: case label value exceeds maximum value for type >> >> The warning tells me that you have a pretty old version of boost, but >> this should be ok. The error below is telling me that the ptree is not >> being included properly (at least on this system). >> >> Can you tell me the following: >> Version of boost? >> OS name and version? >> >> -josh >> >>> In file included from >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:4: >>> /home/zg/Desktop/Codes/gras/gras/lib/gras_impl/query_common.hpp: At >>> global scope: >>> /home/zg/Desktop/Codes/gras/gras/lib/gras_impl/query_common.hpp:14: >>> error: expected unqualified-id before ‘::’ token >>> /home/zg/Desktop/Codes/gras/gras/lib/gras_impl/query_common.hpp:14: >>> error: expected ‘)’ before ‘::’ token >>> /home/zg/Desktop/Codes/gras/gras/lib/gras_impl/query_common.hpp:14: >>> error: expected initializer before ‘::’ token >>> /home/zg/Desktop/Codes/gras/gras/lib/gras_impl/query_common.hpp:15: >>> error: ‘boost::property_tree’ has not been declared >>> /home/zg/Desktop/Codes/gras/gras/lib/gras_impl/query_common.hpp:15: >>> error: expected constructor, destructor, or type conversion before >>> ‘pmc_to_ptree’ >>> /home/zg/Desktop/Codes/gras/gras/lib/gras_impl/query_common.hpp:17: >>> error: ‘boost::property_tree’ has not been declared >>> /home/zg/Desktop/Codes/gras/gras/lib/gras_impl/query_common.hpp:17: >>> error: expected constructor, destructor, or type conversion before >>> ‘json_to_ptree’ >>> /home/zg/Desktop/Codes/gras/gras/lib/gras_impl/query_common.hpp:18: >>> error: expected unqualified-id before ‘::’ token >>> /home/zg/Desktop/Codes/gras/gras/lib/gras_impl/query_common.hpp:18: >>> error: expected ‘)’ before ‘::’ token >>> /home/zg/Desktop/Codes/gras/gras/lib/gras_impl/query_common.hpp:18: >>> error: expected initializer before ‘::’ token >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:14: error: >>> ‘property_tree’ is not a namespace-name >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:14: error: >>> expected namespace-name before ‘;’ token >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:31: error: >>> ‘ptree’ does not name a type >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:50: error: >>> ‘ptree’ does not name a type >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:160: error: >>> ‘ptree’ does not name a type >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:186: error: ISO >>> C++ forbids declaration of ‘ptree’ with no type >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:186: error: >>> expected ‘,’ or ‘...’ before ‘&’ token >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp: In member >>> function ‘virtual std::string gras::TopBlock::query(const std::string&)’: >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:243: error: >>> ‘ptree’ does not name a type >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:246: error: >>> ‘((gras::TopBlock*)this)->gras::TopBlock::query’ does not have class type >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:246: error: >>> expected primary-expression before ‘>’ token >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:247: error: >>> ‘ptree’ was not declared in this scope >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:247: error: >>> expected ‘;’ before ‘result’ >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:248: error: >>> argument of type ‘std::string (gras::TopBlock::)(const std::string&)’ >>> does not match ‘int’ >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:249: error: >>> ‘result’ was not declared in this scope >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:249: error: >>> ‘query_blocks’ was not declared in this scope >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:250: error: >>> ‘result’ was not declared in this scope >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:250: error: >>> ‘query_stats’ was not declared in this scope >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:251: error: >>> ‘result’ was not declared in this scope >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:251: error: >>> ‘query_calls’ was not declared in this scope >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:252: error: >>> ‘result’ was not declared in this scope >>> /home/zg/Desktop/Codes/gras/gras/lib/top_block_query.cpp:252: error: >>> ‘ptree_to_json’ was not declared in this scope >>> make[2]: *** [lib/CMakeFiles/gras.dir/top_block_query.cpp.o] Error 1 >>> make[1]: *** [lib/CMakeFiles/gras.dir/all] Error 2 >>> make: *** [all] Error 2 >>> >>> Thanks in advance. >>> >>> _______________________________________________ >>> Discuss-gnuradio mailing list >>> Discuss-gnuradio@gnu.org >>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> >> _______________________________________________ >> Discuss-gnuradio mailing list >> Discuss-gnuradio@gnu.org >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio