discuss-gnuradio
[Top][All Lists]
Advanced

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

RE: Problems with gr-modtool on Ubuntu 20.04 (gnuradio 3.10.4)


From: Michael Matthews
Subject: RE: Problems with gr-modtool on Ubuntu 20.04 (gnuradio 3.10.4)
Date: Thu, 27 Oct 2022 00:22:31 +0000

Hi Ryan,

 

I wanted to just follow up and update you on how my issue was progressing. Unfortunately, I was having trouble getting cmake to properly reference either new versions of boost or pybind. If I had the apt versions still installed, it would default to their locations. If not, they would come up as not found. Looking through their *.cmake files also did not seem to show any differences in how they were determining their include directories.

 

Running cmake while passing the -DBoost_NO_BOOST_CMAKE=ON did bypass the non-existent /include for the boost library, but pybind also has a similar issue, where /include is being searched.

 

After attempting to get around this on 20.04, I decided to create a new VM running a fresh install of Ubuntu 22.04, since the GNU Radio 3.10 OOT Module Porting Guide references that Ubuntu 22.04 avoids many of the OOT issues related to pybind. Running through the tutorial for creating a C++ OOT, I had no issues and it built as expected.

 

I decided to look at the differences between the versions of boost and pybind that are installed with gnuradio v3.10.4 between the two operating systems.

  • Ubuntu 20.04 uses:
    • cmake : 3.16.3-1ubuntu1
    • libboost-dev: 1.71.0-6ubuntu6
    • pybind11-dev: 2.4.3-2build2
  • Ubuntu 22.04 uses:
    • cmake: 3.22.1-1ubuntu1.22.04.1
    • libboost-dev: 1.74.0.3ubuntu7
    • pybind11-dev: 2.9.1-2

