discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: Cannot specify link libraries for target "Python::NumPy"


From: Chad Spooner
Subject: Re: Cannot specify link libraries for target "Python::NumPy"
Date: Fri, 29 Oct 2021 08:44:28 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0

Ron:

Thanks much for your patience and help.

Prior to my previous 'make test' and email, I had already installed all the libraries you mention:

cmspooner@whisper6.mry.nwra.com>dpkg -l | grep libqwt-qt
ii  libqwt-qt5-6                             6.1.3-1                                             amd64        Qt widgets library for technical applications (runtime, qt5)
ii  libqwt-qt5-dev                           6.1.3-1                                             amd64        Qt widgets library for technical applications (development, qt5)
cmspooner@whisper6.mry.nwra.com>dpkg -l | grep qtbase5-dev
ii  qtbase5-dev:amd64                        5.9.5+dfsg-0ubuntu2.6                               amd64        Qt 5 base development files
ii  qtbase5-dev-tools                        5.9.5+dfsg-0ubuntu2.6                               amd64        Qt 5 base development programs
cmspooner@whisper6.mry.nwra.com>dpkg -l | grep libqt5svg
ii  libqt5svg5:amd64                         5.9.5-0ubuntu1                                      amd64        Qt 5 SVG module
ii  libqt5svg5-dev:amd64                     5.9.5-0ubuntu1                                      amd64        Qt 5 SVG module development files

The qa_qtgui fail:

228/247 Testing: qa_qtgui
228/247 Test: qa_qtgui
Command: "/bin/sh" "/home/cmspooner/temp/gnuradio/build/gr-qtgui/python/qtgui/qa_qtgui_test.sh"
Directory: /home/cmspooner/temp/gnuradio/build/gr-qtgui/python/qtgui
"qa_qtgui" start time: Oct 28 17:27 PDT
Output:
----------------------------------------------------------
Segmentation fault (core dumped)
<end of output>
Test time =   0.30 sec
----------------------------------------------------------
Test Failed.
"qa_qtgui" end time: Oct 28 17:27 PDT
"qa_qtgui" time elapsed: 00:00:00
----------------------------------------------------------

So I tried to expand on that tidbit of information (seg fault) by modifying qa_qtgui_test.sh to include a '-v' on the python3 line:

#!/bin/sh
export VOLK_GENERIC=1
export GR_DONT_LOAD_PREFS=1
export srcdir="/home/cmspooner/temp/gnuradio/gr-qtgui/python/qtgui"
export GR_CONF_CONTROLPORT_ON=False
export PATH="/home/cmspooner/temp/gnuradio/build/gr-qtgui/python/qtgui":"$PATH"
export LD_LIBRARY_PATH="":$LD_LIBRARY_PATH
export PYTHONPATH=/home/cmspooner/temp/gnuradio/build/gnuradio-runtime/python:$PYTHONPATH
/usr/bin/python3 -v  -B /home/cmspooner/temp/gnuradio/gr-qtgui/python/qtgui/qa_qtgui.py

and saw this at the end of the qa_qtgui test (full test log attached):

import 'numpy.polynomial.legendre' # <_frozen_importlib_external.SourceFileLoader object at 0x7f25cd141dd8>
# /usr/lib/python3/dist-packages/numpy/polynomial/__pycache__/hermite.cpython-36.pyc matches /usr/lib/python3/dist-packages/numpy/polynomial/hermite.pySegmentation fault (core dumped)
<end of output>
Test time =   0.30 sec

I can't find the core file in /var/crash or /var/lib/systemd/coredump or in build/gr-qtgui/python/qtgui. I'll have to figure out how to access the core file to find out exactly which program is failing.

Chad

On 10/28/21 9:10 PM, Ron Economos wrote:

If you were trying to build the master branch, then log4cpp is too old on Ubuntu 18.04. Again, you'll need to build it from source. Or, as you've found, switching to maint-3.9 also works.

http://log4cpp.sourceforge.net/

To resolve the Qt5 issue, try installing libqwt-qt5-dev. The file it's looking for is /usr/lib/libqwt-qt5.so.

Just FYI, on new systems I install qtbase5-dev, libqwt-qt5-dev and libqt5svg5-dev and that takes care of everything

You can look at why the QA test failed by inspecting the file gnuradio/build/Testing/Temporary/LastTest.log

