|
From: | Ron Economos |
Subject: | Re: Cannot specify link libraries for target "Python::NumPy" |
Date: | Thu, 28 Oct 2021 21:10:15 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 |
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
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.triggerscmspooner@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
[Prev in Thread] | Current Thread | [Next in Thread] |