libtecla

Having issues with the site, hardware, source code, or any other issues?
Post Reply
BladeRunnerF
Posts: 3
Joined: Thu Aug 29, 2013 8:02 am

libtecla

Post by BladeRunnerF »

Just got my BladeRF and I've been working on installing using the directions on the forum (http://nuand.com/forums/viewtopic.php?f=9&t=2992).

However when I attempt to do a cmake, I get the following error. I do not have libtecla installed so it makes sense that I would get this error:

robert@robert-S400CA:~/bladeRF/host/cmake$ cmake -DCMAKE_BUILD_TYPE=debug -DINSTALL_UDEV_RULES=ON -DCMAKE_INSTALL_PREFIX=/opt/bladeRF/ ../
-- In libraries /home/robert/bladeRF/host/common/src
-- libbladeRF version: 0.3.0-git-4d8312b-dirty
-- nuand bladeRF udev rules will be installed upon running 'make install'
-- checking for module 'libtecla'
-- package 'libtecla' not found
-- libtecla not found.
CMake Error at utilities/bladeRF-cli/CMakeLists.txt:94 (message):
ENABLE_INTERACTIVE_TECLA set, but libtecla could not be found


CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
LIBTECLA_INCLUDE_DIR (ADVANCED)
used as include directory in directory /home/robert/bladeRF/host/utilities/bladeRF-cli

-- Configuring incomplete, errors occurred!


However, I have made every attempt that I can to download and install libtecla with no success. I wonder if there is someone who may be able to assist.

I have downloaded libtecla, I have done a "./config" with success, a "make" with success, but "make install" does not work. I get an error stating that there is no "install" file.

Eventually I was able to do an "apt-get install libtecla1" (not libtecla), but libtecla1 != libtecla. I am very new to linux and so I don't have any ability to deviate from what I see on forums etc. Please help.
jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: libtecla

Post by jynik »

Hi there!

I suspect the problem you may be running into is that although you've installed the libtecla1 package, you also need to install the libtecla1-dev package.

Code: Select all

# Install both the library and it's development headers
$ sudo apt-get install libtecla1 libtecla1-dev

# Re-run cmake here
$ cmake <path to top-level where CMakeLists.txt lives>
If I'm not correct, let me know and we'll continue debugging. You mentioned being new to Linux, so I just want to mention that you can use apt-cache search to help locate packages:

Code: Select all

$ apt-cache search libtecla
libtecla1 - interactive command line editing facilities
libtecla1-dev - interactive command line editing facilities (development)
Generally, a lib<something> package will contain only the shared libraries. This is required for any programs that use the library at runtime. The -dev variant of the package will include additional files needed to build programs (e.g. compile and link) against that library. See this page for some more information about how to find and inspect package contents.

I'd encourage you to try the following to verify what I've noted above:

Code: Select all

$ dpkg -L libtecla1
$ dpkg -L libtecla1-dev


If you want to forgoe the use of libtecla (which will disable interactive support in the CLI), you could also run cmake as follows:

Code: Select all

cmake -DENABLE_INTERACTIVE_TECLA=OFF <path to top-level where CMakeLists.txt lives>

However, I would highly recommend building with libtecla, given that the interactive mode functionality is quite useful for development, testing, and debugging. Admittedly, the current build is a bit hostile -- it should default to having libtecla disabled until it detects that it's present. I'll be working on addressing this soon. You might also be interested in taking a look at the guide kb3gtn has been putting together.
BladeRunnerF
Posts: 3
Joined: Thu Aug 29, 2013 8:02 am

Re: libtecla

Post by BladeRunnerF »

I was able to install the libtecla1-dev package, but still had the same results.

I used the switch to disable libtecla, but this just lead to other issues later on.

I verified that both libtecla1 and libtecla1-dev are installed, but I still get the error.

Is it becasue their name is libtecla1 not libtecla?

Not sure why this is so hard to do..
jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: libtecla

Post by jynik »

Just for reference, what distro are you running? Ubuntu 13.04 here, which provides libtecla1 and libtecla1-dev, so the name is not an issue.

Where did libtecla1 and libtecla1 install their files? (See the dpkg -L example in my previous post). If you take a look at host/cmake/module/FindLibTecla.cmake, you'll see that it's searching /usr/include and /usr/local/include for libtecla.h, and /usr/lib and /usr/local/lib for libtecla.so*.

Just for a sanity check might be worth removing the build/ directory and running a fresh configuration with CMake. Please post the CMake log and we'll see if anything else looks odd.
schrambo
Posts: 16
Joined: Sat Mar 02, 2013 1:33 am
Location: Perth, Western Australia

Re: libtecla

Post by schrambo »

Do as Jyink suggested. Whenever experiencing dependency compiling errors. Best to always do a "make clean / scrub" before reattempting to compile again.

I too ran into this issue libtecla, but a quick apt-get install libtecla1-dev solved it so something else should be causing the issue.

Failing that, do a purge of the libtecla1 packages, reinstall, and try again.

If your still having problems. Try compling again but with the verbose flags "#make -wd" But yes, if you could please tell us your Distro, kernel number "#uname -a". Also what does your dmesg output look like when you plug in the bladeRF?
Post Reply