Open zhou-xuelin opened 7 years ago
+1, I encountered same problem on ubuntu 16.10 - maybe this is the problem, I'm now trying with 12.04 LTS and will update post with results. edit: 12.04 don't have some libs, 14.04 either - in #36 is tutorial that suggests that 16.04 works.
Thank you for sharing your experience. When I met this problem, I was afraid that I was the only one who met this issue and no one could help me. I tried to edit /dev/libcoredumper/build.sh with adding "./configure" but it didn't work.
By the way, do you mean missing the lib named "libzmq5-dev(Version 4.1)" ? I had the same, but I solved finally. you can follow this page (http://zeromq.org/distro:debian). You also can download a deb package or source code from packages.ubuntu.com. Just search libzmq5. I think it not only works on 16.04 but also 12.04or14.04, If the deb packages are suitable for your system version. You can use source code to complie too.
That's true, one of missing lib was one you mentioned, but it wasn't the only one as far as I remember.
On the second hand, link posted above has one undeniable feature: link for google lib is fixed in master branch and downloading it on your own isn't necessary when you omit step with switching branch.
I have the same problem (using Raspbian stretch), is there any solution? If I try to manually compile the libcoredumper I get many errors like "error: invalid application of ‘sizeof’ to incomplete type ‘linux_syscall_support::CheckStructures()::kernel_dirent64’"
@tom-2015 I have been trying to install it on a Raspberry PI 3 using Ubuntu Mate 16.04 and I get the same problem with linux_syscall_support. Have you solved it?
@tom-2015 @ezze5 Not yet now. I have abandoned to try. Please leave a comment, if you tow have any ways to slove it. tkx!
I did get to a point where it stopped complaining about the coredumper problem. I made a small project that creates a "fake" coredumper library. Just a library with empty functions that do nothing but at least the compiler doens't complain anymore :). Ofcourse the coredumper will not work when the OpenBTS program crashes.
You can download this code here https://github.com/tom-2015/fakecoredumper Run the install.sh this will create a coredumper library and include file in /usr/lib and /usr/include.
After that you can compile Openbts with ./build.sh B200 openbts
Unfortunately for me on Raspbian Stretch the compiler version is newer and gives all kind of strange errors :( Maybe it works on Ubuntu 16.04?
@tom-2015 I Ran the install.sh file and got a warning saying that the 'google' directory already exists, so I removed it manually and ran the install.sh file successfully, however, after running ./build.sh B200 i still get the same error, do you suggest delete everything and install it again? or maybe I installed the fakecoredumper in a wrong way, Thank you
I forgot that you probably need to modify dev/libcoredumper/build.sh to skip the build process of the libcoredumper add exit 0; so it looks like this:
#!/bin/bash
exit 0;
VERSION=1.2.1
Error after exit 0
# checking for a supported radio type
# - found
# checking for a compatible build host
# - WARNING : dev-tools is currently only tested on Ubuntu 16.04, YMMV. Please open an issue if you've used it successfully on another version of Ubuntu.
#
# adding additional repo tools
# - done
# checking build dependencies
# - done
# make a home for this build
mkdir -p BUILDS/2017-12-04--23-53-28
# libcoredumper - building Debian package and installing as dependency
cd libcoredumper
./build.sh
mv libcoredumper* ../BUILDS/2017-12-04--23-53-28
mv: cannot stat 'libcoredumper*': No such file or directory
# ERROR: command failed!
Edit the main /dev/build.sh and remove the command to copy the library: sayAndDo mv libcoredumper* ../$BUILDNAME
Ok resolved, and now the libA53 error
On Dec 5, 2017 12:29 AM, "Tom" notifications@github.com wrote:
Edit the main /dev/build.sh and remove the command to copy the library: sayAndDo mv libcoredumper* ../$BUILDNAME
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/RangeNetworks/dev/issues/44#issuecomment-349037878, or mute the thread https://github.com/notifications/unsubscribe-auth/AOIPCLbQLX6MOHCaeYRM7iggX6B6CB_Fks5s9Cv1gaJpZM4MYS6- .
Did you only remove the command : sayAndDo mv libcoredumper ../$BUILDNAME? I am still getting the same error libcoredumper.deb not found. Where is this libcoredumper*.deb suposed to be? I understand this is made by the fakecoredumper, but what else should I modify?
The .deb is supposed to be made by the libcoredumper/build.sh and then installed, you can remove that line as well.
# sayAndDo sudo dpkg -i $BUILDNAME/libcoredumper*.deb
The reason you get these problems and I don't because you run the complete build ./build.sh
What libA53 error?
I've also managed to successfully compile Openbts on Raspbian Stretch using g++/gcc 5.4 instead of default installed version 6.x. To do this you need to install older compiler version first with:
sudo apt-get install gcc-5 g++-5
Then configure:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 20 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 20 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10
Now you can select which gcc or g++ version you want to use with:
sudo update-alternatives --config g++ sudo update-alternatives --config gcc
Select version 5 and compile Openbts More about this: https://askubuntu.com/questions/26498/choose-gcc-and-g-version
So deleted the the line and built it successfully, I didn't have a problem with libA53 because I installed it before as it is suggested here: @felangga http://openbts.org/w/index.php?title=E3x0#Building_OpenBTS
$ git clone https://github.com/RangeNetworks/liba53.git $ cd liba53 $ make $ make install
However, after I ran sudo dpkg -i *.deb inside cd BUILDS/
I installed the dependencies needed, to solve the past problem. Now After running the dpkg -i *.deb successfully and says: Setting up liba53 (0.1) ... Seting up openbts (5.0) ... Setting up range-asterisk (11.7.0.5) ... Setting up range-configs (5.1-master) ... nothing to configure Settting up sipauthserve (5.0) ... Setting up smqueue (5.0) ... Procesing triggers for libc-bin(2.23-Ubuntu9) ... Processing triggers for ureadhead (0.100.0-19) ... Processing triggers for man-db (2.7.5-1) ...
After that , when I run sudo apt-get -f install it does not install anything, and when I try to start openbts with sudo start openbts tells me, sudo: start: command not found, the same for the other services such as asterisk, sipauthserve and smqueue. However when I run cd /OpenBTS/ ./OpenBTSCLI tells me that OpenBTS is not connected (at least I receive that). You guys have any idea?
Your command to start is wrong try: sudo service start openbts Easier is to clone this git https://github.com/nadiia-kotelnikova/openbts_systemd_scripts this has scripts to start and stop all required components at once by running sudo ./openbts-start.sh or sudo ./openbts-stop.sh
Also: -I've noticed sometimes you need to start the transceiver manually by going to /OpenBTS and running ./tranceiver then run the ./openbts-start.sh and finally the OpenBTSCLI for sending commands to it. -If you want debug output you can run the OpenBTS executable directly from the /OpenBTS directory.
Thanks a lot for your help @tom-2015. So, that service is not running, however I can run the binary file from /OpenBTS .. I get this error:
1512479933.588408 1995526144:
Starting the system...
ALERT 19798:19805 2017-12-05T14:18:58.9 OpenBTS.cpp:174:startTransceiver: starting transceiver ./transceiver with 1 ARFCNs
linux; GNU C++ version 5.3.1 20151219; Boost_105800; UHD_003.009.002-0-unknown
Using internal frequency reference
-- Detected Device: B210
-- Loading FPGA image: /usr/share/uhd/images/usrp_b210_fpga.bin... 19%ALERT 19798:19798 2017-12-05T14:19:13.6 TRXManager.cpp:402:tune: RXTUNE(51) failed with status -1
27%EMERG 19798:19828 2017-12-05T14:19:18.6 TRXManager.cpp:107:clockHandler: TRX clock interface timed out, assuming TRX is dead.
grc@grc:/OpenB done
-- Operating over USB 2.
-- Detecting internal GPSDO.... No GPSDO found
-- Initialize CODEC control...
UHD Error:
An unexpected exception was caught in a task loop.
The task loop will now exit, things may not work.
RuntimeError: usb rx8 transfer status: LIBUSB_TRANSFER_ERROR
ALERT 19808:19808 2017-12-05T14:20:10.2 UHDDevice.cpp:557:open: UHD make failed, device type=b200,name=,serial=307B5D1,product=B210
ALERT 19808:19808 2017-12-05T14:20:10.2 runTransceiver.cpp:176:main: Transceiver exiting...
My first approach was using a B205 mini, this is type B200 and that is how I made the built and I got an error, now I am trying to run it with a B210 as it ran properly in a Ubuntu Computer in the past, but got the same problem, now I will rebuild for B210 and try again, I think that there is not much difference though, The building on Raspberry took like 5 hrs in the past, so I will update you when I finish this.
Once again, thank you very much!
Have no idea I haven't tested it on the Raspberry yet... I wouldn't be surprised there is some kind of compatibility problem somewhere.
I'm using UHD 3.9.5 and B200 got no errors and the test network shows up on my phone. Was not able to connect, probably some settings not correct.
I've uploaded the compiled .deb installer packages here http://dfzone.be/downloads/deb/openbts/ in case anyone likes to just install it without going through the compile process.
@ezze5 hello,i‘m want to build the openbts at the Raspberry Pi, i want to know are you ok ?
@tom-2015 first, thanks uploaded the compiled.deb installer packages, and i find there are not the asterisk and asterisk-config deb files which are openbts needed ,can you help me and tell me how to make the deb for arm system
finally I build on ubuntu 16.04 LTS and no error found :+1:
@felangga are you running in the x86 or ARM system ?
I'm running on x86
ok ,thanks @felangga
@tom-2015 And also, i have installed the openbts liba53 sipauthserve smqueue deb files in the Raspberry Pi 3B, and running the OpenBTS, but i only realize the SMS betweew phone and OpenBTS, the SMS between two phones is hard, is there some others need to config? Thanks at first!
@pengwangbupt I am trying to install it on the Raspberry Pi 3 using Ubuntu mate 16.04, I could install it but I can run it yet, it tells me that there is a problem with the hardware
@pengwangbupt Asterisk is still not compiling on the Raspberry because Raspbian has a newer version of openssl installed. Ofcourse this is not compatible with the older version (as usual in Linux :( )... One thing you can do is install it from apt:
sudo apt-get install asterisk
Then modify the config files, I've now also uploaded the asterisk-config .deb files.
I don't know about SMS between phones haven't tried that. You can use wireshark / tshark on the lo interface to see where the SMS is send to (SIP protocol). Probably you need asterisk for it.
@ezze5 I ' m using usrp b200, and i didn't problem with it, and Ubuntu mate 16.04 for Raspberry Pi 3B, i have tested yet , but there are also some problems for arm system; Currently, I'm in debain system of Raspberry Pi, First, install the lib of build.sh needed , and then , install the deb of tom-2015 uploaded , i can run the openbts, but the SMS has some problem and call isn't supporting.
@tom-2015 ok , i will have a try , and thanks again for you works!
@pengwangbupt just to confirm, This is what I did, in this order, do you see any mistake?
Clone this repository install liba53 install sipauthserve install fakecoredumper (tom-2015, don remember any deb, just ran install.sh) delete coredumper dependencies from /dev/build.sh
sayAndDo mv libcoredumper* ../$BUILDNAME
sayAndDo sudo dpkg -i $BUILDNAME/libcoredumper*.deb
put exit 0; on /dev/libcoredumper/build.sh
remove lcoredumper dependencies from /dev/CommonLibs/Makefile.am
run /dev/build.sh B200
run sudo dpkg -i /dev/BUILDS/
run binary of OpenBTS (Problem with UHD)
@ezze5 yes , the steps is right, but i think you should find the usrp first using commond "uhd_find_device", you need download the usrp images ! and i will try you solutions after a while, and together to complete it!
@pengwangbupt Yes, I do that, I can run other projects using the hardware, it is just with OpenBTS what am having problems with. Will keep looking Thank you!
Installed in on a Ubuntu 16.04 x64 Virtual Machine but when running tmsis to chech the IMSI to subscribe nothing apears (I run it after trying to connect to the network with the phone) Any ideas?
It's a bit off topic to ask that here, this issue goes over compiling. Did the phone actually connect to your network or was it refused? Don't forget to execute the OpenBTS command to allow any IMSI to connect: config Control.LUR.OpenRegistration .*
I personally think this project really needs a forum for asking questions. Unfortunately there is only some irritating mailing lists...
@tom-2015 hello,i have installed the dev files which are you uploaded before, but i get problems as follow : Preparing to unpack liba53_0.1_armhf.deb ... Unpacking liba53 (0.1) over (0.1) ... Preparing to unpack openbts_5.0_armhf.deb ... Unpacking openbts (5.0) over (5.0) ... Preparing to unpack range-asterisk-config_5.0_all.deb ... Unpacking range-asterisk-config (5.0) ... dpkg: error processing archive range-asterisk-config_5.0_all.deb (--install): trying to overwrite '/etc/asterisk/asterisk.conf', which is also in package asterisk-config 1:13.1.0~dfsg-1.1ubuntu4.1 dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) Preparing to unpack range-configs_5.1-master_all.deb ... Unpacking range-configs (5.1-master) over (5.1-master) ... Preparing to unpack sipauthserve_5.0_armhf.deb ... /var/lib/dpkg/info/sipauthserve.prerm: 22: /var/lib/dpkg/info/sipauthserve.prerm: stop: not found Unpacking sipauthserve (5.0) over (5.0) ... Preparing to unpack smqueue_5.0_armhf.deb ... /var/lib/dpkg/info/smqueue.prerm: 22: /var/lib/dpkg/info/smqueue.prerm: stop: not found Unpacking smqueue (5.0) over (5.0) ... Setting up liba53 (0.1) ... Setting up openbts (5.0) ... Setting up range-configs (5.1-master) ... nothing to configure Setting up sipauthserve (5.0) ... Setting up smqueue (5.0) ... Processing triggers for libc-bin (2.23-0ubuntu5) ... Processing triggers for ureadahead (0.100.0-19) ... Errors were encountered while processing: range-asterisk-config_5.0_all.deb
Are you help me ?
try removing /etc/asterisk/asterisk.conf before installing range-asterisk-config_5.0_all.deb. I think the rest is installed fine, Check what is in /OpenBTS/ folder.
I had try removing /etc/asterisk/asterisk.conf,but it no uses, and others are right, but i think there are some configuration are wrong, such as ./OpenCLI , it reports as follow: ./OpenBTSCLI: error while loading shared libraries: libreadline.so.7: cannot open shared object file: No such file or directory @tom-2015 @ezze5 are you ok ? i have try to install openbts in the ubuntu16.04 mate, but there are many problems with "install_arch" and also !
Try installing the missing file: sudo apt-get install libreadline-dev I don't know if these .deb files I've uploaded automatically install all needed dependencies. I just copy/paste them to my site, didn't test it.
It was also compiled on the Raspbian Stretch (official Raspberry OS) for USRP B200 radio module. I don't know if it will work on other versions like the Ubuntu mate 16.04.
hello,@tom-2015 @ezze5 ,I want to know , Did your OpenBTS 's function are right, such as SMS, call, if there are problems?
@pengwangbupt Hello, I installed it on a virtual machine using ubuntu 16.04, could install it but after trying to register the phone nothing appeared with the command tmsis, so I could never register phones. After that I installed it on other virtual machine with Ubuntu 14.04 and i had no problems, however my goal is still make it run on the Raspberry Pi
@pengwangbupt yes it seems to work but I must admit I haven't tested thoroughly. Only did the SMS command and the 2600 test call. I haven't tested phone to phone call/SMS.
If you can't register your phone, check if the IMSI is allowed on your network and also rx gain might be a problem if your phone is too close to the B200. In this case the transceiver outputs something like "clipping detected on RACH channel" warning, if you see this lower the rx gain.
what exactly does libcoredumper do anyways? just curious what functionality is suspended when using fakecoredumper.
Brilliant hack btw!
EDIT: Looks like i had an RTFM moment: Excerpt from RangeNetworks Getting Started with OpenBTS guide; "OpenBTS uses the coredumper shared library to produce meaningful debugging information if OpenBTS crashes. Google originally wrote it ..."
@tom-2015 @ezze5 i have build the OpenBTS in the ubuntu 16.04 Mate,but i can only send message between two MS, and also 2600 test call , but don't call between two phone,my email is jwwbupt@163.com, can we contact by email ? Thanks!
@pengwangbupt Sorry but I can't help you because I don't know how that works either. I'm not using the OpenBTS as a real network but only for testing railway GSM modems. I only have one phone attached at the same time.
It must be a configuration in Asterisk or SIPauthserver. Install Wireshark and listen for SIP messages on lo interface. You will see OpenBTS send a SIP request to Asterisk or SIPAuthserver when you make a call. Maybe the response from Asterisk to OpenBTS will tell you what is wrong.
@tom-2015 ok,thanks ,i will have a try!
OpenBTS does not build phone numbers for the handsets like yate does. You have to make sure you have a sip proxy provider in order for you to connect make phone calls and send sms.
Yate in other hand is build to make phone calls within the network but outside the network needs sip provider. OpenBTS needs a sip provider in order for you to get full functionallity.
Get a sip proxy provider which has a good reputation for gsm provision or otherwise it wont work. Peace. OpenBTS remains the best so far into tricking other phones to connect and the easiest to work with in 2g.
when i using gcc 5 and g++ 5 the error report liket this ./swith to master same error report ./swith to 5.0 smae error report
build to n210
i am using x86_64 ubuntu 16.04 dh_installdirs: No compatibility level specified in debian/compat dh_installdirs: This package will soon FTBFS; time to fix it! dh_installdirs: Compatibility levels before 4 are no longer supported (level 1 requested) END failed--call queue aborted. debian/rules:69: recipe for target 'install-arch' failed make: *** [install-arch] Error 2 dpkg-buildpackage: error: debian/rules binary gave error exit status 2
@baguzajja Hello, I have also encountered this problem now. I am using x86_64 ubuntu 16.04 and n210 Can you solve this problem? thk.
std::__cxx11::basic_string<char, std::char_traits
Ran /dev/build.sh and met a problem (debian/rules:55: recipe for target 'clean' faile) ` pi@raspberrypi:/opt/dev $ sudo ./build.sh SDR1 checking for a supported radio type - found checking for a compatible build host - WARNING : dev-tools is currently only tested on Ubuntu 16.04, YMMV. Please open an issue if you've used it successfully on another version of Ubuntu. adding additional repo tools ** - done
checking build dependencies - done
make a home for this build mkdir -p BUILDS/2017-03-09--23-42-13 libcoredumper - building Debian package and installing as dependency cd libcoredumper ./build.sh wget http://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/google-coredumper/coredumper-1.2.1.tar.gz --2017-03-09 23:42:13-- http://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/google-coredumper/coredumper-1.2.1.tar.gz 正在解析主机 storage.googleapis.com (storage.googleapis.com)... 192.168.1.200 正在连接 storage.googleapis.com (storage.googleapis.com)|192.168.1.200|:80... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:437668 (427K) [application/x-gzip] 正在保存至: “coredumper-1.2.1.tar.gz”
coredumper-1.2.1.tar.gz 100%[=========================================================>] 427.41K 1.87MB/s 用时 0.2s
2017-03-09 23:42:14 (1.87 MB/s) - 已保存 “coredumper-1.2.1.tar.gz” [437668/437668])
tar zxf coredumper-1.2.1.tar.gz cd coredumper-1.2.1 mv packages/deb debian chmod 644 debian/control patch -p0 patching file src/elfcore.c patching file src/linuxthreads.c patching file src/linux_syscall_support_unittest.cc dpkg-buildpackage -us -uc dpkg-buildpackage: source package libcoredumper dpkg-buildpackage: source version 1.2.1-1 dpkg-buildpackage: source distribution unstable dpkg-buildpackage: source changed by Google Inc. opensource@google.com dpkg-buildpackage: host architecture armhf dpkg-source --before-build coredumper-1.2.1 debian/rules clean dh_testdir dh_testroot rm -f build-stamp Add here commands to clean up after the build process. /usr/bin/make distclean make[1]: Entering directory '/opt/dev/libcoredumper/coredumper-1.2.1' make[1]: ** No rule to make target 'distclean'。 停止。 make[1]: Leaving directory '/opt/dev/libcoredumper/coredumper-1.2.1' debian/rules:55: recipe for target 'clean' failed make: [clean] Error 2 (ignored) cp -f /usr/share/misc/config.sub config.sub cp -f /usr/share/misc/config.guess config.guess dh_clean dh_clean: Compatibility levels before 5 are no longer supported (level 4 requested) debian/rules:55: recipe for target 'clean' failed make: [clean] Error 25 dpkg-buildpackage: error: debian/rules clean gave error exit status 2 ERROR: command failed! ** ERROR: command failed! `
P.S. I use ** to replace # which are in the nofication.
As you see , I want to build a base station with Motorola C118 on my raspberrypi. But I met a problem with running /dev/build.sh . I try to edit /dev/libcoredumper/build.sh. Unfortunately, it didn't work. By the way, the package (coredumper-1.2.1.tar.gz) caches at my temp server. Because I behind the GreatFireWall and can not link to Google. But it was surly from Google.