If you're willing to build CMake from source, newer versions (3.17 and after I think) provide a find_package debug option. Just add -DCMAKE_FIND_DEBUG_MODE=ON to the CMake command line and you'll get copious amounts of debug information showing where CMake looked for packages

Ron

On 10/28/21 5:41 PM, Chad Spooner wrote:

All:

After a lot of hand-to-hand combat with cmake, I got past that step and attempted the compilation step, which immediately started failing (using gcc 8.4). So ... I gave up and switched to maint-3.9, got past the cmake step much faster, got through the compilation. However, one test from 'make test' fails:

99% tests passed, 1 tests failed out of 247

Total Test time (real) = 125.33 sec

The following tests FAILED:
    228 - qa_qtgui (Failed)
Errors while running CTest
Makefile:85: recipe for target 'test' failed
make: *** [test] Error 8

Even though in the cmake step I see:

-- Configuring gr-channels support...
--   Dependency ENABLE_GNURADIO_RUNTIME = ON
--   Dependency ENABLE_GR_BLOCKS = ON
--   Dependency ENABLE_GR_FFT = ON
--   Dependency ENABLE_GR_FILTER = ON
--   Dependency ENABLE_GR_ANALOG = ON
--   Enabling gr-channels support.
--   Override with -DENABLE_GR_CHANNELS=ON/OFF
-- Python checking for PyQt5 - found
-- Checking for module 'Qt5Qwt6'
--   No package 'Qt5Qwt6' found
-- QWT Version: 6.1.3
--
-- Configuring gr-qtgui support...
--   Dependency Boost_FOUND = 1
--   Dependency QT_FOUND = 1
--   Dependency QWT_FOUND = TRUE
--   Dependency ENABLE_GNURADIO_RUNTIME = ON
--   Dependency ENABLE_GR_FFT = ON
--   Dependency ENABLE_GR_FILTER = ON
--   Dependency PYTHONLIBS_FOUND = TRUE
--   Dependency PYQT5_FOUND = TRUE
--   Enabling gr-qtgui support.
--   Override with -DENABLE_GR_QTGUI=ON/OFF

I've tried to resolve the Qt5Qwt6 issue, but apparently without success.

C


On 10/28/21 10:35 AM, Chad Spooner wrote:

Ron:

Thanks much, that worked.

This lands me in a puzzle regarding log4cpp:

-- Looked for LOG4CPP libraries named log4cpp.
CMake Error at cmake/Modules/FindLOG4CPP.cmake:46 (message):
  Could NOT find LOG4CPP library
Call Stack (most recent call first):
  CMakeLists.txt:375 (find_package)

log4cpp is on the system in /usr/lib/x86_64-linux-gnu:

cmspooner@whisper6.mry.nwra.com>locate liblog4cpp | grep -v share

/usr/lib/x86_64-linux-gnu/liblog4cpp.a
/usr/lib/x86_64-linux-gnu/liblog4cpp.so
/usr/lib/x86_64-linux-gnu/liblog4cpp.so.5
/usr/lib/x86_64-linux-gnu/liblog4cpp.so.5.0.6
/var/cache/apt/archives/liblog4cpp-doc_1.0-2_all.deb
/var/cache/apt/archives/liblog4cpp5-dev_1.1.1-3_amd64.deb
/var/cache/apt/archives/liblog4cpp5v5_1.1.1-3_amd64.deb
/var/lib/dpkg/info/liblog4cpp-doc.list
/var/lib/dpkg/info/liblog4cpp-doc.md5sums
/var/lib/dpkg/info/liblog4cpp5-dev.list
/var/lib/dpkg/info/liblog4cpp5-dev.md5sums
/var/lib/dpkg/info/liblog4cpp5v5.list
/var/lib/dpkg/info/liblog4cpp5v5.md5sums
/var/lib/dpkg/info/liblog4cpp5v5.shlibs
/var/lib/dpkg/info/liblog4cpp5v5.triggers

cmspooner@whisper6.mry.nwra.com>dpkg -l | grep liblog4
ii  liblog4cplus-1.1-9                       1.1.2-3.2                                           amd64        C++ logging API modeled after the Java log4j API - shared library
ii  liblog4cplus-dbg                         1.1.2-3.2                                           amd64        C++ logging API modeled after the Java log4j API - debug library
ii  liblog4cplus-dev                         1.1.2-3.2                                           amd64        C++ logging API modeled after the Java log4j API - development library
ii  liblog4cpp-doc                           1.0-2                                               all          C++ library for flexible logging (documentation)
ii  liblog4cpp5-dev                          1.1.1-3                                             amd64        C++ library for flexible logging (development)
ii  liblog4cpp5v5                            1.1.1-3                                             amd64        C++ library for flexible logging (runtime)

I tried to modify cmake/Modules/FindLOG4CPP.cmake by adding /usr/lib/x86_64-linux-gnu:

set(LOG4CPP_NAMES log4cpp)
find_library(LOG4CPP_LIBRARY
  NAMES ${LOG4CPP_NAMES}
  PATHS /usr/lib /usr/lib64 /usr/local/lib  /usr/local/lib64 /opt/local/lib /opt/local/lib64 /usr/lib/x86_64-linux-gnu
)

But it still doesn't find liblog4cpp.so.

Advice?

Thanks again,

C



On 10/27/21 6:10 PM, Ron Economos wrote:
On Ubuntu 18.04, you have to install pybind11 from source.

sudo apt-get purge pybind11-dev

git clone https://github.com/pybind/pybind11

cd pybind11

git checkout v2.4.3 -b tmp

mkdir build

cd build

cmake -DCMAKE_BUILD_TYPE=Release -DPYBIND11_TEST=OFF ../

make

sudo make install

Ron

On 10/27/21 2:10 PM, Chad Spooner wrote:
Ryan:

Thanks much! That got me past the numpy error and landed me in a pybind11 error:

-- Python checking for numpy - found
-- Python checking for pygccxml - found
CMake Error at CMakeLists.txt:334 (message):
  pybind11 version 2.0.1 < 2.4

2.0.1 is the latest from 'apt-get install pybind11'. I saw some stuff in the git 'issues' but not sure how to proceed.

I'm taking on building from source because of all the times (dozen?) I've attempted installation of UHD and gnuradio, the only successful ones are the ones obtained by building from source.

C


On 10/27/21 1:39 PM, Ryan Volz wrote:
Hi Chad,

You'll find a fix here, along with a link to the relevant bug report:
https://github.com/gnuradio/gnuradio/pull/5256

It's an unanticipated problem with the older version of CMake used with Ubuntu 18.04, but the fix will be in the next release.

Cheers,
Ryan

On 10/27/21 2:50 PM, Chad Spooner wrote:
All:

I'm building gnuradio from source on an Ubuntu 18.04.6 system.

I'm using the instructions from: https://wiki.gnuradio.org/index.php/InstallingGR#From_Source

When I get to the step:

    # Note: In the following command, you can add -DCMAKE_INSTALL_PREFIX=XXX to install GNU Radio into the PREFIX XXX; if not specified, then the PREFIX is /usr/local. See other CMake options in Common cmake flags.

    cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../

I get an error relating to numpy:

    -- User set python executable /usr/bin/python3
    CMake Error at cmake/Modules/GrPython.cmake:101 (target_link_libraries):
       Cannot specify link libraries for target "Python::NumPy" which is not built
       by this project.
    Call Stack (most recent call first):
       CMakeLists.txt:318 (include)

    -- Configuring incomplete, errors occurred!

numpy is installed and I can 'import numpy' successfully in python3. (In fact I had issued "apt-get install *numpy*" previously and it was successful.)

I tried finding this error in my archive of gnuradio discussion-list emails, but came up empty, as did my google search.

Any advice?

Thanks,

C


-- 
Chad M. Spooner, PhD
NorthWest Research Associates
301 Webster Street
Monterey, CA 93940
cmspooner@nwra.com
831 582 4904
cyclostationary.blog



-- 
Chad M. Spooner, PhD
NorthWest Research Associates
301 Webster Street
Monterey, CA 93940
cmspooner@nwra.com
831 582 4904
cyclostationary.blog
-- 
Chad M. Spooner, PhD
NorthWest Research Associates
301 Webster Street
Monterey, CA 93940
cmspooner@nwra.com
831 582 4904
cyclostationary.blog
-- 
Chad M. Spooner, PhD
NorthWest Research Associates
301 Webster Street
Monterey, CA 93940
cmspooner@nwra.com
831 582 4904
cyclostationary.blog

Attachment: LastTest.log
Description: Text Data

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


reply via email to

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