GNURadio: Ubuntu Install

From OnnoWiki
Revision as of 05:59, 9 December 2010 by Onnowpurbo (talk | contribs)
Jump to navigation Jump to search

Sumber: http://gnuradio.org/redmine/wiki/gnuradio/UbuntuInstall

Development Tool yang dibutuhkan:

  • g++
  • subversion
  • make
  • autoconf, automake, libtool
  • sdcc
  • guile
  • ccache

Library yang dibutuhkan untuk runtime dan proses compile

  • python-dev
  • FFTW 3.X (fftw3, fftw3-dev)
  • cppunit (libcppunit and libcppunit-dev)
  • Boost 1.35 (or later)
  • libusb and libusb-dev
  • wxWidgets (wx-common) and wxPython (python-wxgtk2.8)
  • python-numpy (via python-numpy-ext) (for SVN on or after 2007-May-28)
  • ALSA (alsa-base, libasound2 and libasound2-dev)
  • Qt (libqt3-mt-dev for versions earlier than 8.04; version 4 works for 8.04 and later)
  • SDL (libsdl-dev)
  • GSL GNU Scientific Library (libgsl0-dev >= 1.10 required for SVN trunk, not in binary repositories for 7.10 and earlier)

Instal Library

Update

sudo apt-get update

Instal untuk Maverick (10.10)

sudo apt-get -y install libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake libtool python-dev libfftw3-dev \
libcppunit-dev libboost-all-dev libusb-dev fort77 sdcc sdcc-libraries \
libsdl1.2-dev python-wxgtk2.8 subversion git-core guile-1.8-dev \
libqt4-dev python-numpy ccache python-opengl libgsl0-dev \
python-cheetah python-lxml doxygen qt4-dev-tools \
libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools \
libpcre3 libpcre3-dbg libpcre3-dev libpcrecpp0

Instalasi WxWidget

Jika ingin menginstall WxWidget yang lebih baru. Tapi ini tidak fatal, kita bisa skip jika tidak terlalu membutuhkan. Jika ingin melakukan juga dapat menjalankan langkah berikut.

Edit /etc/apt/sources.list

   # wxWidgets/wxPython repository at apt.wxwidgets.org
   deb http://apt.wxwidgets.org/ DIST-wx main
   deb-src http://apt.wxwidgets.org/ DIST-wx main  

Contoh untuk gutsy

   # wxWidgets/wxPython repository at apt.wxwidgets.org
   deb http://apt.wxwidgets.org/ gutsy-wx main
   deb-src http://apt.wxwidgets.org/ gutsy-wx main  

Jalankan

   sudo apt-get update  

Install

   sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n
   sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n libwxgtk2.8-dev libgtk2.0-dev

Instal SWIG

Install secara manual SWIG

Download dari http://sourceforge.net/projects/swig/files/swig/
cp swig-2.0.1.tar.gz /usr/local/src/
cd /usr/local/src/
tar zxvf swig-2.0.1.tar.gz 
cd /usr/local/src/swig-2.0.1/
./configure
make
make install

Instal QWT

Install secara manul QWT

Download dari http://sourceforge.net/projects/qwt/files/
cp qwt-5.2.1.tar.bz2 /usr/local/src/
cd /usr/local/src/
tar jxvf qwt-5.2.1.tar.bz2 
cd /usr/local/src/qwt-5.2.1/
qmake
make
make install

Install GNURadio

Install GNURadio

cp gnuradio-3.3.0.tar.gz /usr/local/src/
cd /usr/local/src/
tar zxvf gnuradio-3.3.0.tar.gz 
cd /usr/local/src/gnuradio-3.3.0/
./configure
make
make check
make install

Handling USRP

Ubuntu menggunakan udev untuk menanganihotplug devices, dan secara default tidak memberikan akses non-root ke USRP. Script berikut akan memberikan akses bagi user untuk menghandel USRP via USB baik secara live atau hot-plug.

sudo addgroup usrp
sudo usermod -G usrp -a <YOUR_USERNAME>
echo 'ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", GROUP:="usrp", MODE:="0660"' > tmpfile
sudo chown root.root tmpfile
sudo mv tmpfile /etc/udev/rules.d/10-usrp.rules

Pada titik ini, Ubuntu telah di konfigurasi untuk tahu apa yang harus di kerjakan jika medeteksi USRP di USB tapi "udev" perlu me-reload rules untuk memasukan rules yang baru kita buat. Langkah berikut dapat dilakukan sehingga kita tidak perlu me-reboot komputer.

sudo udevadm control --reload-rules

atau

sudo /etc/init.d/udev stop
sudo /etc/init.d/udev start

atau

sudo killall -HUP udevd

Kita dapat mencek jika USRP telah di kenali dengan mengamati /dev/bus/usb setelah USRP di pasang menggunakan perintah

ls -lR /dev/bus/usb | grep usrp

Harusnya akan keluar seperti

crw-rw---- 1 root usrp 189, 514 Mar 24 09:46 003

Setiap USRP yang terpasang akan terdaftar pada group 'usrp' dan mode 'crw-rw----'.


Verifikasi USRP

Once you've verified that the USRP is available to Ubuntu, now it is time to verify that GNU Radio works with the USRP (if installed; if not, skip this). While "usrp_benchmark_usb" might not return a full 32 MB/s of throughput, the script should at least run properly; if not, either GNU Radio didn't make correctly or the USRP isn't accessible. From the "gnuradio" directory, verify that all of the following work:

  • Python interface to the USRP; provides a rough estimate of the maximum throughput (quantized to a power of 2) between the host computer and the USRP.
cd gnuradio-examples/python/usrp
./usrp_benchmark_usb.py
  • C++ interface to the USRP; provides a good estimate of the maximum throughput (non-quantized) between the host computer and the USRP.
cd usrp/host/apps
./test_usrp_standard_tx
./test_usrp_standard_rx

Update the rest of the system, after which you might need or want to reboot:

sudo apt-get -y upgrade

Update the Linux distro, after which a reboot is required:

sudo apt-get -y dist-upgrade

Broken libtool on Debian and Ubuntu¶

Because Debian and Ubuntu apply a poorly implemented "enhancement" to the upstream version of libtool, they break the ability to test code and libraries prior to installing them. We think that testing before installation is a good idea. To work around their damage, be sure to include $PREFIX/lib (and $PREFIX/lib64 on 64-bit machines) in /etc/ld.so.conf.

If you don't include $PREFIX/lib in /etc/ld.so.conf, you will see errors during the linking phase of the build. There are several places it shows up. The first one is often during the build of mblocks. It's not an mblock problem. It's a Debian/Ubuntu problem.

Do this to work around this "feature": 1) Make a copy from the current ld.so.conf file and save it in a temp folder:

cp /etc/ld.so.conf /tmp/ld.so.conf

2) Add /usr/local/lib path to it :

echo /usr/local/lib >> /tmp/ld.so.conf

3) If you installed Boost (version 1_37_0 for example) manually, then add its library path to the file:

echo /opt/boost_1_37_0/lib >> /tmp/ld.so.conf

4) Delete the original ld.so.conf file and put the modified file instead:

sudo mv /tmp/ld.so.conf /etc/ld.so.conf

5) Do ldconfig:

sudo ldconfig


Referensi


Pranala Menarik