Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
paraparata opened this issue Apr 29, 2018 · 11 comments

Comments

@paraparata
Copy link

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
Copy link

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

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

good luck

@paraparata
Copy link
Author

paraparata commented May 4, 2018

@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
Copy link

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:

  • apt-get install libtool-bin
  • apt-get install libboost-all-dev
    while I did not install them they gave me problems with the "make"

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
Copy link

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
Copy link

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
Copy link

alejandro-amo commented Feb 13, 2019

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
Copy link
Author

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

@paraparata
Copy link
Author

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
Copy link

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

@Axel03nt
Copy link

Axel03nt commented Apr 3, 2020

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
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants