LTE-Cell-Scanner on MacOS

Discussions related to embedded firmware, driver, and user mode application software development

Moderator: robert.ghilduta

Post Reply
txjacob
Posts: 13
Joined: Fri Apr 14, 2017 10:12 am

LTE-Cell-Scanner on MacOS

Post by txjacob » Wed Aug 02, 2017 7:24 pm

Has anyone been able to get LTE-Cell-Scanner to work on Mac OS? I've been trying to compile it on my computer, but I get the following error when running make:

Code: Select all

[100%] Linking CXX executable LTE-Tracker
Undefined symbols for architecture x86_64:
  "itpp::DSFMT<19937, 117, 19, 4498102069230399ull, 4501400546508797ull, 1047295u, 4294966079u, 1048063u, 4237361149u, 10376655713290109737ull, 4291106551315987578ull, 4432916062321256576ull, 1ull>::initialized", referenced from:
      kalibrate(double&, double&, double const&, double const&, double&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool const&, double const&, double const&, bool const&, rtlsdr_dev_t*&, hackrf_device*&, bladerf*&, dev_type_t::dev_type_t const&, double&, bool const&, double&, char const*, char const*, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&) in LTE-Tracker.cpp.o
      _main in LTE-Tracker.cpp.o
  "itpp::DSFMT<19937, 117, 19, 4498102069230399ull, 4501400546508797ull, 1047295u, 4294966079u, 1048063u, 4237361149u, 10376655713290109737ull, 4291106551315987578ull, 4432916062321256576ull, 1ull>::sse2_param_mask", referenced from:
      kalibrate(double&, double&, double const&, double const&, double&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool const&, double const&, double const&, bool const&, rtlsdr_dev_t*&, hackrf_device*&, bladerf*&, dev_type_t::dev_type_t const&, double&, bool const&, double&, char const*, char const*, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&) in LTE-Tracker.cpp.o
      _main in LTE-Tracker.cpp.o
  "itpp::DSFMT<19937, 117, 19, 4498102069230399ull, 4501400546508797ull, 1047295u, 4294966079u, 1048063u, 4237361149u, 10376655713290109737ull, 4291106551315987578ull, 4432916062321256576ull, 1ull>::idx", referenced from:
      kalibrate(double&, double&, double const&, double const&, double&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool const&, double const&, double const&, bool const&, rtlsdr_dev_t*&, hackrf_device*&, bladerf*&, dev_type_t::dev_type_t const&, double&, bool const&, double&, char const*, char const*, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&) in LTE-Tracker.cpp.o
      _main in LTE-Tracker.cpp.o
  "itpp::DSFMT<19937, 117, 19, 4498102069230399ull, 4501400546508797ull, 1047295u, 4294966079u, 1048063u, 4237361149u, 10376655713290109737ull, 4291106551315987578ull, 4432916062321256576ull, 1ull>::status", referenced from:
      kalibrate(double&, double&, double const&, double const&, double&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool const&, double const&, double const&, bool const&, rtlsdr_dev_t*&, hackrf_device*&, bladerf*&, dev_type_t::dev_type_t const&, double&, bool const&, double&, char const*, char const*, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&) in LTE-Tracker.cpp.o
      _main in LTE-Tracker.cpp.o
  "itpp::DSFMT<19937, 117, 19, 4498102069230399ull, 4501400546508797ull, 1047295u, 4294966079u, 1048063u, 4237361149u, 10376655713290109737ull, 4291106551315987578ull, 4432916062321256576ull, 1ull>::bigendian", referenced from:
      kalibrate(double&, double&, double const&, double const&, double&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool const&, double const&, double const&, bool const&, rtlsdr_dev_t*&, hackrf_device*&, bladerf*&, dev_type_t::dev_type_t const&, double&, bool const&, double&, char const*, char const*, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&) in LTE-Tracker.cpp.o
      _main in LTE-Tracker.cpp.o
  "itpp::DSFMT<19937, 117, 19, 4498102069230399ull, 4501400546508797ull, 1047295u, 4294966079u, 1048063u, 4237361149u, 10376655713290109737ull, 4291106551315987578ull, 4432916062321256576ull, 1ull>::last_seed", referenced from:
      kalibrate(double&, double&, double const&, double const&, double&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool const&, double const&, double const&, bool const&, rtlsdr_dev_t*&, hackrf_device*&, bladerf*&, dev_type_t::dev_type_t const&, double&, bool const&, double&, char const*, char const*, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&) in LTE-Tracker.cpp.o
      _main in LTE-Tracker.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [src/LTE-Tracker] Error 1
make[1]: *** [src/CMakeFiles/LTE-Tracker.dir/all] Error 2
make: *** [all] Error 2

txjacob
Posts: 13
Joined: Fri Apr 14, 2017 10:12 am

