How to get started with Bluetooth for Ubuntu - linux

I really need help getting started. I want to make a basic program (in C) that can read a bluetooth socket and print whatever it is sent. I tried to get Bluez (followed this:http://hackgnar.com/article/installing-the-latest-bluez-software-in-ubuntu-12/ it went great until the "make" at the end and then no luck, would not make and example program could not find bluetooth/bluetooth.h).
I guess my hopeful options are:
some one can tell me what I'm missing with Bluez's install and possibly how to get started with it (compiling etc)
Alternative to bluez? Laptop could do bluetooth file transfers before I installed bluez so do I even need it for this application?
Any sort of comprehensive hello world (download, install, example, compile and run)
I have a strong programming background, just not in Linux (you can gloss over the C stuff but please not the Linux/Ubuntu stuff).
Thanks!

I can only guess that you have an old version of the kernel, or one of the required libraries. Try updating your linux installation (e.g. to a 3.5.x kernel or thereabouts).
I had no problem completing the steps you took.
If you are looking for example programs, you can always look at the simpler tools.
On my ubuntu box I'd do e.g.
sudo apt-get build-dep bluez-tools
apt-get source --compile bluez-tools
which gets all build dependencies, sources and builds the bluez-tools package on your system.

Related

How to start Unity Editor on Linux?

I downloaded the latest version of Unity platform-agnostic self-extracting installation script and successfully installed it:
$ sudo sh ./unity-editor-installer-5.4.0p1+20160810.sh
Installer for Unity 5.4.0p1
Press Enter to begin extracting to ./unity-editor-5.4.0p1
Unpacking Unity 5.4.0p1 ...
Extraction complete. Run ./unity-editor-5.4.0p1/Editor/Unity to begin
Then I tried to run the Editor:
$ ./unity-editor-5.4.0p1/Editor/Unity
These two windows appear immediately when the command above is run:
and nothing more happened for the whole night. No error messages, no console output, no log files and no syslog entries. top utility shows that Unity process utilizes one core for 100% of it's CPU time.
I run OpenSUSE 13.2 with up-to-date nVidia graphics drivers. My system also matches all dependencies and requirements listed here, and I didn't see any other instructions except "run the installation script, then run the editor". Unity works OK on Windows with the same hardware.
So my questions are:
How (if possible) to run Unity Editor on non-Ubuntu distributions?
Where can I find error messages (if any) which might clarify the reasons of the issue?
This seems to be a common linux bug.
I can't make any assurances but what worked for me (and what seems to be the most suggested fix on the unity forums) is to do two things:
update or install NPM
create the directory "~/.local/share/unity3d/Packages"
If your npm is up to date, the directory thing seems to be the big to-do (it worked like crackers for me).
If you've got both...well, at least you get the joy of adventure trying to figure out what else could be going against you.

Install rpm or dpkg with no package manager in embedded Linux

I need to add new functionality to a chinese Linux-based time attendance clock. More specifically I need to make It SNMP capable, which is not available by factory default.
After some research I found a login:password which worked for the TelNet login and managed to get inside the system with root privileges.
The first thing I did was to figure out which Linux distro was It running:
cat /etc/issue throws this:
"PXA Linux Preview Kit
Kernel 2.6.29 on armv5tejl"
I did a quick google search and found that
"PXA Linux is a port of the Linux kernel for PXA based processor based devices and machines."
I dont understand why It's running a PXA Linux Preview Kit on an armv5tejl.
I gave no importance to this fact, and got to the next step: finding which package manager has this system:
I tried several commands:
apt-get, aptitude, rpm, dpkg, yum, slapt-get, ipkg, and several others. None of them worked.
I found that the system had Busybox installed. More specifically BusyBox 1.15.3. In this BusyBox I couldnt find any of those commands. I found that BusyBox does implement rpm and dpkg but this version doesnt have them.
The only command which seems to be "software installation related" I found was the command "install". From BusyBox docs:
"install [-cdDsp] [-o USER] [-g GRP] [-m MODE] [source] dest|directory
Copy files and set attributes"
But probably it doesnt replace the package manager tool. I think that I need to get a way to install dpkg or rpm, and then use them to install the SNMP packages I want. As I read, the lowest level package installation tool is dpkg so I don't have a clue on where to begin.
Can someone give me some advice on how to approach this issue? How can I install a package with no package manager possiblities at all?
You won't be able to install additional software to that system via a package manager. Such devices aren't designed like that. The firmware that was shipped with the device is all there is. What would be the incentive of the device manufacturer to maintain a package repository with general purpose linux software?
But not all hope is lost. You can of course try to compile the needed software yourself (and by that extend the firmware). For that to work you will need a suitable ARM cross compiler (GCC). Via static linking your SNMP package won't have any dependencies to the library versions already on the device (so you don't need a sysroot matching the libraries on the device).

