openBTS

Having issues with the site, hardware, source code, or any other issues?
veranson
Posts: 15
Joined: Fri Mar 01, 2013 11:28 am

Re: openBTS

Post by veranson »

someone has a working virtual machine running Openbts?
Put in what ever resource. The official version does not support Bladerf, then that https://github.com/Nuand/dev does not work
djrevmoon
Posts: 30
Joined: Fri Mar 01, 2013 4:37 am

Re: openBTS

Post by djrevmoon »

I am currently failing in building and installing OpenBTS from the github repo. I am running stock Ubuntu 14.04 LTS.
The build script fails in several respects for me, most of which I was able to fix.
For instance, in openbts/SIP in SIPBase.cpp a call is made to rtp_session_set_local_addr(mSession, "0.0.0.0", mRTPPort );
But according to the function, it takes 4 arguments, and another port is needed for the RTPCPORT. I just made that mRTPPORT + 1:
rtp_session_set_local_addr(mSession, "0.0.0.0", mRTPPort, mRTPPORT+1 );

which then went on to compile fine.

Asterisk also wont build cleanly because make menuselect has an unfulfilled dependency for res_srtp. Manually running make menuselect clears that up, but a fresh build just re-introduces the wrong depency. So I ran it manually in the directory, and that got asterisk installed.

