Closed cherchais closed 3 years ago
It looks like you use a somewhat old compiler (GCC 5?) and [1] might be the cause of the error.
@jdemel I am not sure how to deal with this. Fixing this might require some error prone and ugly checking of compiler and C/C++ library versions. On the other hand, I don’t think that log2f_non_ieee()
(and some other definitions) should be part of volk_common.h
anyway.
[1] https://developers.redhat.com/blog/2016/02/29/why-cstdlib-is-more-complicated-than-you-might-think
It looks like you use a somewhat old compiler (GCC 5?) and [1] might be the cause of the error.
@jdemel I am not sure how to deal with this. Fixing this might require some error prone and ugly checking of compiler and C/C++ library versions. On the other hand, I don’t think that
log2f_non_ieee()
(and some other definitions) should be part ofvolk_common.h
anyway.[1] https://developers.redhat.com/blog/2016/02/29/why-cstdlib-is-more-complicated-than-you-might-think
I use ubuntu16.04 and the default gcc version of it should be GCC5.4
And I suspect that the system version(or may be the old compiler) is too low, so I reconfigured it with ubuntu18, and it works.
Thank you very much!
GCC 5 is recent enough to support C++11 which is required for GNU Radio 3.8. Assuming that other dependencies are satisfied by Ubuntu 16.04 as well, GNU Radio (including Volk) should compile… Switching to more recent compiler and C/C++ standard libraries is the most simple solution. Some GCC versions have fixes for math.h
and cmath
headers, at least I remember reading that in release notes.
The error is related to #281 given that volk_common.h
is used by C and C++ compilers.
PS: Found the release notes for GCC I talked about [1][2]. Search for “math”.
[1] https://gcc.gnu.org/gcc-6/porting_to.html [2] https://gcc.gnu.org/gcc-7/porting_to.html
This error is known and basically a "wontfix". See #375 and #378 . Basically this specific Ubuntu version in combination with GCC5 seems to have a bug here that is fixed later. In essence this is a Ubuntu bug in 16.04 which is nearing EOL.
log2f_no_ieee
ended up in volk_common.h
because it is used in multiple kernels. At the time, this seemed like the best solution. Of course, I'd be glad to discuss a better solution.
This error is known and basically a "wontfix". See #375 and #378 . Basically this specific Ubuntu version in combination with GCC5 seems to have a bug here that is fixed later. In essence this is a Ubuntu bug in 16.04 which is nearing EOL.
log2f_no_ieee
ended up in because it is used in multiple kernels. At the time, this seemed like the best solution. Of course, I'd be glad to discuss a better solution.volk_common.h
I get it,thank you!
When I installed gnuradio3.8 using pybombs, I encountered the following error in compiling libvolk:
I checked the file volk_common.h and it imported the math.h library I don`t known how to deal with this problems,Can anyone help me?