Re: LTE-Cell-Scanner on MacOS

Post by txjacob » Wed Aug 02, 2017 8:50 pm

So building itpp from source doesn't work as it results in the error above. For some reason I could not get cmake to see my itpp install at /opt/local/. Therefore I went through and manually edited the cmake generated files to point the compiler at that directory. After doing that the program built correctly, and runs correctly.

bglod
Posts: 67
Joined: Thu Jun 18, 2015 6:10 pm

Re: LTE-Cell-Scanner on MacOS

Post by bglod » Fri Aug 11, 2017 12:31 pm

I seem to recall having to edit one or more of the cmake/Modules/Find*.cmake files as well. Glad to hear you figured it out.
Electrical Engineer
Nuand, LLC.

adam123
Posts: 1
Joined: Thu Sep 07, 2017 1:39 am

Re: LTE-Cell-Scanner on MacOS

Post by adam123 » Thu Sep 07, 2017 1:45 am

Hello!

can anyone give me the answer is it compulsory for LTE-Scanner development to create an account on GitHub.

bglod
Posts: 67
Joined: Thu Jun 18, 2015 6:10 pm

Re: LTE-Cell-Scanner on MacOS

Post by bglod » Thu Sep 07, 2017 7:50 am

To modify the source and submit pull requests for eventual incorporation into their master, yes, you will need a GitHub account. However, if you just want to grab the code and make local changes, you do not need a GitHub account.
Electrical Engineer
Nuand, LLC.

mgp25
Posts: 3
Joined: Tue Oct 10, 2017 4:31 pm

Re: LTE-Cell-Scanner on MacOS

Post by mgp25 » Tue Oct 10, 2017 4:37 pm

Hello bglod,

im facing the same issues txjacob explained in the very first post. Nevertheless, im not able to find a solution to it. I have read that both of you achieved it by editing some files. Could it be possible for you to give more details about the procedure, which files to edit and so?

Thanks!

Regards

bglod
Posts: 67
Joined: Thu Jun 18, 2015 6:10 pm

Re: LTE-Cell-Scanner on MacOS

Post by bglod » Thu Oct 12, 2017 4:44 pm

If CMake is complaining, take a look at:

Code: Select all

