RangeNetworks / OpenBTS-UMTS

3G UMTS Data Radio Access Network Node
GNU Affero General Public License v3.0
300 stars 196 forks source link

ERROR undefined reference to `uhd::msg::register_handler(void (* const&)(uhd::msg::type_t, std::string const&))' #18

Open paraparata opened 6 years ago

paraparata commented 6 years ago

I have an error while make OPENBTS-UMTS :

/root/src/OpenBTS-UMTS/TransceiverUHD/UHDDevice.cpp:414: undefined reference to `uhd::msg::register_handler(void (* const&)(uhd::msg::type_t, std::string const&))'
collect2: error: ld returned 1 exit status
make[2]: *** [transceiver] Error 1
make[2]: Leaving directory `/root/src/OpenBTS-UMTS/TransceiverUHD'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/src/OpenBTS-UMTS'
make: *** [all] Error 2

I'll so glad if anyone can help me solve this. Because I've googled this issue and didn't find any real solution :"(

peterm2109 commented 6 years ago

you must copy the "transceiver" file for several directories:

https://fairwaves.co/blog/openbts-umts-3g-umtrx/

good luck

paraparata commented 6 years ago

@peterm2109 Thanks before bruh has answer my question, but it still not working. And I think the "copy the transceiver"s step must be run after "make install" procedure. The log is still same as first.

peterm2109 commented 6 years ago

you're right @paraparata ... sorry....

I was seeing the times I had installed OpenBTS-UMTS, looking for when I was giving that error in the make process.

Verify that you have installed:

another thing. you must install the version asn1c-0.9.23, it is inside the code that you download.

cd ~ / OpenBTS-UMTS / tar -zxvf asn1c-0.9.23.tar.gz cd vlm-asn1c-0959ffb / ./configure make make install

another thing that happened to me, was that to make "make" I had to have the USRP connected

cd ~ / OpenBTS-UMTS / ./autogen.sh ./configure make make install

good luck...

alejandro-amo commented 5 years ago

the reference is clear enough, UHD related libs are to be blamed here. Dont act blindly and more important don't give advice blindly.

alejandro-amo commented 5 years ago

found it: downgrade UHD to older version < 3.10. for example, 3.9-LTS it was quite obvious that UHD was the cause we only have to focus on the error message and look for references to it. other project authors explain this issue very well and have published patches for their old pieces of software.

alejandro-amo commented 5 years ago

by the way: In order to fully solve this problem, I'm porting OpenBTS to the new UHD drivers API. It's not so hard after all, few things changed. I'm also cherrypicking other fixes and enhancements from other buddies. Check out https://github.com/EurecatSecurity/OpenBTS-UMTS

paraparata commented 5 years ago

Hi @AlisterAmo , thx for ur time for helping me solve this. I'll try your repo then. Big thx.

paraparata commented 5 years ago

Hi @AlisterAmo , I followed your instruction in this link https://github.com/EurecatSecurity/OpenBTS-UMTS . But there is an error like this

CLI.cpp:1092:18: warning: ‘CommandLine::CLIStatus CommandLine::endcall(int, char, std::ostream&)’ defined but not used [-Wunused-function] static CLIStatus endcall(int argc, char argv, ostream& os) ^ Makefile:501: recipe for target 'CLI.lo' failed make[2]: [CLI.lo] Error 1 make[2]: Leaving directory '/home/anrg/reloaded/OpenBTS-UMTS/CLI' Makefile:550: recipe for target 'all-recursive' failed make[1]: [all-recursive] Error 1 make[1]: Leaving directory '/home/anrg/reloaded/OpenBTS-UMTS' Makefile:481: recipe for target 'all' failed make: *** [all] Error 2

Do you know how to solve this? Big thx P

alejandro-amo commented 5 years ago

not sure about this one. can you provide more info? build environment, compiler versions etc?

Axel03nt commented 4 years ago

Hi @peterm2109 , for "transceiver" file, are you refering to "UHDDevice.cpp" file or wich one? I have the same problem:

. . . /home/leic/OpenBTS/OpenBTS-UMTS/TransceiverUHD/UHDDevice.cpp:422: undefined reference to `uhd::msg::register_handler(void (* const&)(uhd::msg::type_t, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&))' collect2: error: ld returned 1 exit status Makefile:538: fallo en las instrucciones para el objetivo 'transceiver' make[2]: [transceiver] Error 1 make[2]: se sale del directorio '/home/leic/OpenBTS/OpenBTS-UMTS/TransceiverUHD' Makefile:550: fallo en las instrucciones para el objetivo 'all-recursive' make[1]: [all-recursive] Error 1 make[1]: se sale del directorio '/home/leic/OpenBTS/OpenBTS-UMTS' Makefile:481: fallo en las instrucciones para el objetivo 'all' make: *** [all] Error 2

root@leic:/home/leic/OpenBTS/OpenBTS-UMTS# I don´t know how to resolve it :(

sherdil6 commented 1 year ago

@paraparata getting exactly similar error. Did you resolve it at that time?