according to the instructions, I should now run sudo dpkg -i BUILD-2014-05-20--21-22-50/*.deb

with barfs out at:
dpkg: dependency problems prevent configuration of sipauthserve:
sipauthserve depends on libosip2-4; however:
Package libosip2-4 is not installed.

dpkg: error processing package sipauthserve (--install):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of smqueue:
smqueue depends on libosip2-4; however:
Package libosip2-4 is not installed.

dpkg: error processing package smqueue (--install):
dependency problems - leaving unconfigured
Setting up openbts (4.1) ...
chown: cannot access ‘/home/openbts/startBTS’: No such file or directory
chown: cannot access ‘/home/openbts/killBTS’: No such file or directory
Processing triggers for libc-bin (2.19-0ubuntu6) ...
Processing triggers for man-db (2.6.7.1-1) ...
Processing triggers for ureadahead (0.100.0-16) ...
Errors were encountered while processing:
BUILD-2014-05-20--21-22-50/range-asterisk-config_4.1_amd64.deb
sipauthserve
smqueue

Thing is: I have libosip installed but it identifies as libosip2 not libosip2-4. I've tried building from source but no success....
Also, startBTS and killBTS are not there...

Since openbts built correctly, I figured I'd see it openbts actually ran:

sudo apps/OpenBTS gives:

1400617245.511671 139675032299392:
Starting the system...
ALERT 16924:16924 2014/05/20 22:20:50.5 OpenBTS.cpp:439:main: starting the transceiver
EMERG 16924:16926 2014/05/20 22:20:50.5 OpenBTS.cpp:160:startTransceiver: Transceiver quit with status 256. Exiting.

bladeRF has fpga and newest firmware, all seems to work (gqrx certainly does)

Any hints on how to get further? Is this a build issue, or something else?
veranson
Posts: 15
Joined: Fri Mar 01, 2013 11:28 am

Re: openBTS

Post by veranson »

ubuntu 14.04

it works only if the USB speed: SuperSpeed
fx3 version 1.7.0

1) git clone https://github.com/Nuand/dev
2) cd dev
3) ./clone.sh
4) in build.sh

Code: Select all

  sayAndDo mv range-libzmq_* ../$BUILDNAME
  sayAndDo cd ..
-sayAndDo sudo dpkg -i $BUILDNAME/range-libsqliteodbc_*.deb
 +sayAndDo sudo dpkg -i $BUILDNAME/range-libzmq_*.deb
  
5) sudo bash
6) export confflags=--with-bladeRF
7)
in openbts/SIP/SIPBase.cpp
-rtp_session_set_local_addr(mSession, "0.0.0.0", mRTPPort)
+rtp_session_set_local_addr(mSession, "0.0.0.0", mRTPPort, mRTPPORT+1 )

./build.sh

sudo dpkg -i BUILD-timestamp/*.deb

all works
djrevmoon
Posts: 30
Joined: Fri Mar 01, 2013 4:37 am

Re: openBTS

Post by djrevmoon »

yay, success! I had to fiddle about a bit more with some stuff. Most notably, transceiver was not accessing bladerf. no idea why. I just took 'transceiver-bladerf' from YateBTS and staticly linked to it. Also, there was a libzmq error when linking the binary. But apt-get install libzeromq fixed that. And a permissions thing of the debian directory of libcoredump. Nothing a chmod 777 didnt fix....
Now it works.

It actually even runs over USB2, but with I/O errors which cause OpenBTS to fail after a while. On USB3 it's all cool.

On to the next step: actually registering a phone and making a call.
djrevmoon
Posts: 30
Joined: Fri Mar 01, 2013 4:37 am

Re: openBTS

Post by djrevmoon »

So with both YateBTS and OpenBTS running on my ubuntu now, time for the next step.

My handset can see the Test PLMN 1-1 network. But registering to the network fails. The first problem seems to be noise levels, and possibly also calibration (the bladerf is older than a year and has never been calibrated).

OpenBTS> noise
noise RSSI is -13 dB wrt full scale
MS RSSI target is -50 dB wrt full scale
WARNING: the current noise level exceeds the MS RSSI target, uplink connectivity will be impossible.

-13db seems a pretty terrible noise level. I dunno what other people attain as noise level but is presume -13db is deafening! My antennas should do ok (comet SMA701. RX bands include 820-960Mhz). So what can be causing this terrible noise level? In GQRX my noise floor shows as better than -50db.. and signals are coming in loud and strong (see screenshot).

So maybe a calibration issue then? I read that blades calibration decays over time so I tried running the cal command. However that gives an error:
bladeRF> cal
[WARNING] Never converged - DC_CLBR_DONE: 0 DC_LOCK: 0
Error: An unexpected error occurred

Any hints on what might be causing openbts to report such shitty noise levels when gqrx does not?
djrevmoon
Posts: 30
Joined: Fri Mar 01, 2013 4:37 am

Re: openBTS

Post by djrevmoon »

So by manually setting the rxgain I was able to get a much better (acceptable) noise floor in openbts:

OpenBTS> noise
noise RSSI is -42 dB wrt full scale
MS RSSI target is -25 dB wrt full scale
INFO: the current noise level is acceptable.

BUT: handsets still will not register. OpenBTS doesnt give a budge. As I read some posts before from some ppl who reported the same, I'd like to know if and how they fixed that?

thanks!
djrevmoon
Posts: 30
Joined: Fri Mar 01, 2013 4:37 am

Re: openBTS

Post by djrevmoon »

Yay! Fixed! Turns out that two things were still missing:

In openbtscli: config Control.LUR.OpenRegistration .* to enable ALL handsets to register
And sipauthserve had not installed properly due to libosp2-4 not being installed. In fact, libosip2-10 was installed. So I just manually editted the entry in /var/lib/dpkg/status to read libosip2-4 in stead of libosip2. And then sipauthserve actually started. So it seems libosip2-4 and 2-10 are compatible enough for it to work.

So handset can register now, I'm getting TMSI's and receiving an SMS on my handset 'Welcome to test network'.

So last step to take is get a sip backhaul to actually connect outgoing calls.

Thanks everyone so far!
bnt2025
Posts: 33
Joined: Thu Jul 18, 2013 6:14 am

Re: openBTS

Post by bnt2025 »

Have you managed to get this working using USB2? Or does it still have to be USB3?
I am trying to build the dev repo on a RPi, but I keep getting the following error;

Code: Select all

pi@raspberrypi ~/dev $ ./clone.sh 
# cloning CommonLibs from RangeNetworks
git clone [email protected]:RangeNetworks/CommonLibs.git
Cloning into 'CommonLibs'...
remote: Reusing existing pack: 301, done.
remote: Total 301 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (301/301), 191.79 KiB | 325 KiB/s, done.
Resolving deltas: 100% (198/198), done.
git checkout --track origin/3.1
Branch 3.1 set up to track remote branch 3.1 from origin.
Switched to a new branch '3.1'
git checkout --track origin/4.0
Branch 4.0 set up to track remote branch 4.0 from origin.
Switched to a new branch '4.0'
git checkout master
Switched to branch 'master'
git submodule update --init --recursive --remote
Usage: git submodule [--quiet] add [-b branch] [-f|--force] [--reference <repository>] [--] <repository> [<path>]
   or: git submodule [--quiet] status [--cached] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] init [--] [<path>...]
   or: git submodule [--quiet] update [--init] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
   or: git submodule [--quiet] foreach [--recursive] <command>
   or: git submodule [--quiet] sync [--] [<path>...]
Thanks in advance.
damastas
Posts: 4
Joined: Tue Sep 03, 2013 5:08 pm

Re: openBTS

Post by damastas »

From a fresh 14.04 install, what I had to do to get OpenBTS running with bladeRF:

I forget exactly what I had to apt-get to get the base scripts running, but I think it was really only git/subversion/cmake. Before setting up OpenBTS get bladeRF built and installed, you can just skip to the OpenBTS part if you already have bladeRF set up.

Code: Select all

sudo apt-get install git subversion cmake
git clone https://github.com/Nuand/bladeRF
cd bladeRF/host
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig
For OpenBTS I used all the scripts from Nuand's dev repository.

Code: Select all

git clone https://github.com/Nuand/dev
cd dev
./clone.sh
edit build.sh on line 99 to change

Code: Select all

$BUILDNAME/range-libsqliteodbc_*.deb to $BUILDNAME/range-libzmq_*.deb
edit openbts/SIP/SIPBase.cpp and add #include <ortp/rtpsession.h> to the includes. then on line 953 change

Code: Select all

rtp_session_set_local_addr(mSession, "0.0.0.0", mRTPPort);
to

Code: Select all

         rtp_session_set_local_addr(mSession, "0.0.0.0", mRTPPort, mRTPPort+1 ); 
URLEncodeTest.cpp wasn't compiling correctly for me. I modified it so it would compile.
in

Code: Select all

./CommonLibs/URLEncodeTest.cpp
./openbts/CommonLibs/URLEncodeTest.cpp
./subscriberRegistry/CommonLibs/URLEncodeTest.cpp
./smqueue/CommonLibs/URLEncodeTest.cpp
./smqueue/SR/CommonLibs/URLEncodeTest.cpp

change the entire string test = string line to:

	string test = string("Testing: !@#$%^&*() " __DATE__ " " __TIME__);
As far as I can remember this is all the editing you need to do at this point. Continue on with the install

Code: Select all

sudo bash
export confflags=--with-bladeRF
./build.sh
build.sh should make it all the way to giving you some kind of notice/warning about asterisk and make menuselect. If you made it this far that's good. Just manually install asterisk via:

Code: Select all

cd asterisk/asterisk-11.7.0
make menuselect
press x to save and quit
make
sudo make install

**note:  if your terminal window isn't big enough make menuselect won't run correctly.  I had to resize it with the default ubuntu Terminal window size
Ubuntu 14.04 uses libortp9 and libosip2-10, the packages have libortp8 and libosip2-4 as their dependencies. I just installed libortp8 and libosip2-4 to meet them.

Code: Select all

sudo vim /etc/apt/sources.list
to the end, add:
 deb http://us.archive.ubuntu.com/ubuntu precise main universe

sudo apt-get update
sudo apt-get install libortp8 libosip2-4
Dependencies should be met, cd back into dev and run

Code: Select all

sudo dpkg -i BUILD-timestamp/*.deb
Shoud fully install OpenBTS, smqueue, sipauthserve, and asterisk. To get them running:

Code: Select all

cd openbts/apps
ln -sf ../TransceiverRAD1/transceiver transceiver

Then, in each of their own terminal windows:
sudo ./OpenBTS
sudo ./OpenBTSCLI
sudo ./smqueue
sudo ./sipauthserve

At this point OpenBTS should be running and visible on your phone. You can change settings in OpenBTSCLI to allow registrations and register to the OpenBTS network.

Most of this is just compiled from the previous few pages of posts. It's all done based off memory so a few steps may be missing, I ran into a bunch of errors along the way so if you get stuck I've probably seen it.
bnt2025
Posts: 33
Joined: Thu Jul 18, 2013 6:14 am

Re: openBTS

Post by bnt2025 »

Fantastic, thank you for the guide.

I have managed to build and install it on my 14.04 system. Still having problems with the RPi. but I have a feeling it is the older version of Git that it runs.

EDIT: It was the older version of git that was the initial problem. Adding the jessie repo to sources.list, installing git and then removing it from sources.list.

Code: Select all

deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
After that I had to install ubuntu-dev-tools in order to start the building, otherwise it just told me dev-tools was for ubuntu only.
My problem now is with libcoredumper not compiling

Code: Select all

creating coredumper_unittest
if arm-linux-gnueabihf-g++ -DHAVE_CONFIG_H -I. -I. -I./src  -I./src   -g -O2 -MT linux_syscall_support_unittest.o -MD -MP -MF ".deps/linux_syscall_support_unittest.Tpo" -c -o linux_syscall_support_unittest.o `test -f 'src/linux_syscall_support_unittest.cc' || echo './'`src/linux_syscall_support_unittest.cc; \
	then mv -f ".deps/linux_syscall_support_unittest.Tpo" ".deps/linux_syscall_support_unittest.Po"; else rm -f ".deps/linux_syscall_support_unittest.Tpo"; exit 1; fi
src/linux_syscall_support_unittest.cc: In function 'void linux_syscall_support::CheckStructures()':
src/linux_syscall_support_unittest.cc:94:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::kernel_dirent64' 
src/linux_syscall_support_unittest.cc:95:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::kernel_dirent' 
src/linux_syscall_support_unittest.cc:96:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::kernel_iovec' 
src/linux_syscall_support_unittest.cc:97:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::kernel_msghdr' 
src/linux_syscall_support_unittest.cc:98:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::kernel_pollfd' 
src/linux_syscall_support_unittest.cc:99:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::rlimit' 
src/linux_syscall_support_unittest.cc:99:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::kernel_rlimit' 
src/linux_syscall_support_unittest.cc:100:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::rusage' 
src/linux_syscall_support_unittest.cc:100:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::kernel_rusage' 
src/linux_syscall_support_unittest.cc:101:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::kernel_sigaction' 
src/linux_syscall_support_unittest.cc:101:3: error: 'KERNEL_NSIG' was not declared in this scope
src/linux_syscall_support_unittest.cc:108:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::kernel_sockaddr' 
src/linux_syscall_support_unittest.cc:109:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::kernel_stat' 
src/linux_syscall_support_unittest.cc:110:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::kernel_statfs' 
src/linux_syscall_support_unittest.cc:117:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::kernel_timespec' 
src/linux_syscall_support_unittest.cc:119:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::kernel_stat64' 
src/linux_syscall_support_unittest.cc:120:3: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::CheckStructures()::kernel_statfs64' 
src/linux_syscall_support_unittest.cc: In function 'void linux_syscall_support::Sigaction()':
src/linux_syscall_support_unittest.cc:149:29: error: variable 'linux_syscall_support::Sigaction()::kernel_sigaction sa' has initializer but incomplete type
src/linux_syscall_support_unittest.cc:149:47: error: aggregate 'linux_syscall_support::Sigaction()::kernel_sigaction old' has incomplete type and cannot be defined
src/linux_syscall_support_unittest.cc:149:52: error: aggregate 'linux_syscall_support::Sigaction()::kernel_sigaction orig' has incomplete type and cannot be defined
src/linux_syscall_support_unittest.cc:150:5: error: 'sys_sigaction' was not declared in this scope
src/linux_syscall_support_unittest.cc:157:5: error: 'sys_sigemptyset' was not declared in this scope
src/linux_syscall_support_unittest.cc:158:5: error: 'sys_sigaction' was not declared in this scope
src/linux_syscall_support_unittest.cc:159:5: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::Sigaction()::kernel_sigaction' 
src/linux_syscall_support_unittest.cc:159:5: error: 'memcmp' was not declared in this scope
src/linux_syscall_support_unittest.cc:160:5: error: 'sys_sigaction' was not declared in this scope
src/linux_syscall_support_unittest.cc:165:5: error: invalid application of 'sizeof' to incomplete type 'linux_syscall_support::Sigaction()::kernel_sigaction' 
src/linux_syscall_support_unittest.cc:165:5: error: 'memcmp' was not declared in this scope
src/linux_syscall_support_unittest.cc:166:28: error: aggregate 'linux_syscall_support::Sigaction()::kernel_sigset_t pending' has incomplete type and cannot be defined
src/linux_syscall_support_unittest.cc:167:5: error: 'sys_sigpending' was not declared in this scope
src/linux_syscall_support_unittest.cc:168:5: error: 'sys_sigismember' was not declared in this scope
src/linux_syscall_support_unittest.cc:169:28: error: aggregate 'linux_syscall_support::Sigaction()::kernel_sigset_t mask' has incomplete type and cannot be defined
src/linux_syscall_support_unittest.cc:169:34: error: aggregate 'linux_syscall_support::Sigaction()::kernel_sigset_t oldmask' has incomplete type and cannot be defined
src/linux_syscall_support_unittest.cc:170:5: error: 'sys_sigemptyset' was not declared in this scope
src/linux_syscall_support_unittest.cc:171:5: error: 'sys_sigaddset' was not declared in this scope
src/linux_syscall_support_unittest.cc:172:5: error: 'sys_sigprocmask' was not declared in this scope
src/linux_syscall_support_unittest.cc:173:5: error: 'sys_getpid' was not declared in this scope
src/linux_syscall_support_unittest.cc:173:5: error: 'sys_kill' was not declared in this scope
src/linux_syscall_support_unittest.cc:174:5: error: 'sys_sigpending' was not declared in this scope
src/linux_syscall_support_unittest.cc:175:5: error: 'sys_sigismember' was not declared in this scope
src/linux_syscall_support_unittest.cc:177:5: error: 'sys_sigfillset' was not declared in this scope
src/linux_syscall_support_unittest.cc:178:5: error: 'sys_sigdelset' was not declared in this scope
src/linux_syscall_support_unittest.cc:179:5: error: 'sys_sigsuspend' was not declared in this scope
src/linux_syscall_support_unittest.cc:181:5: error: 'sys_sigaction' was not declared in this scope
src/linux_syscall_support_unittest.cc:182:5: error: 'sys_sigprocmask' was not declared in this scope
src/linux_syscall_support_unittest.cc: In function 'void linux_syscall_support::StatFs()':
src/linux_syscall_support_unittest.cc:250:24: error: aggregate 'linux_syscall_support::StatFs()::kernel_statfs kernel_statfs' has incomplete type and cannot be defined
src/linux_syscall_support_unittest.cc:252:3: error: 'sys_statfs' was not declared in this scope
src/linux_syscall_support_unittest.cc: In function 'void linux_syscall_support::Stat()':
src/linux_syscall_support_unittest.cc:291:24: error: aggregate 'linux_syscall_support::Stat()::kernel_stat kernel_stat' has incomplete type and cannot be defined
src/linux_syscall_support_unittest.cc:293:5: error: 'sys_stat' was not declared in this scope
make[1]: *** [linux_syscall_support_unittest.o] Error 1
make[1]: Leaving directory `/home/pi/dev/libcoredumper/coredumper-1.2.1'
make: *** [build-stamp] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
ERROR: command failed!
# ERROR: command failed!
Has anyone encountered this before?

Does it work with USB2?
veranson
Posts: 15
Joined: Fri Mar 01, 2013 11:28 am

Re: openBTS

Post by veranson »

now only usb 2.0
bladeRFDevice.cpp

Code: Select all

 superspeed = bladerf_device_speed(bdev) == BLADERF_DEVICE_SPEED_SUPER;

  if (!superspeed) {
      LOG(EMERG) << "bladeRFDevice currently only supports USB3.0";
      return -1;
  }
Posted April 11, 2014 by Robert Ghilduta & filed under Uncategorized.
...and use OpenBTS, there are still a few fixes in the works for USB2.0...
In code still requires usb 3.0 Possible not publish new changes
zane93
Posts: 17
Joined: Mon Aug 18, 2014 6:18 pm

Re: openBTS

Post by zane93 »

Code: Select all

sudo bash
export confflags=--with-bladeRF
./build.sh
Im following @damastas https://nuand.com/forums/viewtopic.php? ... t=30#p5631 how to and I can not get past the ./build. I tried 3 diffrent deployments and they always fail at this point so I dont know what I'm missing, doing wrong, and how to fix it. Im building on Ubuntu 14.04. Thanks for any help!

Code: Select all

In file included from VectorTest.cpp:28:0:
Vector.h: In instantiation of ‘Vector<T>::Vector(const Vector<T>&, const Vector<T>&) [with T = int]’:
VectorTest.cpp:69:31:   required from here
Vector.h:343:24: error: ‘vConcat’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   vConcat(other1,other2);
                        ^
Vector.h:343:24: note: declarations in dependent base ‘VectorBase<int>’ are not found by unqualified lookup
Vector.h:343:24: note: use ‘this->vConcat’ instead
Vector.h: In instantiation of ‘void VectorBase<T>::resize(size_t) [with T = int; size_t = long unsigned int]’:
Vector.h:326:27:   required from ‘Vector<T>::Vector(size_t) [with T = int; size_t = long unsigned int]’
VectorTest.cpp:46:18:   required from here
Vector.h:40:46: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
 #define VECTORDEBUG(...) { printf(__VA_ARGS__); printf(" this=%p [%p,%p,%p]\n",(void*)this,(void*)&mData,mStart,mEnd); }
                                              ^
Vector.h:186:3: note: in expansion of macro ‘VECTORDEBUG’
   VECTORDEBUG("VectorBase::resize(%p,%d) %s",this,newElements, (mData?"delete":""));
   ^
make[3]: *** [VectorTest.o] Error 1
make[3]: Leaving directory `/home/user/dev/openbts/CommonLibs'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/user/dev/openbts'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/user/dev/openbts'
make: *** [install-arch] Error 2
dpkg-buildpackage: error: debian/rules binary gave error exit status 2
# ERROR: command failed!
zane93
Posts: 17
Joined: Mon Aug 18, 2014 6:18 pm

Re: openBTS

Post by zane93 »

I decided to just move on from 14.04 and install 12.04. So far I've had no issues with 12.04 but would love to know what I was doing wrong on 14.04(below).
zane93 wrote:

Code: Select all

sudo bash
export confflags=--with-bladeRF
./build.sh
Im following @damastas https://nuand.com/forums/viewtopic.php? ... t=30#p5631 how to and I can not get past the ./build. I tried 3 different deployments and they always fail at this point so I dont know what I'm missing, doing wrong, and how to fix it. Im building on Ubuntu 14.04. Thanks for any help!

Code: Select all

In file included from VectorTest.cpp:28:0:
Vector.h: In instantiation of ‘Vector<T>::Vector(const Vector<T>&, const Vector<T>&) [with T = int]’:
VectorTest.cpp:69:31:   required from here
Vector.h:343:24: error: ‘vConcat’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   vConcat(other1,other2);
                        ^
Vector.h:343:24: note: declarations in dependent base ‘VectorBase<int>’ are not found by unqualified lookup
Vector.h:343:24: note: use ‘this->vConcat’ instead
Vector.h: In instantiation of ‘void VectorBase<T>::resize(size_t) [with T = int; size_t = long unsigned int]’:
Vector.h:326:27:   required from ‘Vector<T>::Vector(size_t) [with T = int; size_t = long unsigned int]’
VectorTest.cpp:46:18:   required from here
Vector.h:40:46: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
 #define VECTORDEBUG(...) { printf(__VA_ARGS__); printf(" this=%p [%p,%p,%p]\n",(void*)this,(void*)&mData,mStart,mEnd); }
                                              ^
Vector.h:186:3: note: in expansion of macro ‘VECTORDEBUG’
   VECTORDEBUG("VectorBase::resize(%p,%d) %s",this,newElements, (mData?"delete":""));
   ^
make[3]: *** [VectorTest.o] Error 1
make[3]: Leaving directory `/home/user/dev/openbts/CommonLibs'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/user/dev/openbts'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/user/dev/openbts'
make: *** [install-arch] Error 2
dpkg-buildpackage: error: debian/rules binary gave error exit status 2
# ERROR: command failed!
jpvc
Posts: 7
Joined: Mon Feb 02, 2015 8:02 am

Re: openBTS

Post by jpvc »

Hi, I am also trying to build on 14.04. I'm also following the instructions by @damastas https://nuand.com/forums/viewtopic.php? ... t=30#p5631 and can't get past the ./build part. I've debugged a few things and also got the same problem as zane93 with this

Code: Select all

In file included from VectorTest.cpp:28:0:
Vector.h: In instantiation of ‘Vector<T>::Vector(const Vector<T>&, const Vector<T>&) [with T = int]’:
VectorTest.cpp:69:31:   required from here
Vector.h:343:24: error: ‘vConcat’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   vConcat(other1,other2);
                        ^
And I managed to get past that by modifying changing line 343 of

Code: Select all

./openbts/CommonLibs/Vector.h
./subscriberRegistry/CommonLibs/Vector.h
./smqueue/CommonLibs/Vector.h
./smqueue/SR/CommonLibs/Vector.h
./CommonLibs/Vector.h
from

Code: Select all

vConcat(other1,other2);
to

Code: Select all

this->vConcat(other1,other2);
However past that point I get a dpkg-genchanges error

Code: Select all

#INSTALLDOC#
dh_install -i
dh_install: You asked that all arch in(dep) packages be built, but there are none of that type.
/usr/bin/make -f debian/rules DH_OPTIONS=-i binary-common
make[1]: Entering directory `/path/to/dev/openbts'
dh_testdir
dh_testdir: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_testroot
dh_installchangelogs ChangeLog
dh_installchangelogs: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_installdocs
dh_installdocs: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_installlogrotate	
dh_installlogrotate: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_installinit
dh_installinit: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_installman
dh_installman: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_link
dh_link: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_compress
dh_compress: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_fixperms
dh_fixperms: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_makeshlibs
dh_makeshlibs: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_installdeb
dh_installdeb: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_gencontrol
dh_gencontrol: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_md5sums
dh_md5sums: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_builddeb
dh_builddeb: You asked that all arch in(dep) packages be built, but there are none of that type.
make[1]: Leaving directory `/path/to/dev/openbts'
 dpkg-genchanges  >../openbts_4.0_amd64.changes
dpkg-genchanges: error: cannot read files list file: No such file or directory
dpkg-buildpackage: error: dpkg-genchanges gave error exit status 2
# ERROR: command failed!
I have been looking unsuccesfully for a fix, I've narrowed it down to around line 114 of the /path/to/dev/openbts/debian/rules but I have no idea where to go from here. I would appreciate any help.

I don't know if this is relevant, but I only have USB 2.0 on my computer.
zane93
Posts: 17
Joined: Mon Aug 18, 2014 6:18 pm

Re: openBTS

Post by zane93 »

Looks promising. I will try it within the next week or so.
https://github.com/Nuand/bladeRF/wiki/M ... OpenBTS-5/
Post Reply