Popular Posts

Wednesday, June 13, 2012

Installing ROS Fuerte on Fedora 17 (Failed!)

I just installed a new Fedora 17 system to get familiar with it. Now I am trying to install the brand new ROS Fuerte on this Fedora system following the instructions here.

Everything went fine until the make & install step

make -j8
sudo make install
 
 

First, it is better to be cautious and just type 
make
without the
-j8
part. Parallel compilation can get you into trouble some times! Second, with the
sudo make install
step, I got an error complaining about the directory ~/ros-underlay/catkin/bin/em is not found. Seems like this directory have to be present as if in a Debian system. So, mkdir ~/ros-underlay/catkin/bin/em solved this problem (apparently!).

Following the instructions with the Desktop-Full install, I got another error at the step
rosdep install -a

ERROR: Rosdep experienced an internal error.
Please go to the rosdep page [1] and file a bug report with the message below.
[1] : http://www.ros.org/wiki/rosdep

Bad installer [yum]: global name 'pkgs' is not defined



Actually, it seems like there is a ticket filed already for this bug here. Following the bug assignee instructions, I downloaded the latest rosdep from github, and then extracted the archive ans installed it using
sudo python setup.py install

The error disappeared. But now I have other errors!

Executing script below with cwd=/tmp
{{{
#!/bin/bash
export PREFIX=/usr/
if [ -f $PREFIX/include/assimp/assimp-version.installed ]; then
  [ 2ed0b9954bcb2572c0dade8f849b9260 = `cat $PREFIX/include/assimp/assimp-version.installed` ]
else
  false
fi

}}}

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
rxtools: No definition of [swig-wx] for OS [fedora]
python_qt_binding: No definition of [python-qt-bindings] for OS [fedora]
image_proc: No definition of [opencv2] for OS [fedora]
image_view: No definition of [opencv2] for OS [fedora]
cv_bridge: No definition of [opencv2] for OS [fedora]
image_rotate: No definition of [opencv2] for OS [fedora]
opencv2: No definition of [opencv2] for OS [fedora]
image_geometry: No definition of [opencv2] for OS [fedora]
cv_markers: No definition of [opencv2] for OS [fedora]
stereo_image_proc: No definition of [opencv2] for OS [fedora]
opencv_tests: No definition of [opencv2] for OS [fedora]
depth_image_proc: No definition of [opencv2] for OS [fedora]
camera_calibration: No definition of [opencv2] for OS [fedora]
pcl_ros: No definition of [pcl] for OS [fedora]



I tried installing the assimp-devel package. But this did not solve the problem. I also installed the opencv-devel and the pcl-devel packages.

At this point, I decided to abandon it altogether, since I need to make a custom YAML config file! Since Fedora was a fresh install anyway, and since ROS only supported Ubuntu officially, I decided to give it a try on Ubuntu 12.04.




Fix to garbled display on booting Ubuntu 12.04 on Dell Vostro 470

Trying to install Ubuntu 12.04 on Dell Vostro 470 gave me all kinds of trouble! At first, the graphical installer did NOT work, so I had to try the text-based installer (aka alternate installer). It was successful, but then I had to manually install the ubuntu-desktop package since I had no desktop installed! Not to mention that I was only able to log in to the system using the Recovery mode from GRUB menu. The default mode was giving me a garbled screen similar to this one, and I could never log into my system.

To fix the garbled display problem, I did what was advised on this page, by changing the kernel command line from 'quiet splash' to 'nomodeset':

1)Edit: /etc/default/grub
Change:
#GRUB_CMDLINE_LINUX_DEFAULT="splash quiet"
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

2) Update GRUB by:
sudo update-grub

Now I can log in to my system from the default entry on GRUB!

Saturday, March 10, 2012

Root Cause Analysis for library.nu

