Hi,
I am trying to build the gnuradio-demo-image for an USRP E310, and I need to use gnuradio-companion. As pygtk is deprecated, I I have modified the gnuradio_git.bb recipe from meta-sdr/recipes-core to update the GNU-Radio version up to 3.8.0 with the following revision : SRCREV = 53ddb74a315c800268ab83e0dc8f67bbcab54be8 (branch next, 18 July 2018) This revision uses qi package to import Gtk modules When I run bitbake gnu radio, it ends with a do_configure error saying that CMake can’t find the good python version (cf. Error output below) Log data follows: | DEBUG: Executing shell function do_configure | -- The CXX compiler identification is GNU 7.3.0 | -- The C compiler identification is GNU 7.3.0 | -- Check for working CXX compiler: /home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++ -- 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: /home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc | -- Check for working C compiler: /home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc -- works | -- Detecting C compiler ABI info | -- Detecting C compiler ABI info - done | -- Detecting C compile features | -- Detecting C compile features - done | -- Build type not specified: defaulting to release. | -- Build type set to Release. | -- Could NOT find Git (missing: GIT_EXECUTABLE) | -- 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 | -- Compiler Version: arm-oe-linux-gnueabi-gcc (GCC) 7.3.0 | Copyright (C) 2017 Free Software Foundation, Inc. | This is free software; see the source for copying conditions. There is NO | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | -- Compiler Flags: /home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc:::-DNDEBUG -march=armv7-a -marm -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=/home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0=/usr/src/debug/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0 -fdebug-prefix-map=/home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot= -march=armv7-a -marm -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=/home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized | /home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++:::-DNDEBUG -march=armv7-a -marm -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=/home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0=/usr/src/debug/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0 -fdebug-prefix-map=/home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot= -fvisibility-inlines-hidden -march=armv7-a -marm -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=/home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized | -- ADDING PERF COUNTERS | -- Building Static Libraries: OFF | -- Looking for pthread.h | -- Looking for pthread.h - found | -- Looking for pthread_create | -- Looking for pthread_create - not found | -- 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 | -- Boost version: 1.64.0 | -- Found the following Boost libraries: | -- date_time | -- program_options | -- filesystem | -- system | -- regex | -- thread | -- chrono | -- atomic | -- PYTHON_EXECUTABLE not set - using default python3 | -- Use -DPYTHON_EXECUTABLE=/path/to/python2 to build for python2. | CMake Error at /home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot-native/usr/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message): | Could NOT find PythonInterp: Found unsuitable version "2.7.13", but | required is at least "3.4" (found | /home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot-native/usr/bin/python-native/python) | Call Stack (most recent call first): | /home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot-native/usr/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:375 (_FPHSA_FAILURE_MESSAGE) | /home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/recipe-sysroot-native/usr/share/cmake-3.8/Modules/FindPythonInterp.cmake:149 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) | cmake/Modules/GrPython.cmake:37 (find_package) | CMakeLists.txt:361 (include) | | | -- Configuring incomplete, errors occurred! | See also "/home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/build/CMakeFiles/CMakeOutput.log". | See also "/home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/build/CMakeFiles/CMakeError.log". | WARNING: exit code 1 from a shell command. | ERROR: Function failed: do_configure (log file is located at /home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/temp/log.do_configure.7489) ERROR: Task (/home/william/Bureau/yocto/openembedded-core-rocko/../meta-sdr-master/recipes-core/gnuradio/gnuradio_git.bb:do_configure) failed with exit code '1' NOTE: Tasks Summary: Attempted 3014 tasks of which 3012 didn't need to be rerun and 1 failed. NOTE: No commit since BUILDHISTORY_COMMIT != '1' Summary: 1 task failed: /home/william/Bureau/yocto/openembedded-core-rocko/../meta-sdr-master/recipes-core/gnuradio/gnuradio_git.bb: do_configure Summary: There were 14 WARNING messages shown. Summary: There was 1 ERROR message shown, returning a non-zero exit code. Even if I don't really get why this happens, I tried to use the -DPYTHON_EXECUTABLE flag to hard-code the path to python2.7 which I found there : build/tmp/work/………/gnuradio/3.8.0+git/recipe-sysroot-native/usr/bin/python-native/python Once done, now Cmake can’t find most of the python modules required for gnuradio-companion, see Log below : | -- | -- Configuring gr-zeromq support... | -- Dependency Boost_FOUND = 1 | -- Dependency ENABLE_GNURADIO_RUNTIME = ON | -- Dependency ZEROMQ_FOUND = TRUE | -- Enabling gr-zeromq support. | -- Override with -DENABLE_GR_ZEROMQ=ON/OFF | -- | -- Python checking for python2 >= 2.7.6 or python3 >= 3.4.0 - found | -- Python checking for PyYAML >= 3.10 - not found | -- Python checking for mako >= 0.9.1 - found | -- Python checking for lxml >= 1.3.6 - not found | -- Python checking for pygobject >= 2.28.6 - not found | -- Python checking for Gtk (GI) >= 3.10.8 - not found | -- Python checking for Cairo (GI) >= 1.0 - not found | -- Python checking for PangoCairo (GI) >= 1.0 - not found | -- Python checking for numpy - not found | -- | -- Configuring gnuradio-companion support... | -- Dependency ENABLE_GNURADIO_RUNTIME = ON | -- Dependency ENABLE_PYTHON = OFF | CMake Error at cmake/Modules/GrComponent.cmake:75 (message): | user force-enabled gnuradio-companion but configuration checked failed | Call Stack (most recent call first): | grc/CMakeLists.txt:102 (GR_REGISTER_COMPONENT) | | | -- Configuring incomplete, errors occurred! | See also "/home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/build/CMakeFiles/CMakeOutput.log". | See also "/home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/build/CMakeFiles/CMakeError.log". | WARNING: exit code 1 from a shell command. | ERROR: Function failed: do_configure (log file is located at /home/william/Bureau/yocto/openembedded-core-rocko/build/tmp-glibc/work/cortexa9hf-neon-oe-linux-gnueabi/gnuradio/3.8.0+gitAUTOINC+53ddb74a31-r0/temp/log.do_configure.11481) ERROR: Task (/home/william/Bureau/yocto/openembedded-core-rocko/../meta-sdr-master/recipes-core/gnuradio/gnuradio_git.bb:do_configure) failed with exit code '1' I don’t understand why Cmake would find mako but not all the others requirements. They are included in the recipe’s DEPENDS and/or RDPENDS variables. And I also can see them in the WORKDIR (in recipe-sysroot or recipe-sysroot-native) So, I tried to add ‘python-numpy-native’ + ‘python-lxml-native’ + ‘python-pygobject-native’ to the DEPENDS variable and it seems to work… | -- Python checking for python2 >= 2.7.6 or python3 >= 3.4.0 - found | -- Python checking for PyYAML >= 3.10 - not found | -- Python checking for mako >= 0.9.1 - found | -- Python checking for lxml >= 1.3.6 - found | -- Python checking for pygobject >= 2.28.6 - found | -- Python checking for Gtk (GI) >= 3.10.8 - not found | -- Python checking for Cairo (GI) >= 1.0 - not found | -- Python checking for PangoCairo (GI) >= 1.0 - not found | -- Python checking for numpy - found But actually I have no idea why this worked, because if I only add ‘python-pygobject’ without ‘-native’ it’s not found by Cmake. Moreover, I can’t find a way to make the 3 missing dependencies (Gtk, Cairo, PangoCairo) findable for Cmake. Do you have any idea of what I could do ? Thanks a lot in advance !
_______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com