cmake/Modules/FindITPP.cmake
There are 3 search paths:
  • FIND_PATH(ITPP_DIR ...
  • FIND_LIBRARY(ITPP_LIBRARY_NORMAL ...
  • FIND_LIBRARY(ITPP_LIBRARY_DEBUG ...
If your ITPP is not installed in any of the paths already listed, add your path. That should let cmake find ITPP and proceed with the build.

If, during the build, you get linker errors as described by txjacob, you can do one of two things:

Option 1 (easiest):
Add the path to libitpp.so to your LIBRARY_PATH environment variable

Code: Select all

export LIBRARY_PATH=/path/to/itpp/lib:${LIBRARY_PATH}
Option 2 (slightly more involved, less automated):
After running cmake, modify the following files to replace all instances of "-litpp" with "/absolute/path/to/libitpp.so"

I'm sure there is a more appropriate solution to this that involves modifying the CMakeLists.txt (e.g. link_directories("${ITPP_LIBRARY}")), but I was unsuccessful at this time. I'd have to do more research into it. But for now, the above options should work well enough. :)
Electrical Engineer
Nuand, LLC.

mgp25
Posts: 3
Joined: Tue Oct 10, 2017 4:31 pm

Re: LTE-Cell-Scanner on MacOS

Post by mgp25 » Thu Oct 12, 2017 5:25 pm

Thanks for your response,

Yes i have itpp installed via brew:

Code: Select all

mgp25$ brew info itpp
itpp: stable 4.3.1 (bottled), HEAD
Library of math, signal, and communication classes and functions
https://itpp.sourceforge.io
/usr/local/Cellar/itpp/4.3.1 (144 files, 4.8MB) *
  Poured from bottle on 2016-10-10 at 10:56:25
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/itpp.rb
==> Dependencies
Build: cmake ✔
Recommended: fftw ✔
==> Options
--without-fftw
	Build without fftw support
--HEAD
	Install HEAD version
And there is no libitpp.so:

Code: Select all

lib mgp25$ ls
libitpp.8.2.1.dylib	libitpp.dylib
libitpp.8.dylib		pkgconfig
Anyway i did:

Code: Select all

build mgp25$ export LIBRARY_PATH=/usr/local/Cellar/itpp/4.3.1/lib:${LIBRARY_PATH}
build mgp25$ make
[ 72%] Built target LTE_MISC
[ 72%] Built target CellSearch
[ 72%] Linking CXX executable LTE-Tracker
Undefined symbols for architecture x86_64:
Am i doing something incorrectly?

Thanks again!

Regards

bglod
Posts: 67
Joined: Thu Jun 18, 2015 6:10 pm

Re: LTE-Cell-Scanner on MacOS

Post by bglod » Fri Oct 13, 2017 9:03 am

Can you list the symbols it can't find?
Electrical Engineer
Nuand, LLC.

mgp25
Posts: 3
Joined: Tue Oct 10, 2017 4:31 pm

Re: LTE-Cell-Scanner on MacOS

Post by mgp25 » Fri Oct 13, 2017 10:09 am

Sure.

Code: Select all

build mgp25$ make
[ 72%] Built target LTE_MISC
[ 72%] Built target CellSearch
[ 72%] Linking CXX executable LTE-Tracker
Undefined symbols for architecture x86_64:
  "itpp::DSFMT<19937, 117, 19, 4498102069230399ull, 4501400546508797ull, 1047295u, 4294966079u, 1048063u, 4237361149u, 10376655713290109737ull, 4291106551315987578ull, 4432916062321256576ull, 1ull>::initialized", referenced from:
      kalibrate(double&, double&, double const&, double const&, double&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool const&, double const&, double const&, bool const&, rtlsdr_dev_t*&, hackrf_device*&, bladerf*&, dev_type_t::dev_type_t const&, double&, bool const&, double&, char const*, char const*, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&) in LTE-Tracker.cpp.o
      _main in LTE-Tracker.cpp.o
  "itpp::DSFMT<19937, 117, 19, 4498102069230399ull, 4501400546508797ull, 1047295u, 4294966079u, 1048063u, 4237361149u, 10376655713290109737ull, 4291106551315987578ull, 4432916062321256576ull, 1ull>::sse2_param_mask", referenced from:
      kalibrate(double&, double&, double const&, double const&, double&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool const&, double const&, double const&, bool const&, rtlsdr_dev_t*&, hackrf_device*&, bladerf*&, dev_type_t::dev_type_t const&, double&, bool const&, double&, char const*, char const*, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&) in LTE-Tracker.cpp.o
      _main in LTE-Tracker.cpp.o
  "itpp::DSFMT<19937, 117, 19, 4498102069230399ull, 4501400546508797ull, 1047295u, 4294966079u, 1048063u, 4237361149u, 10376655713290109737ull, 4291106551315987578ull, 4432916062321256576ull, 1ull>::idx", referenced from:
      kalibrate(double&, double&, double const&, double const&, double&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool const&, double const&, double const&, bool const&, rtlsdr_dev_t*&, hackrf_device*&, bladerf*&, dev_type_t::dev_type_t const&, double&, bool const&, double&, char const*, char const*, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&) in LTE-Tracker.cpp.o
      _main in LTE-Tracker.cpp.o
  "itpp::DSFMT<19937, 117, 19, 4498102069230399ull, 4501400546508797ull, 1047295u, 4294966079u, 1048063u, 4237361149u, 10376655713290109737ull, 4291106551315987578ull, 4432916062321256576ull, 1ull>::status", referenced from:
      kalibrate(double&, double&, double const&, double const&, double&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool const&, double const&, double const&, bool const&, rtlsdr_dev_t*&, hackrf_device*&, bladerf*&, dev_type_t::dev_type_t const&, double&, bool const&, double&, char const*, char const*, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&) in LTE-Tracker.cpp.o
      _main in LTE-Tracker.cpp.o
  "itpp::DSFMT<19937, 117, 19, 4498102069230399ull, 4501400546508797ull, 1047295u, 4294966079u, 1048063u, 4237361149u, 10376655713290109737ull, 4291106551315987578ull, 4432916062321256576ull, 1ull>::bigendian", referenced from:
      kalibrate(double&, double&, double const&, double const&, double&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool const&, double const&, double const&, bool const&, rtlsdr_dev_t*&, hackrf_device*&, bladerf*&, dev_type_t::dev_type_t const&, double&, bool const&, double&, char const*, char const*, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&) in LTE-Tracker.cpp.o
      _main in LTE-Tracker.cpp.o
  "itpp::DSFMT<19937, 117, 19, 4498102069230399ull, 4501400546508797ull, 1047295u, 4294966079u, 1048063u, 4237361149u, 10376655713290109737ull, 4291106551315987578ull, 4432916062321256576ull, 1ull>::last_seed", referenced from:
      kalibrate(double&, double&, double const&, double const&, double&, bool const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool const&, double const&, double const&, bool const&, rtlsdr_dev_t*&, hackrf_device*&, bladerf*&, dev_type_t::dev_type_t const&, double&, bool const&, double&, char const*, char const*, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&, unsigned short const&) in LTE-Tracker.cpp.o
      _main in LTE-Tracker.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [src/LTE-Tracker] Error 1
make[1]: *** [src/CMakeFiles/LTE-Tracker.dir/all] Error 2
make: *** [all] Error 2

Post Reply