Indeed, this is one of the best articles I have read in a very long time! The author takes a deep look at the shutdown of the library.nu website (formerly GigaPedia) and analyzes the real causes for the flourishing of such a 'pirate' society in our modern times. Long live Open Access to Knowledge!
http://www.aljazeera.com/indepth/opinion/2012/02/2012227143813304790.html

Saturday, January 7, 2012

Compiling and Installing WFDB version 10.5 on Debian Squeeze

Today I tried to compile and install the WFDB tools from the PhysioToolkit (PhysioNet) on my Debian Squeeze system. I am documenting this experience here!

  1. Download the source package from http://www.physionet.org/physiotools/wfdb.tar.gz
  2. Install the needed Debian packages first. I needed the following Debian packages
    • libcurl4-gnutls-dev (for NETFILES feature support in WFDB, which allows you to work on portions of the PhysioBank data records online, without having to download the entire record on your computer)
    • libexpat1-dev (for XML parsing, some files did not compile successfully while installig the WFDB library because this package was missing)
  3. Follow the steps under "if you download the sources (recommended):" in the official quick start guide. If you are on a 64-bit system (like me!) then do NOT install the WAVE application now
  4. If you installed the WFDB library in a non-standard path (as I did), then probably you will need to adjust the $PATH and $LD_LIBRARY_PATH environment variables. I added the following snippet to my ~/.bashrc, (this will be automatically executed every time you login into a shell -- run '. ~/.bashrc' ('DOT SPACE ~/.bashrc') to execute the profile script immediately!) -- I also needed to manually copy the 'man' folder from the "(path to WFDB installation)/share/man" to '/usr/share/man' for manual enteries to be installed into the system!
  5. # add WFDB binaries to PATH
    PATH="$PATH:(path to WFDB installation)/bin"

    # add WFDB libraries to LD_LIBRARY_PATH
    LD_LIBRARY_PATH="$LD_LIBRARY_PATH:(path to WFDB installation)/lib64"
  6. Now you are ready to install the optional WAVE application in case you are running a 64-bit system. For this, I followed the instructions in this post. (Note: package ia32-libs must be installed!) Finally, you will need to further modify your ~/.bashrc to append the following
# add WFDB-32 binaries to PATH
PATH="$PATH:(path to WFDB-32 installation)/bin"

# add WFDB-32 libraries to LD_LIBRARY_PATH
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:(path to WFDB-32 installation)/lib"
Update1: With WFDB version 10.5.13 on Ubuntu 12.04, I had to manually change two lines in each Makefile of the subdirectories (app,checkpkg,convert,examples,fortran,psd,xml) to compile with libcurl successfully
LC = `curl-config --cflags`
LL = `curl-config --libs`

Otherwise, I was getting errors such as
ann2rr.c: In function ‘help’:
ann2rr.c:370:6: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
/home/islam/wfdb/wfdb-10.5.13/build/lib64/libwfdb.so: undefined reference to `curl_global_cleanup'
/home/islam/wfdb/wfdb-10.5.13/build/lib64/libwfdb.so: undefined reference to `curl_easy_perform'
/home/islam/wfdb/wfdb-10.5.13/build/lib64/libwfdb.so: undefined reference to `curl_global_init'
/home/islam/wfdb/wfdb-10.5.13/build/lib64/libwfdb.so: undefined reference to `curl_easy_init'
/home/islam/wfdb/wfdb-10.5.13/build/lib64/libwfdb.so: undefined reference to `curl_version'
/home/islam/wfdb/wfdb-10.5.13/build/lib64/libwfdb.so: undefined reference to `curl_easy_setopt'
/home/islam/wfdb/wfdb-10.5.13/build/lib64/libwfdb.so: undefined reference to `curl_easy_cleanup'
collect2: ld returned 1 exit status
make[2]: *** [ann2rr] Error 1


Update2: Check the solution posted by Murari Srinivasan and George Moody (the author of WFDB) in the comments below. The error above is temporary and should be resolved soon out-of-the-box.