There were few substantive changes between the versions that would be causing these issues. So, I then looked at how cmake was references the *.cmake files for each of them.

  • Boost files are referenced as:
    • On 22.04: /usr/lib/x86_64-linux-gnu/cmake/[Boost|boost]*/*.cmake
    • On 20.04: /lib/x86_64-linux-gnu/cmake/[Boost|boost]*/*.cmake
  • Pybind files are referenced as:
    • On 22.04: /usr/lib/cmake/pybind11/*.cmake
    • On 20.04: /lib/cmake/pybind11/*cmake
  • Gnuradio files are referenced like:
    • On 22.04: /usr/lib/x86_64-linux-gnu/cmake/gnuradio/*.cmake
    • On 20.04: /lib/x86_64-linux-gnu/cmake/gnuradio/*.cmake

 

So, it always seems that the /usr prefix is always being dropped. I then decided to look at how $PATH is originally defined on clean installs of each OS.

  • 20.04’s PATH is: /sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin
  • 22.04’s PATH is: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

Because 22.04’s PATH starts with /usr/local and /usr prefixes before listing /bin, I changed PATH of my VM installation of 20.04 to be exactly like 22.04.

Running

cmake .. (no flags needed)

then worked without issue, even while using boost 1.71 and pybind 2.4.3.

 

My best guess here is that there actually might be some issue with how gnuradio is referencing the file that then searches for boost or pybind. If the /usr prefix is dropped there, it’s likely that it continues to drop it when searching for dependencies.

 

In the meantime, I’m going to move ahead with the edited PATH or with using Ubuntu 22.04.

 

Vasil also recommended previously that invoking cmake as

cmake .. -DCMAKE_FIND_ROOT_PATH=/usr

This does work as well!

 

I am thinking of making an issue ticket on github though and/or making a note on the wiki with this fix.

 

I want to also thank everyone here who helped solve my issue. I really appreciate your time and patience with me!

 

Cheers,

 

Michael Matthews
Graduate Software Engineer
Mobile: +1 847 714 4809

Micro-X

855 South 192nd St, Suite 600
SeaTac, WA, 98148, United States
www.micro-x.com

> -----Original Message-----

> From: Ryan Volz <ryan.volz@gmail.com>

> Sent: Thursday, October 20, 2022 9:45 AM

> To: Michael Matthews <mmatthews@micro-x.com>; discuss-

> gnuradio@gnu.org

> Subject: Re: Problems with gr-modtool on Ubuntu 20.04 (gnuradio 3.10.4)

>

> Hi Michael,

>

> The trace is very helpful, and it seems clear now that the GNU Radio CMake

> files are working as expected. The actual problem is coming from Boost, and

> because the gnuradio-runtime target depends on Boost, it inherits the

> nonexistent "/include" INTERFACE_INCLUDE_DIRECTORIES.

>

> I tried digging around to see if/when Boost fixed this, but I couldn't find

> anything. Hopefully an upgrade to a newer Boost version does fix it.

>

> Another potentially workaround would be passing the "-

> DBoost_NO_BOOST_CMAKE=ON" argument when you run cmake. That

> should avoid Boost's supplied CMake config and use the one built in to

> CMake instead, which hopefully would be better behaved.

>

> Cheers,

> Ryan

>

> On 10/19/22 9:36 PM, Michael Matthews wrote:

> > Hi Ryan,

> >

> > It seems that changing the trace source path to start with /lib did

> > produce a more meaningful output. When the target properties are set

> > for gnuradio::gnuradio-runtime, the INTERFACE_INCLUDE_DIRECTORIES is

> > correctly declared as /usr/include (gnuradio-runtimeTargets.cmake,

> > line 66). I was unsure where or how that would change to /include and

> > throw the error, so I decided to do the more expansive trace log to

> > see if the libraries it was linked with could have any issues.

> >

> > If I am reading the output correctly, it seems that Boost and pybind11

> > are two things having the path /include being added to their targets.

> > So, I am still unsure why gnuradio-runtime is being affected. My next

> > guess to try to resolve this is to update the versions for Boost and

> > pybind11 on my machine. The GNU Radio Manual and API Reference only

> > mentions needing boost >= 1.65 (mine is 1.71.0.0ubuntu2) and does not

> > mention pybind11 (my version is 2.4.3-2build2, which seems to be the

> > latest available through apt on Ubuntu 20.04).

> >

> > Thank you for bearing with me. As I said last time, I am more familiar

> > with other build systems, not so much with cmake and I am completely

> > new to gnuradio.

> >

> > Cheers,

> >

> > Michael

> >

> > PS. These are the outputs I got, in case they are helpful

> >

> > The trace output I received was:

> >

> > ~/gr-customModule/build$ cmake ..

> > --trace-source=/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-runtimeTa

> > rgets.cmake

> > --trace-expand

> >

> > Running with expanded trace output on.

> >

> > -- The CXX compiler identification is GNU 9.4.0

> >

> > -- The C compiler identification is GNU 9.4.0

> >

> > -- Check for working CXX compiler: /usr/bin/c++

> >

> > -- Check for working CXX compiler: /usr/bin/c++ -- works

> >

> > -- Detecting CXX compiler ABI info

> >

> > -- Detecting CXX compiler ABI info - done

> >

> > -- Detecting CXX compile features

> >

> > -- Detecting CXX compile features - done

> >

> > -- Check for working C compiler: /usr/bin/cc

> >

> > -- Check for working C compiler: /usr/bin/cc -- works

> >

> > -- Detecting C compiler ABI info

> >

> > -- Detecting C compiler ABI info - done

> >

> > -- Detecting C compile features

> >

> > -- Detecting C compile features - done

> >

> > -- Looking for pthread.h

> >

> > -- Looking for pthread.h - found

> >

> > -- Performing Test CMAKE_HAVE_LIBC_PTHREAD

> >

> > -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed

> >

> > -- Looking for pthread_create in pthreads

> >

> > -- Looking for pthread_create in pthreads - not found

> >

> > -- Looking for pthread_create in pthread

> >

> > -- Looking for pthread_create in pthread - found

> >

> > -- Found Threads: TRUE

> >

> > -- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")

> >

> > -- Checking for module 'gmp'

> >

> > --   Found gmp, version 6.2.0

> >

> > -- Found GMP: /usr/lib/x86_64-linux-gnu/libgmpxx.so

> >

> > -- Using GMP.

> >

> > -- Found MPLIB: /usr/lib/x86_64-linux-gnu/libgmpxx.so

> >

> > -- Found Boost:

> > /lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found

> > suitable version "1.71.0", minimum required is "1.71.0") found

> > components: date_time program_options system regex thread

> > unit_test_framework

> >

> > -- Found Volk: Volk::volk

> >

> > -- User set python executable /usr/bin/python3

> >

> > -- Found PythonInterp: /usr/bin/python3 (found version "3.8.10")

> >

> > -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.8.so (found

> > suitable exact version "3.8.10")

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(3):

> > if(3.16 LESS 2.5 )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(6):

> > cmake_policy(PUSH )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(7):

> > cmake_policy(VERSION 2.6 )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(13):

> > set(CMAKE_IMPORT_FILE_VERSION 1 )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(16):

> > set(_targetsDefined )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(17):

> > set(_targetsNotDefined )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(18):

> > set(_expectedTargets )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(19):

> > foreach(_expectedTarget gnuradio::gnuradio-runtime )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(20):

> > list(APPEND _expectedTargets gnuradio::gnuradio-runtime )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(21):

> > if(NOT TARGET gnuradio::gnuradio-runtime )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(22):

> > list(APPEND _targetsNotDefined gnuradio::gnuradio-runtime )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(24):

> > if(TARGET gnuradio::gnuradio-runtime )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(28):

> > if( STREQUAL gnuradio::gnuradio-runtime )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(36):

> > if(NOT  STREQUAL  )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(39):

> > unset(_targetsDefined )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(40):

> > unset(_targetsNotDefined )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(41):

> > unset(_expectedTargets )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(45):

> > get_filename_component(_IMPORT_PREFIX

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-runtimeTargets.cmake

> > PATH )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(48):

> > get_filename_component(_realCurr /lib/x86_64-linux-gnu/cmake/gnuradio

> > REALPATH )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(49):

> > get_filename_component(_realOrig

> > /usr/lib/x86_64-linux-gnu/cmake/gnuradio REALPATH )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(50):

> > if(_realCurr STREQUAL _realOrig )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(51):

> > set(_IMPORT_PREFIX /usr/lib/x86_64-linux-gnu/cmake/gnuradio )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(53):

> > unset(_realOrig )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(54):

> > unset(_realCurr )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(55):

> > get_filename_component(_IMPORT_PREFIX

> > /usr/lib/x86_64-linux-gnu/cmake/gnuradio PATH )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(56):

> > get_filename_component(_IMPORT_PREFIX /usr/lib/x86_64-linux-

> gnu/cmake

> > PATH )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(57):

> > get_filename_component(_IMPORT_PREFIX /usr/lib/x86_64-linux-gnu

> PATH )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(58):

> > get_filename_component(_IMPORT_PREFIX /usr/lib PATH )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(59):

> > if(_IMPORT_PREFIX STREQUAL / )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(64):

> > add_library(gnuradio::gnuradio-runtime SHARED IMPORTED )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(66):

> > set_target_properties(gnuradio::gnuradio-runtime PROPERTIES

> > INTERFACE_COMPILE_DEFINITIONS

> > GR_MPLIB_GMP;GR_CTRLPORT;GR_PERFORMANCE_COUNTERS

> > INTERFACE_COMPILE_FEATURES cxx_std_17

> INTERFACE_INCLUDE_DIRECTORIES

> > /usr/include INTERFACE_LINK_LIBRARIES

> > gnuradio::gnuradio-pmt;Volk::volk;Boost::program_options;Boost::thread

> >

> ;spdlog::spdlog;MPLib::mplib;Python::Module;$<$<AND:$<CXX_COMPILER_I

> D:

> > GNU>,$<VERSION_LESS:$<CXX_COMPILER_VERSION>,9.0>>:stdc++fs>;rt

> > )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(73):

> > if(CMAKE_VERSION VERSION_LESS 2.8.12 )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(78):

> > get_filename_component(_DIR

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-runtimeTargets.cmake

> > PATH )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(79):

> > file(GLOB CONFIG_FILES

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-runtimeTargets-*.cmake )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(80):

> > foreach(f

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-runtimeTargets-release.c

> > make )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(81):

> > include(/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-runtimeTargets-r

> > elease.cmake

> > )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(85):

> > set(_IMPORT_PREFIX )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(88):

> > foreach(target gnuradio::gnuradio-runtime )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(89):

> > foreach(file /usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so.3.10.4.0

> > )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(90):

> > if(NOT EXISTS

> > /usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so.3.10.4.0 )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(102

> > ):  unset(_IMPORT_CHECK_FILES_FOR_gnuradio::gnuradio-runtime

> > )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(104

> > ):  unset(_IMPORT_CHECK_TARGETS

> > )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(108

> > ):  unset(Gnuradio_NOT_FOUND_MESSAGE_targets

> > )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(109

> > ):  foreach(_target gnuradio::gnuradio-pmt )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(110

> > ):  if(NOT TARGET gnuradio::gnuradio-pmt )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(115

> > ):  if(DEFINED Gnuradio_NOT_FOUND_MESSAGE_targets )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(123

> > ):  unset(Gnuradio_NOT_FOUND_MESSAGE_targets

> > )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(126

> > ):  set(CMAKE_IMPORT_FILE_VERSION

> > )

> >

> > /lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(127

> > ):  cmake_policy(POP

> > )

> >

> > -- Check if the system is big endian

> >

> > -- Searching 16 bit integer

> >

> > -- Looking for sys/types.h

> >

> > -- Looking for sys/types.h - found

> >

> > -- Looking for stdint.h

> >

> > -- Looking for stdint.h - found

> >

> > -- Looking for stddef.h

> >

> > -- Looking for stddef.h - found

> >

> > -- Check size of unsigned short

> >

> > -- Check size of unsigned short - done

> >

> > -- Using unsigned short

> >

> > -- Check if the system is big endian - little endian

> >

> > -- Performing Test HAVE_VISIBILITY_HIDDEN

> >

> > -- Performing Test HAVE_VISIBILITY_HIDDEN - Success

> >

> > -- Performing Test HAVE_WARN_SIGN_COMPARE

> >

> > -- Performing Test HAVE_WARN_SIGN_COMPARE - Success

> >

> > -- Performing Test HAVE_WARN_ALL

> >

> > -- Performing Test HAVE_WARN_ALL - Success

> >

> > -- Performing Test HAVE_WARN_NO_UNINITIALIZED

> >

> > -- Performing Test HAVE_WARN_NO_UNINITIALIZED - Success

> >

> > -- Found Git: /usr/bin/git

> >

> > -- Found Doxygen: /usr/bin/doxygen (found version "1.8.17") found

> > components: doxygen missing components: dot

> >

> > -- Using install prefix: /usr/local

> >

> > -- Building for version: 1.0.0.0 / 1.0.0

> >

> > -- No C++ unit tests... skipping

> >

> > -- PYTHON and GRC components are enabled

> >

> > -- Python checking for pygccxml - found

> >

> > -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.8.so

> >

> > -- Performing Test HAS_FLTO

> >

> > -- Performing Test HAS_FLTO - Success

> >

> > -- LTO enabled

> >

> > -- Configuring done

> >

> > CMake Warning (dev) in CMakeLists.txt:

> >

> >    Policy CMP0082 is not set: Install rules from add_subdirectory()

> > are

> >

> >    interleaved with those in caller.  Run "cmake --help-policy

> > CMP0082" for

> >

> >    policy details.  Use the cmake_policy command to set the policy and

> >

> >    suppress this warning.

> >

> > This warning is for project developers.  Use -Wno-dev to suppress it.

> >

> > CMake Error in lib/CMakeLists.txt:

> >

> >    Imported target "gnuradio::gnuradio-runtime" includes non-existent

> > path

> >

> >      "/include"

> >

> >    in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

> >

> >    * The path was deleted, renamed, or moved to another location.

> >

> >    * An install or uninstall procedure did not complete successfully.

> >

> >    * The installation package was faulty and references files it does

> > not

> >

> >    provide.

> >

> > CMake Error in lib/CMakeLists.txt:

> >

> >    Imported target "gnuradio::gnuradio-runtime" includes non-existent

> > path

> >

> >      "/include"

> >

> >    in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

> >

> >    * The path was deleted, renamed, or moved to another location.

> >

> >    * An install or uninstall procedure did not complete successfully.

> >

> >    * The installation package was faulty and references files it does

> > not

> >

> >    provide.

> >

> > CMake Warning (dev) in python/customModule/CMakeLists.txt:

> >

> >    Policy CMP0082 is not set: Install rules from add_subdirectory()

> > are

> >

> >    interleaved with those in caller.  Run "cmake --help-policy

> > CMP0082" for

> >

> >    policy details.  Use the cmake_policy command to set the policy and

> >

> >    suppress this warning.

> >

> > This warning is for project developers.  Use -Wno-dev to suppress it.

> >

> > CMake Error in python/customModule/bindings/CMakeLists.txt:

> >

> >    Imported target "Boost::date_time" includes non-existent path

> >

> >      "/include"

> >

> >    in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

> >

> >    * The path was deleted, renamed, or moved to another location.

> >

> >    * An install or uninstall procedure did not complete successfully.

> >

> >    * The installation package was faulty and references files it does

> > not

> >

> >    provide.

> >

> > CMake Warning (dev) at /lib/cmake/pybind11/pybind11Tools.cmake:131

> > (add_library):

> >

> >    Policy CMP0060 is not set: Link libraries by full path even in

> > implicit

> >

> >    directories.  Run "cmake --help-policy CMP0060" for policy details.

> > Use

> >

> >    the cmake_policy command to set the policy and suppress this warning.

> >

> >    Some library files are in directories implicitly searched by the

> > linker

> >

> >    when invoked for CXX:

> >

> >     /usr/lib/x86_64-linux-gnu/libgmp.so

> >

> >     /usr/lib/x86_64-linux-gnu/libgmpxx.so

> >

> >    For compatibility with older versions of CMake, the generated link

> > line

> >

> >    will ask the linker to search for these by library name.

> >

> > Call Stack (most recent call first):

> >

> >    /lib/x86_64-linux-gnu/cmake/gnuradio/GrPybind.cmake:288

> > (pybind11_add_module)

> >

> >    python/customModule/bindings/CMakeLists.txt:34

> (GR_PYBIND_MAKE_OOT)

> >

> > This warning is for project developers.  Use -Wno-dev to suppress it.

> >

> > CMake Error in python/customModule/bindings/CMakeLists.txt:

> >

> >    Imported target "Boost::date_time" includes non-existent path

> >

> >      "/include"

> >

> >    in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

> >

> >    * The path was deleted, renamed, or moved to another location.

> >

> >    * An install or uninstall procedure did not complete successfully.

> >

> >    * The installation package was faulty and references files it does

> > not

> >

> >    provide.

> >

> > -- Generating done

> >

> > CMake Generate step failed.  Build files cannot be regenerated correctly.

> >

> > Searching the full expanded trace resulted in:

> >

> >                $ cmake .. --trace-expand >

> > gnuradio-v3.10.4-cmake_trace_expand.log

> >

> >                $ grep -E -n '

> > /include|;/include|"/include"|Boost::date_time|gnuradio::gnuradio-

> runtime'

> > gnuradio-v3.10.4-cmake_trace_expand.log

> >

> > 15154:/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-

> config.cmake(19):

> > set_target_properties(Boost::headers PROPERTIES

> > INTERFACE_INCLUDE_DIRECTORIES /include

> INTERFACE_COMPILE_DEFINITIONS

> > BOOST_ALL_NO_LIB )

> >

> > 15201:/lib/x86_64-linux-gnu/cmake/boost_date_time-

> 1.71.0/boost_date_time-config.cmake(3):

> > if(TARGET Boost::date_time )

> >

> > 15206:/lib/x86_64-linux-gnu/cmake/boost_date_time-

> 1.71.0/boost_date_time-config.cmake(17):

> > add_library(Boost::date_time UNKNOWN IMPORTED )

> >

> > 15207:/lib/x86_64-linux-gnu/cmake/boost_date_time-

> 1.71.0/boost_date_time-config.cmake(19):

> > set_target_properties(Boost::date_time PROPERTIES

> > INTERFACE_INCLUDE_DIRECTORIES /include

> INTERFACE_COMPILE_DEFINITIONS

> > BOOST_ALL_NO_LIB )

> >

> > 15247:/lib/x86_64-linux-gnu/cmake/boost_date_time-

> 1.71.0/libboost_date_time-variant-shared.cmake(57):

> > get_target_property(__boost_imploc Boost::date_time

> > IMPORTED_LOCATION_RELEASE )

> >

> > 15250:/lib/x86_64-linux-gnu/cmake/boost_date_time-

> 1.71.0/libboost_date_time-variant-shared.cmake(63):

> > set_property(TARGET Boost::date_time APPEND PROPERTY

> > IMPORTED_CONFIGURATIONS RELEASE )

> >

> > 15251:/lib/x86_64-linux-gnu/cmake/boost_date_time-

> 1.71.0/libboost_date_time-variant-shared.cmake(65):

> > set_target_properties(Boost::date_time PROPERTIES

> > IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE CXX

> > IMPORTED_LOCATION_RELEASE

> > /lib/x86_64-linux-gnu/libboost_date_time.so.1.71.0 )

> >

> > 15252:/lib/x86_64-linux-gnu/cmake/boost_date_time-

> 1.71.0/libboost_date_time-variant-shared.cmake(70):

> > set_target_properties(Boost::date_time PROPERTIES

> > MAP_IMPORTED_CONFIG_MINSIZEREL Release

> > MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release )

> >

> > 15253:/lib/x86_64-linux-gnu/cmake/boost_date_time-

> 1.71.0/libboost_date_time-variant-shared.cmake(75):

> > set_target_properties(Boost::date_time PROPERTIES

> > INTERFACE_COMPILE_DEFINITIONS BOOST_DATE_TIME_DYN_LINK )

> >

> > 15268:/lib/x86_64-linux-gnu/cmake/boost_date_time-

> 1.71.0/boost_date_time-config.cmake(50):

> > get_target_property(__boost_configs Boost::date_time

> > IMPORTED_CONFIGURATIONS )

> >

> > 15293:/lib/x86_64-linux-gnu/cmake/boost_date_time-

> 1.71.0/boost_date_time-config.cmake(92):

> > set_property(TARGET Boost::date_time APPEND PROPERTY

> > INTERFACE_LINK_LIBRARIES Boost::headers )

> >

> > 15305:/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake(131):

> > list(APPEND Boost_LIBRARIES Boost::date_time )

> >

> > 15306:/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake(132):

> > set(Boost_DATE_TIME_LIBRARY Boost::date_time )

> >

> > 15307:/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake(134):

> > if(NOT date_time STREQUAL date_time AND NOT TARGET Boost::date_time

> )

> >

> > 15339:/lib/x86_64-linux-gnu/cmake/boost_program_options-

> 1.71.0/boost_program_options-config.cmake(19):

> > set_target_properties(Boost::program_options PROPERTIES

> > INTERFACE_INCLUDE_DIRECTORIES /include

> INTERFACE_COMPILE_DEFINITIONS

> > BOOST_ALL_NO_LIB )

> >

> > 15471:/lib/x86_64-linux-gnu/cmake/boost_system-1.71.0/boost_system-

> config.cmake(19):

> > set_target_properties(Boost::system PROPERTIES

> > INTERFACE_INCLUDE_DIRECTORIES /include

> INTERFACE_COMPILE_DEFINITIONS

> > BOOST_ALL_NO_LIB )

> >

> > 15603:/lib/x86_64-linux-gnu/cmake/boost_regex-1.71.0/boost_regex-

> config.cmake(19):

> > set_target_properties(Boost::regex PROPERTIES

> > INTERFACE_INCLUDE_DIRECTORIES /include

> INTERFACE_COMPILE_DEFINITIONS

> > BOOST_ALL_NO_LIB )

> >

> > 15735:/lib/x86_64-linux-gnu/cmake/boost_thread-1.71.0/boost_thread-

> config.cmake(19):

> > set_target_properties(Boost::thread PROPERTIES

> > INTERFACE_INCLUDE_DIRECTORIES /include

> INTERFACE_COMPILE_DEFINITIONS

> > BOOST_ALL_NO_LIB )

> >

> > 15825:/lib/x86_64-linux-gnu/cmake/boost_atomic-1.71.0/boost_atomic-

> config.cmake(19):

> > set_target_properties(Boost::atomic PROPERTIES

> > INTERFACE_INCLUDE_DIRECTORIES /include

> INTERFACE_COMPILE_DEFINITIONS

> > BOOST_ALL_NO_LIB )

> >

> > 16138:/lib/x86_64-linux-gnu/cmake/boost_unit_test_framework-

> 1.71.0/boost_unit_test_framework-config.cmake(19):

> > set_target_properties(Boost::unit_test_framework PROPERTIES

> > INTERFACE_INCLUDE_DIRECTORIES /include

> INTERFACE_COMPILE_DEFINITIONS

> > BOOST_ALL_NO_LIB )

> >

> > 16372:/usr/share/cmake-

> 3.16/Modules/FindBoost.cmake(323):  list(APPEND

> > include_dirs /include )

> >

> > 16401:/usr/share/cmake-3.16/Modules/FindBoost.cmake(268):  if(TARGET

> > Boost::date_time )

> >

> > 16403:/usr/share/cmake-3.16/Modules/FindBoost.cmake(284):  set(target

> > Boost::date_time PARENT_SCOPE )

> >

> > 16406:/usr/share/cmake-3.16/Modules/FindBoost.cmake(352):

> > _boost_append_include_dir(Boost::date_time )

> >

> > 16407:/usr/share/cmake-3.16/Modules/FindBoost.cmake(321):

> > get_target_property(inc Boost::date_time

> INTERFACE_INCLUDE_DIRECTORIES

> > )

> >

> > 16409:/usr/share/cmake-

> 3.16/Modules/FindBoost.cmake(323):  list(APPEND

> > include_dirs /include )

> >

> > 16410:/usr/share/cmake-3.16/Modules/FindBoost.cmake(353):

> > _boost_set_if_unset(Boost_DATE_TIME_LIBRARY Boost::date_time )

> >

> > 16412:/usr/share/cmake-3.16/Modules/FindBoost.cmake(354):

> > _boost_set_if_unset(Boost_DATE_TIME_LIBRARIES Boost::date_time )

> >

> > 16414:/usr/share/cmake-3.16/Modules/FindBoost.cmake(310):

> > _boost_set_in_parent_scope(Boost_DATE_TIME_LIBRARIES

> Boost::date_time

> > )

> >

> > 16415:/usr/share/cmake-3.16/Modules/FindBoost.cmake(304):

> > set(Boost_DATE_TIME_LIBRARIES Boost::date_time PARENT_SCOPE )

> >

> > 16416:/usr/share/cmake-3.16/Modules/FindBoost.cmake(305):

> > set(Boost_DATE_TIME_LIBRARIES Boost::date_time )

> >

> > 16417:/usr/share/cmake-

> 3.16/Modules/FindBoost.cmake(355):  list(APPEND

> > libraries Boost::date_time )

> >

> > 16418:/usr/share/cmake-3.16/Modules/FindBoost.cmake(356):

> > get_property(type TARGET Boost::date_time PROPERTY TYPE )

> >

> > 16421:/usr/share/cmake-3.16/Modules/FindBoost.cmake(359):

> > get_target_property(lib Boost::date_time IMPORTED_LOCATION_RELEASE )

> >

> > 16428:/usr/share/cmake-3.16/Modules/FindBoost.cmake(359):

> > get_target_property(lib Boost::date_time IMPORTED_LOCATION_DEBUG )

> >

> > 16434:/usr/share/cmake-3.16/Modules/FindBoost.cmake(298):

> > set(canonical_target Boost::date_time PARENT_SCOPE )

> >

> > 16435:/usr/share/cmake-3.16/Modules/FindBoost.cmake(371):  if(NOT

> > TARGET Boost::date_time )

> >

> > 16456:/usr/share/cmake-

> 3.16/Modules/FindBoost.cmake(323):  list(APPEND

> > include_dirs /include )

> >

> > 16503:/usr/share/cmake-

> 3.16/Modules/FindBoost.cmake(323):  list(APPEND

> > include_dirs /include )

> >

> > 16550:/usr/share/cmake-

> 3.16/Modules/FindBoost.cmake(323):  list(APPEND

> > include_dirs /include )

> >

> > 16597:/usr/share/cmake-

> 3.16/Modules/FindBoost.cmake(323):  list(APPEND

> > include_dirs /include )

> >

> > 16644:/usr/share/cmake-

> 3.16/Modules/FindBoost.cmake(323):  list(APPEND

> > include_dirs /include )

> >

> > 16673:/usr/share/cmake-3.16/Modules/FindBoost.cmake(379):

> > _boost_set_if_unset(Boost_INCLUDE_DIRS /include )

> >

> > 16680:/usr/share/cmake-3.16/Modules/FindBoost.cmake(381):

> > _boost_set_if_unset(Boost_LIBRARIES

> > Boost::date_time;Boost::program_options;Boost::system;Boost::regex;Boo

> > st::thread;Boost::unit_test_framework

> > )

> >

> > 16684:/usr/share/cmake-3.16/Modules/FindBoost.cmake(383):

> > find_path(Boost_INCLUDE_DIR NAMES boost/version.hpp

> boost/config.hpp

> > HINTS /include NO_DEFAULT_PATH )

> >

> > 17267:/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(19):

> > foreach(_expectedTarget gnuradio::gnuradio-runtime )

> >

> > 17268:/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(20):

> > list(APPEND _expectedTargets gnuradio::gnuradio-runtime )

> >

> > 17269:/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(21):

> > if(NOT TARGET gnuradio::gnuradio-runtime )

> >

> > 17270:/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(22):

> > list(APPEND _targetsNotDefined gnuradio::gnuradio-runtime )

> >

> > 17271:/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(24):

> > if(TARGET gnuradio::gnuradio-runtime )

> >

> > 17272:/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(28):

> > if( STREQUAL gnuradio::gnuradio-runtime )

> >

> > 17289:/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(64):

> > add_library(gnuradio::gnuradio-runtime SHARED IMPORTED )

> >

> > 17290:/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(66):

> > set_target_properties(gnuradio::gnuradio-runtime PROPERTIES

> > INTERFACE_COMPILE_DEFINITIONS

> > GR_MPLIB_GMP;GR_CTRLPORT;GR_PERFORMANCE_COUNTERS

> > INTERFACE_COMPILE_FEATURES cxx_std_17

> INTERFACE_INCLUDE_DIRECTORIES

> > /usr/include INTERFACE_LINK_LIBRARIES

> > gnuradio::gnuradio-pmt;Volk::volk;Boost::program_options;Boost::thread

> >

> ;spdlog::spdlog;MPLib::mplib;Python::Module;$<$<AND:$<CXX_COMPILER_I

> D:

> > GNU>,$<VERSION_LESS:$<CXX_COMPILER_VERSION>,9.0>>:stdc++fs>;rt

> > )

> >

> > 17297:/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-runtimeTargets-

> release.cmake(9):

> > set_property(TARGET gnuradio::gnuradio-runtime APPEND PROPERTY

> > IMPORTED_CONFIGURATIONS RELEASE )

> >

> > 17298:/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-runtimeTargets-

> release.cmake(10):

> > set_target_properties(gnuradio::gnuradio-runtime PROPERTIES

> > IMPORTED_LOCATION_RELEASE

> > /usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so.3.10.4.0

> > IMPORTED_SONAME_RELEASE libgnuradio-runtime.so.3.10.4 )

> >

> > 17299:/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-runtimeTargets-

> release.cmake(15):

> > list(APPEND _IMPORT_CHECK_TARGETS gnuradio::gnuradio-runtime )

> >

> > 17300:/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-runtimeTargets-

> release.cmake(16):

> > list(APPEND _IMPORT_CHECK_FILES_FOR_gnuradio::gnuradio-runtime

> > /usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so.3.10.4.0 )

> >

> > 17303:/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(88):

> > foreach(target gnuradio::gnuradio-runtime )

> >

> > 17306:/lib/x86_64-linux-gnu/cmake/gnuradio/gnuradio-

> runtimeTargets.cmake(102):

> > unset(_IMPORT_CHECK_FILES_FOR_gnuradio::gnuradio-runtime )

> >

> > 24977:/home/mmatthews/gr-customModule/lib/CMakeLists.txt(25):

> > target_link_libraries(gnuradio-customModule gnuradio::gnuradio-runtime

> > )

> >

> > 30717:/lib/cmake/pybind11/pybind11Targets.cmake(56):

> > set_target_properties(pybind11::pybind11 PROPERTIES

> > INTERFACE_INCLUDE_DIRECTORIES /include )

> >

> > 30742:/lib/cmake/pybind11/pybind11Config.cmake(125):

> > set(pybind11_INCLUDE_DIRS /include;/usr/include/python3.8 )

> >

> > 31336:/lib/x86_64-linux-gnu/cmake/gnuradio/GrPybind.cmake(336):

> > target_link_libraries(customModule_python PRIVATE

> > Boost::date_time;Boost::program_options;Boost::system;Boost::regex;Boo

> > st::thread;Boost::unit_test_framework

> > pybind11::pybind11 Python::Module Python::NumPy gnuradio-

> customModule

> > )

> >

> > 31544:  Imported target "gnuradio::gnuradio-runtime" includes

> > non-existent path

> >

> > 31546:    "/include"

> >

> > 31560:  Imported target "gnuradio::gnuradio-runtime" includes

> > non-existent path

> >

> > 31562:    "/include"

> >

> > 31584:  Imported target "Boost::date_time" includes non-existent path

> >

> > 31586:    "/include"

> >

> > 31618:  Imported target "Boost::date_time" includes non-existent path

> >

> > 31620:    "/include"

> >

> > Michael Matthews

> > Graduate Software Engineer

> > Mobile: +1 847 714 4809

> >

> >

> > Micro-X

> >

> <https://aus01.safelinks.protection.outlook.com/?url="">

> > ro-x.com%2F&amp;data="">

> x.com%7C0bcabdb91a214

> >

> 4fb95d908dab2ba62a0%7Cad206e7b8a5d4d9aabf6ab3a9fd2c934%7C0%7C0

> %7C63801

> >

> 8810845946402%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLC

> JQIjoiV2lu

> >

> MzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=il

> aviiR8C

> > u%2FCfxjeq9VCHS1xqx3wusckJ2aHzxiFGZE%3D&amp;reserved=0>

> >

> > 855 South 192nd St, Suite 600

> > SeaTac, WA, 98148, United States

> >

> *https://aus01.safelinks.protection.outlook.com/?url="">

> > micro-x.com%2F&amp;data="">

> x.com%7C0bcabdb91a

> >

> 2144fb95d908dab2ba62a0%7Cad206e7b8a5d4d9aabf6ab3a9fd2c934%7C0%

> 7C0%7C63

> >

> 8018810845946402%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMD

> AiLCJQIjoiV

> >

> 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdat

> a=GXzTqO

> > Dw2Gu0lKi7nQqRdIplAzD1rpfvfSBn%2FPgQ2CM%3D&amp;reserved=0

> >

> <https://aus01.safelinks.protection.outlook.com/?url="">

> > ro-x.com%2F&amp;data="">

> x.com%7C0bcabdb91a214

> >

> 4fb95d908dab2ba62a0%7Cad206e7b8a5d4d9aabf6ab3a9fd2c934%7C0%7C0

> %7C63801

> >

> 8810845946402%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLC

> JQIjoiV2lu

> >

> MzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=il

> aviiR8C

> > u%2FCfxjeq9VCHS1xqx3wusckJ2aHzxiFGZE%3D&amp;reserved=0>*

> >

> >  > -----Original Message-----

> >

> >  > From: Ryan Volz <ryan.volz@gmail.com>

> >

> >  > Sent: Wednesday, October 19, 2022 7:18 AM

> >

> >  > To: Michael Matthews <mmatthews@micro-x.com>; discuss-

> >

> >  > gnuradio@gnu.org

> >

> >  > Subject: Re: Problems with gr-modtool on Ubuntu 20.04 (gnuradio

> > 3.10.4)

> >

> >  >

> >

> >  > Hi Michael,

> >

> >  >

> >

> >  > On 10/18/22 5:47 PM, Michael Matthews wrote:

> >

> >  > > Hey Ryan,

> >

> >  > >

> >

> >  > > I went ahead and ran that cmake trace and it did produce

> > something

> >

> >  > > interesting.  I seems that two cmake policies are not set and

> > both

> >

> >  > > have the behavior to not throw warnings by default. The offending

> > policies

> >

> >  > are:

> >

> >  > >

> >

> >  > > - CMP0060

> >

> >  > >

> >

> >  > > - CMP0082

> >

> >  >

> >

> >  > Those are nothing to be concerned about.

> >

> >  >

> >

> >  > > ...

> >

> >  > > PS.

> >

> >  > >

> >

> >  > > The trace output I received is below:

> >

> >  > >

> >

> >  > > ...

> >

> >  > I don't actually see anything new in the trace, so I suspect it

> > didn't work.

> >

> >  > Probably it's not loading that file from that exact path (maybe

> > /usr/lib -> /lib

> >

> >  > would work?). Here's the option that should definitely work,

> > although it will

> >

> >  > also produce much more than we need:

> >

> >  >

> >

> >  > cmake .. --trace-expand

> >

> >  >

> >

> >  >

> >

> >  > Cheers,

> >

> >  > Ryan

> >


reply via email to

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