How do I build and run qt/qt creator on Odroid XU3?

I want to run QT-Creator on my Odroid XU3 (ARM Architecture with Lubuntu 14.4) and build an application with it. I've read a lot of on the internet to figure out how to do this but haven't been successful yet. I tried to follow these instructions https://wiki.qt.io/ODROID-XU3 but didn't understand few things.
It states that I need to install some dependencies. I followed the given hyperlink on this site and installed the dependencies using following commands:
sudo apt-get build-dep qt5-default
sudo apt-get install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev
libxrender-dev libxi-dev
When I searched for my qt5 folder, I could only find qt4 in user/share. What did I do wrong?
It states that I have to setup a toolchain and a sysroot. Do I have to do this only if I want to cross-compile, so compile on a different machine for my Odroid XU3, or also if I just want to compile on Odroid itself?
Let's say I want to setup the toolchain. According to this site I should copy the raspberry pi toolchain (or a different one) into the folder ~/Code/Odroid/toolchain. Problem is I don't see such a folder in my home directory on my Odroid. Should I mkdir one?
Let's also say I want to setup the sysroot, I don't get the part "One is to mount the ODROID-XU3's SD Card or eMMC on your development machine and either make a copy or a link to ~/Code/Odroid/sysroot". Am I right in assuming that I should copy the content of my SD-card to this folder on my developing machine?
Where should I build my QT now - on my development machine or Odroid? (sorry for that stupid question)
What If I want to make it simple and build everything on Adroid XU3 assuming that I have plenty of time and resources. I tried to first install qt and qt creator afterwards but as I started qtcreator, there was no compiler preconfigured and also the QuickView was missing. The terminal was also mentioning that the toolchain is missing. I struggled a lot in order to add these missing components but failed.
Thanks in advance!
to your second point: you can compile it on the Odroid or on your PC. But you should take a look at this: https://wiki.qt.io/Category:QtonPi it should be pretty the same on the Odroid.

Error setting up ddd to debug bash scripts

I am comparatively new to Linux. I am running Fedora 64 bit at my PC. I am having difficulty setting up ddd with bashdb. I am able to install it using yum but when I run it for bashdb, the software environment for ddd comes up but it keeps on working for infinite time, unless I manually kill it.
I used google to know what the problem is and came to know many people are having same problem, when using linux's package installers. It has bugs so I have to compile the latest source and install it manually. So I downloaded the source and tried to ./configure, it produced the following error and exited:
configure: error: Cannot find termcap compatible library
I searched again and found out I need termcap library at my PC, here:
https://lists.gnu.org/archive/html/bug-ddd/2013-01/msg00004.html
http://www.cplusplus.com/forum/unices/58299/
I used yum to install ncurses but found out it is already installed. Used locate to find the path of ncurses and passed it to configure using following commands:
sudo ./configure --with-termlib-libraries=/lib/libncurses.so.5
sudo ./configure --with-termlib-libraries=/lib/libncurses.so.5.9
Still, I am having the same error.
It is very frustrating because I have tried almost everything I found on internet. May be, there is a minor point that I am overlooking due to my inexperience. My main concern is to be able to debug complex bash scripts that I am going to develop in near future. I am not very comfortable with command line debugging i.e. without an interface. Any tips/advice that, can get me going with debugging with some other application may be, are also welcomed
I installed the ncurses development package to get past this problem:
sudo yum install ncurses-devel*

OpenCV keeps "uninstalling" itself (Linux)

Really annoying issue here. On Linux Mint OS. Every so often, I'll get this error when running OpenCV code:
HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /home/ravi/Desktop/opencv/OpenCV-2.1.0/src/highgui/window.cpp, line 180
terminate called after throwing an instance of 'cv::Exception'
what(): /home/ravi/Desktop/opencv/OpenCV-2.1.0/src/highgui/window.cpp:180: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvNamedWindow
The way to fix this, I've found, it to do the following:
cd OpenCV/
cd build/
cmake ..
make
sudo make install
sudo ldconfig
<restart computer>
Then I'll come back, start running my OpenCV code again, and it'll be fine. But then a few hours later, or possibly between turning cpu on/off, I'll be back to the same stupid error!
Does anyone have any idea what's going on here and how I can prevent this? It's frustrating as hell.
It sounds like a general critical error in the program code. Is there a specific task that is done when the error occurs? You might want to use strace to get the output of the program as it runs or enable application memory dumps for the user you are running the process as. This would be passed to the developer for debugging and inspection.
I believe the problem was solved by paying attention to where my USB camera was actually located in /dev/. Giving a faulty path to the get video source functions causes this type of error; restarting my computer occasionally shifted which /dev/video# my device was attached to.
Please do ls /dev/vid* to find out if you're using the right video source!

Resources