David,

You don't need MPIR. The dependency can be resolved with libgmp. Here's what that portion of my OOT CMake looks like:

-- Found LOG4CPP: /usr/lib/x86_64-linux-gnu/liblog4cpp.so
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'gmp'
--   No package 'gmp' found
-- Found GMP: /usr/lib/x86_64-linux-gnu/libgmpxx.so
-- Checking for module 'mpir >= 3.0'
--   No package 'mpir' found
-- Could NOT find MPIR (missing: MPIRXX_LIBRARY MPIR_LIBRARY MPIR_INCLUDE_DIR)
-- Found MPLIB: /usr/lib/x86_64-linux-gnu/libgmpxx.so

If you don't already have it:

sudo apt install libgmp-dev

For VOLKGNSSSDR, the techniques you used for 3.7.11 should still work fine.

Here's an example of an external library from one of my OOT's.

https://github.com/drmpeg/gr-dvbgse/blob/master/CMakeLists.txt#L128

https://github.com/drmpeg/gr-dvbgse/blob/master/lib/CMakeLists.txt#L38

https://github.com/drmpeg/gr-dvbgse/blob/master/cmake/Modules/FindPcap.cmake

Ron W6RZ

On 7/26/20 07:06, David Taylor (manx.net) via USRP-users wrote:

Apologies if this question is out of scope, or if the answer is to be found elsewhere in the history.

I have been upgrading the GRC from 3.7.11 (with Ubuntu 18.04) to GRC 9.0 (with Ubuntu 20.04 LTS). See previous dialogue below, using 3.8.1.0~rc12build2

Currently, the synaptic package manager and $sudo apt install gnuradio methods both align on GRC version 9.0. So I have persevered at this version.

UHD is at v 3.15 and with Python3 the package is basically functional using an available B210 over USB3.

--------------

The problem arises with OOT blocks transfer, CMake in its “modern form” and with the new dependency of MPIR.

1). MPIR library has been installed independently and built at V3.0 , with libraries and header located in /usr/local/lib and /usr/local/include respectively.

2). My 3.7.11 code also uses VOLKGNSSSDR in the build. As with the 3.7.11 version, VOLKGNSSSDR was installed and tested independently with libraries and headers locatedusing FindVOLKGNSSSDRin /cmake/modules and a find package reference added to CMakeLists.txt.

I have yet to check whether {VOLK_GNSSSDR_LIBRARIES} has to be added to the target_link_libraries, noting the significantly different approach now used in .. //my_development/lib/CMakeLists.txt

3). The standard VOLK library is found in CMake configure as it is now part of the v 9.0 build package.

4). I have tried adapting the older find package method used in 2) for MPIR without success, but note the following CMake configure output.

MPIRXX_LIBRARY-NOTFOUND

MPIR_INCLUDE_DIR-NOTFOUND

MPIR_LIBRARY/usr/local/lib/libmpir.so

Can anyone help with the MPIR problem please?

As an OOT build requirement at V 9.0., I would have expected expected the gr-modtool to generate some boiler-plate code to cover this dependency addition!

Is there a more elegant and better way of incorporating VOLKGNSSSDR and the MPIR libraries using modern CMake?

Would reversion to 3.8.1 help in the short term, noting  that the output from my work might benefit and the later GRC scheduler improvements?

Many thanks.

David

GD4FMB

*From:* Marcus D. Leech via USRP-users
*Sent:* Tuesday, June 23, 2020 8:30 PM
*To:* usrp-users@lists.ettus.com
*Subject:* Re: [USRP-users] GRC up-grade - installation issues
On 06/23/2020 03:23 PM, David Taylor (manx.net) via USRP-users wrote:
Marcus.
Many thanks for your prompt reply.
Complete removal of everything from /usr/share/uhd/images, then running the images-downloader from /usr/bin works fine. I have only managed to try this with a B210 as the other transceivers remain in the laboratory under Covid19 university building closure measures. The N210 is yet to be used, but thanks for the advising on the particular EEPROM image load method,
OK, so with B2xx, if they already have a loaded FPGA image, they won't try to re-load from your host during start-up, unless you   power-cycle them first.  So, this can result in you having upgraded the host side of things, complete with host-resident images,   and getting a "mis-match" error with B2xx.  The UHD code does NOT attempt to re-load the FPGA image if the host side is
  newer than the code resident on the B2xx--only after a power-cycle.
It was interesting to see the extra console UHD diagnostics, particularly about clock sources and the 1 PPS input. I have a Rubidium 10 MHz source and 1PPS generator source that will eventually be incorporated for USRP synchronisation. However, I am now in the process of setting up the toolchain and new gr_modtool and transitioning the 3.7x OOT blocks
The GNU Radio 3.8 OOT Module Porting Guide looks helpful at 16 May 2020.
The only real issue I had before was to include FindVOLKGNSSSDRcmake and the corresponding library.
Regards,
David.
*From:* Marcus D. Leech via USRP-users
*Sent:* Tuesday, June 23, 2020 1:47 AM
*To:* usrp-users@lists.ettus.com
*Subject:* Re: [USRP-users] GRC up-grade - installation issues
On 06/22/2020 02:45 PM, David Taylor (manx.net) via USRP-users wrote:

Dear all,

I have been successfully running a B200/ B210 research project for two years based on Ubuntu 18.04 LTS and version 3.7x GRC.

This includes a number of OOT blocks developed for direct sequence spread spectrum, using the Volk GNSSSDR library extensions. An N210 USRP is also at my disposal.

I now have a clean upgrade to Ubuntu 20.04 LTS and wish to refresh the GRC & UHD drivers to the latest stable release, taking best advice please to ensure project conclusion.

The issues:-

1). GRC version 3.8.1.0~rc12build2 works standalone and appears to have similar Cmake files structure and content. (3.9.0.0 is listed in the package manager as available, but with significant and noticeable changes in the software migration and dependencies)?

2). Libuhd-dev at 3.15.0.0-2build5 correctly identifies the B210 over USB3. (I note that library-file libuhd003 no longer forms part of this package).

3). Running “uhd_images_downloader.py” fully populates /usr/share/images/.

There is an issue with FPGA compatibility, which I have seen before in 3.7x GRC.  “Expected FPGA compatibility number 16 expected got 14.”

This issue was solved under V3.7x  simply by replacement of the FPGA image from archive.

Is this compatibility issue with your N210 or B2xx? It isn't clear.

4). I have removed all FPGA images from the /usr/share/images directory and have selectively tried installing a number of earlier discrete images and boot-loader from the archive, but all without success.

5). A re-run of the uhd-images-downloader now fails to re-populate the images folder, however the python(3) script itself runs.

You might want to simply remove *everything* from /usr/share/uhd/images, and re-run:

sudo uhd_images_downloader.py

[Making certain it's running the version you think it's running--if you installed from pre-packaged, it'll be in /usr/bin]

If this doesn't work, please share the error messages produced with us.


Also, because I didn't see anything in your work-log about it, for N210, you have to run:

uhd_image_loader --args addr=<addr-of-n210>,type=n200

This loads the appropriate image into the EEPROM of the N210.  The N2xxx series, unlike the B2xx series don't do this dynamically at   runtime.  Once you load an image into them, that image is there until it is reprogrammed, even across power-off.  This is different than
  B2xx, which manages this automatically after power-up.


Many thanks in advance and I look forward to being able to contribute to the group.

Best regards,

David Taylor

Ph.D Researcher, Limerick University, Ireland. GD4FMB



_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

------------------------------------------------------------------------
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

------------------------------------------------------------------------
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to