kruffin / go2radio

Other
3 stars 0 forks source link

Compile Error #6

Closed tomvdb closed 3 years ago

tomvdb commented 3 years ago

Hi There,

I have a new odroid advance go with the latest sd card image found here (https://wiki.odroid.com/odroid_go_advance/make_sd_card), I have installed all the dependencies, but its failing on compilation

go2radio_error

Any ideas?

kruffin commented 3 years ago

Hmm. So for some weird reason they went back to Ubuntu 18 in the latest images. I've been using the 20 one. My guess is the gcc installed is old. The quick fix is to install a newer version. The other quick fix is to edit that file and put "experimental/filesystem" where filesystem is since the older gcc had it there.

source: https://stackoverflow.com/questions/39231363/fatal-error-filesystem-no-such-file-or-directory

kruffin commented 3 years ago

Found another potential fix here: https://github.com/loot/libloot/issues/56 I'll pull the latest image from the ODROID wiki and see what gets it working later tonight.

kruffin commented 3 years ago

I've updated the steps; there were two issues:

  1. The gcc version in Ubuntu 18.04 is 7.5.x
  2. The libbladerf-dev package version is old (0.2016.06-2) There may be other package version differences, but upgrading these two have it build and run.

Please let me know if the following work for you. Thanks for giving it a try!

Steps for you are: For Ubuntu 18.04 we also need to install gcc and g++ version 9. The steps are (see here for more information - https://linuxize.com/post/how-to-install-gcc-compiler-on-ubuntu-18-04/):

sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install gcc-9 g++-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9

Additionally, the libbladerf-dev version in Ubuntu 18 is from 2016; we need the latest so:

sudo add-apt-repository ppa:bladerf/bladerf

If you have already installed the libbladerf-dev package, then upgrade it via:

sudo apt upgrade

Addendum:

Ubuntu 20.04

$ g++ --version

g++ (Ubuntu 9.3.0-10ubuntu2) 9.3.0
Copyright (C) 2019 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.

$ dpkg -s libbladerf-dev

Package: libbladerf-dev
Status: install ok installed
Priority: optional
Section: libdevel
Installed-Size: 233
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: arm64
Multi-Arch: same
Source: bladerf
Version: 0.2019.07-4build1
Depends: libbladerf2 (= 0.2019.07-4build1), libc6-dev | libc-dev
Suggests: libbladerf-doc
Description: Nuand bladeRF software-defined radio device (header files)
 The Nuand bladeRF is an open-source software-defined radio (SDR) system,
 comprised of an RF transceiver, a field-programmable gate array (FPGA),
 a microcontroller driving a USB 3.0 interface, and a suite of host
 libraries and drivers to facilitate interaction with the device.
 .
 This package contains the header files required for compiling bladeRF
 applications.
Original-Maintainer: A. Maitland Bottoms <bottoms@debian.org>
Homepage: https://www.Nuand.com/bladeRF

Ubuntu 18.04

$ g++ --version

g++ (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.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.

$ dpkg -s libbladerf-dev

Package: libbladerf-dev
Status: install ok installed
Priority: extra
Section: libdevel
Installed-Size: 186
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: arm64
Multi-Arch: same
Source: bladerf
Version: 0.2016.06-2
Depends: libbladerf1 (= 0.2016.06-2), libc6-dev | libc-dev
Description: nuand bladeRF software-defined radio device (header files)
 The nuand bladeRF is an open-source software-defined radio (SDR) system,
 comprised of an RF transceiver, a field-programmable gate array (FPGA),
 a microcontroller driving a USB 3.0 interface, and a suite of host
 libraries and drivers to facilitate interaction with the device.
 .
 This package contains the header files required for compiling bladeRF
 applications.
Original-Maintainer: A. Maitland Bottoms <bottoms@debian.org>
Homepage: http://www.nuand.com/bladeRF
tomvdb commented 3 years ago

Apologies for late reply. Thank you, I will try it out this weekend :)

T

tomvdb commented 3 years ago

Thank you, it all seems to be working now. I haven't tried with the sdr dongle yet, but it compiles and starts up fine on my device. Also thanks for sharing the code for this and your go2maze game. I'm keen on developing a few of my own apps for the device and your code has been very helpful, I might use a few bits :)

Regards, Tom