ryanvolz / radioconda

Software radio distribution and installer for conda
Other
396 stars 44 forks source link

Issue building Sandia's OOT "FHSS Utilities" #7

Closed adrianboyko closed 2 years ago

adrianboyko commented 2 years ago

Hi Ryan. I just followed your excellent OOT build instructions to add Sandia's "FHSS Utilities" to my radioconda install. There was an issue with PRIu64 in some printf statements which I fixed by changing the following in Sandia's CMakeLists.txt file:

OLD: set(CMAKE_CXX_FLAGS "-fopenmp -mavx) NEW: set(CMAKE_CXX_FLAGS "-fopenmp -mavx -D__STDC_FORMAT_MACROS")

Since their build process presumably works for them without this extra #define, I'm wondering if this is an issue in the radioconda configuration. Any thoughts on the matter?

ryanvolz commented 2 years ago

Aha! I knew I'd seen this before, and I finally figured out where. It was an issue with another OOT (gr-iridium), and it happens because conda-forge builds against an old glibc and the radioconda packages inherit that. According to https://sourceware.org/bugzilla/show_bug.cgi?id=15366, this will stop being a problem as soon as we can depend on glibc >= 2.18.

The way you've solved it is a good way to go about it. An alternative might be to set the CXXFLAGS environment variable with -D__STDC_FORMAT_MACROS like I did for the gr-iridium recipe, but I'm not sure that works when running the build manually as opposed to building a conda package. Since this has happened with two different OOTs, I think it probably deserves a mention in the wiki, so I'll go add it. Thanks for your report!