srsran / srsRAN_4G

Open source SDR 4G software suite from Software Radio Systems (SRS) https://docs.srsran.com/projects/4g
https://www.srsran.com
GNU Affero General Public License v3.0
3.42k stars 1.13k forks source link

unable to install sesenb (error: unknown type name ‘bladerf_sample_rate’) #321

Closed naiksrinu closed 5 years ago

naiksrinu commented 5 years ago

Issue: Im unable to install sesenb.

OS: user@user:/opt/srsLTE/build$ uname -a Linux User 4.15.0-46-generic #49~16.04.1-Ubuntu SMP Tue Feb 12 17:45:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Command: user@user:/opt/srsLTE/build$ make srsenb

Output Logs: [ 79%] Building C object lib/src/phy/rf/CMakeFiles/srslte_rf.dir/rf_blade_imp.c.o /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:39:3: error: unknown type name ‘bladerf_sample_rate’ bladerf_sample_rate rx_rate; ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:40:3: error: unknown type name ‘bladerf_sample_rate’ bladerf_sample_rate tx_rate; ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c: In function ‘rf_blade_start_tx_stream’: /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:83:33: error: ‘BLADERF_TX_X1’ undeclared (first use in this function) BLADERF_TX_X1, ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:83:33: note: each undeclared identifier is reported only once for each function it appears in /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c: In function ‘rf_blade_start_rx_stream’: /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:112:33: error: ‘BLADERF_RX_X1’ undeclared (first use in this function) BLADERF_RX_X1, ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:123:33: error: ‘BLADERF_TX_X1’ undeclared (first use in this function) BLADERF_TX_X1, ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c: In function ‘rf_blade_open’: /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:204:67: error: ‘BLADERF_GAIN_MGC’ undeclared (first use in this function) status = bladerf_set_gain_mode(handler->dev, BLADERF_MODULE_RX, BLADERF_GAIN_MGC); ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:213:12: warning: implicit declaration of function ‘bladerf_get_gain_range’ [-Wimplicit-function-declaration] status = bladerf_get_gain_range(handler->dev, BLADERF_MODULE_RX, &range_rx); ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:225:63: error: ‘bladerf_gain’ undeclared (first use in this function) status = bladerf_set_gain(handler->dev, BLADERF_MODULE_RX, (bladerf_gain) range_rx->max); ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:225:77: error: expected ‘)’ before ‘range_rx’ status = bladerf_set_gain(handler->dev, BLADERF_MODULE_RX, (bladerf_gain) range_rx->max); ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:238:39: error: dereferencing pointer to incomplete type ‘const struct bladerf_range’ handler->info.min_tx_gain = range_tx->min; ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c: In function ‘rf_blade_set_rx_srate’: /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:267:90: warning: pointer targets in passing argument 4 of ‘bladerf_set_sample_rate’ differ in signedness [-Wpointer-sign] int status = bladerf_set_sample_rate(handler->dev, BLADERF_MODULE_RX, (uint32_t) freq, &handler->rx_rate); ^ In file included from /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:27:0: /usr/local/include/libbladeRF.h:855:15: note: expected ‘unsigned int ’ but argument is of type ‘int ’ int CALL_CONV bladerf_set_sample_rate(struct bladerf dev, ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:279:70: error: ‘bladerf_bandwidth’ undeclared (first use in this function) status = bladerf_set_bandwidth(handler->dev, BLADERF_MODULE_RX, (bladerf_bandwidth) (handler->rx_rate 0.8), &bw); ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c: In function ‘rf_blade_set_tx_srate’: /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:293:90: warning: pointer targets in passing argument 4 of ‘bladerf_set_sample_rate’ differ in signedness [-Wpointer-sign] int status = bladerf_set_sample_rate(handler->dev, BLADERF_MODULE_TX, (uint32_t) freq, &handler->tx_rate); ^ In file included from /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:27:0: /usr/local/include/libbladeRF.h:855:15: note: expected ‘unsigned int ’ but argument is of type ‘int ’ int CALL_CONV bladerf_set_sample_rate(struct bladerf dev, ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c: In function ‘rf_blade_set_rx_gain’: /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:310:63: error: ‘bladerf_gain’ undeclared (first use in this function) status = bladerf_set_gain(handler->dev, BLADERF_MODULE_RX, (bladerf_gain) gain); ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:310:77: error: expected ‘)’ before ‘gain’ status = bladerf_set_gain(handler->dev, BLADERF_MODULE_RX, (bladerf_gain) gain); ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c: In function ‘rf_blade_set_tx_gain’: /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:322:63: error: ‘bladerf_gain’ undeclared (first use in this function) status = bladerf_set_gain(handler->dev, BLADERF_MODULE_TX, (bladerf_gain) gain); ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:322:77: error: expected ‘)’ before ‘gain’ status = bladerf_set_gain(handler->dev, BLADERF_MODULE_TX, (bladerf_gain) gain); ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c: In function ‘rf_blade_get_rx_gain’: /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:333:3: error: unknown type name ‘bladerf_gain’ bladerf_gain gain = 0; ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:335:12: warning: implicit declaration of function ‘bladerf_get_gain’ [-Wimplicit-function-declaration] status = bladerf_get_gain(handler->dev, BLADERF_MODULE_RX, &gain); ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c: In function ‘rf_blade_get_tx_gain’: /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:347:3: error: unknown type name ‘bladerf_gain’ bladerf_gain gain = 0; ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c: In function ‘rf_blade_set_rx_freq’: /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:374:3: error: unknown type name ‘bladerf_frequency’ bladerf_frequency f_int = (uint32_t) round(freq); ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:382:58: warning: pointer targets in passing argument 3 of ‘bladerf_get_frequency’ differ in signedness [-Wpointer-sign] bladerf_get_frequency(handler->dev, BLADERF_MODULE_RX, &f_int); ^ In file included from /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:27:0: /usr/local/include/libbladeRF.h:1261:15: note: expected ‘unsigned int ’ but argument is of type ‘int ’ int CALL_CONV bladerf_get_frequency(struct bladerf dev, ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:383:10: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘int’ [-Wformat=] printf("set RX frequency to %lu\n", f_int); ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c: In function ‘rf_blade_set_tx_freq’: /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:391:3: error: unknown type name ‘bladerf_frequency’ bladerf_frequency f_int = (uint32_t) round(freq); ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:400:58: warning: pointer targets in passing argument 3 of ‘bladerf_get_frequency’ differ in signedness [-Wpointer-sign] bladerf_get_frequency(handler->dev, BLADERF_MODULE_TX, &f_int); ^ In file included from /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:27:0: /usr/local/include/libbladeRF.h:1261:15: note: expected ‘unsigned int ’ but argument is of type ‘int ’ int CALL_CONV bladerf_get_frequency(struct bladerf *dev, ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:401:10: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘int’ [-Wformat=] printf("set TX frequency to %lu\n", f_int); ^ /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c: In function ‘rf_blade_get_time’: /opt/srsLTE/lib/src/phy/rf/rf_blade_imp.c:428:52: error: ‘BLADERF_RX’ undeclared (first use in this function) int status = bladerf_get_timestamp(handler->dev, BLADERF_RX, &meta.timestamp); ^ lib/src/phy/rf/CMakeFiles/srslte_rf.dir/build.make:134: recipe for target 'lib/src/phy/rf/CMakeFiles/srslte_rf.dir/rf_blade_imp.c.o' failed make[3]: [lib/src/phy/rf/CMakeFiles/srslte_rf.dir/rf_blade_imp.c.o] Error 1 CMakeFiles/Makefile2:2983: recipe for target 'lib/src/phy/rf/CMakeFiles/srslte_rf.dir/all' failed make[2]: [lib/src/phy/rf/CMakeFiles/srslte_rf.dir/all] Error 2 CMakeFiles/Makefile2:6423: recipe for target 'srsenb/src/CMakeFiles/srsenb.dir/rule' failed make[1]: [srsenb/src/CMakeFiles/srsenb.dir/rule] Error 2 Makefile:2004: recipe for target 'srsenb' failed make: [srsenb] Error 2

Zethernos commented 5 years ago

pi@pi-ubuntu:~$ sudo apt-get install checkinstall Reading package lists... Done Building dependency tree
Reading state information... Done The following NEW packages will be installed: checkinstall 0 upgraded, 1 newly installed, 0 to remove and 498 not upgraded. Need to get 97.1 kB of archives. After this operation, 438 kB of additional disk space will be used. Get:1 http://id.archive.ubuntu.com/ubuntu bionic/universe amd64 checkinstall amd64 1.6.2-4ubuntu2 [97.1 kB] Fetched 97.1 kB in 2s (47.6 kB/s)
Selecting previously unselected package checkinstall. (Reading database ... 273074 files and directories currently installed.) Preparing to unpack .../checkinstall_1.6.2-4ubuntu2_amd64.deb ... Unpacking checkinstall (1.6.2-4ubuntu2) ... Processing triggers for man-db (2.8.3-2) ... Setting up checkinstall (1.6.2-4ubuntu2) ...

pi@pi-ubuntu:~/srsLTE/build$ sudo add-apt-repository ppa:ettusresearch/uhd

More info: https://launchpad.net/~ettusresearch/+archive/ubuntu/uhd Press [ENTER] to continue or Ctrl-c to cancel adding it.

Hit:1 http://downloads.metasploit.com/data/releases/metasploit-framework/apt lucid InRelease Hit:2 http://ppa.launchpad.net/ettusresearch/uhd/ubuntu bionic InRelease
Ign:3 http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/bionic bionic InRelease Err:4 http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/bionic bionic Release 404 Not Found [IP: 23.253.215.39 80] Get:5 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Hit:6 http://ppa.launchpad.net/srslte/releases/ubuntu bionic InRelease
Hit:7 http://id.archive.ubuntu.com/ubuntu bionic InRelease
Get:8 http://id.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:9 http://security.ubuntu.com/ubuntu bionic-security i386 Contents (deb) [13.6 MB] Get:10 http://id.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] Get:11 http://id.archive.ubuntu.com/ubuntu bionic amd64 Contents (deb) [39.5 MB] Get:12 http://id.archive.ubuntu.com/ubuntu bionic i386 Contents (deb) [38.8 MB] Get:13 http://id.archive.ubuntu.com/ubuntu bionic-updates amd64 Contents (deb) [26.0 MB] Get:14 http://id.archive.ubuntu.com/ubuntu bionic-updates i386 Contents (deb) [18.4 MB] Get:15 http://id.archive.ubuntu.com/ubuntu bionic-backports i386 Contents (deb) [5,462 B] Get:16 http://id.archive.ubuntu.com/ubuntu bionic-backports amd64 Contents (deb) [5,463 B] Get:17 http://security.ubuntu.com/ubuntu bionic-security amd64 Contents (deb) [20.5 MB] 93% [12 Contents-i386 store 0 B] [17 Contents-amd64 8,696 kB/20.5 MB 42%]sudo adReading package lists... Done
E: The repository 'http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/bionic bionic Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details.

Zethernos commented 5 years ago

i tried to run make command in the srsLTE followed by build command, not sure why it hangs.

andrepuschmann commented 5 years ago

Make sure to use the most recent bladerf libraries.