GNU Radio 3.10.4 – Slackware 15

Catatan GNU Radio 3.10.4 di Slackware64 15. Sebagian besar komponen dikompilasi dari source code. Hampir semua paket dependency tersedia di Slackbuild. Sebagian lain menggunakan “pip”. Sistem yang digunakan : Slackware64 15 (pada Thinkpad W520) dengan Kernel 5.15.63 & Python3.9.14.

Semua fitur GNU Radio diaktifkan! Yach semua fitur! Tentu Anda dapat mematikan fitur yang tidak diperlukan jika ingin. Karena GNU Radio ditujukan untuk simulasi rancang bangun RF, maka GNU Radio Companion wajib ON lol. Meski hanya bisa gigit jari liat chip AD9361, atau BladeRF yang mahal, tetap fitur diaktifkan. Siapa tahu dapat hibah dari tetangga lol.

Asal contoh saja hehe. Pada versi 3.10 ini, gr-soapy sudah include di dalam. Jadi cukup instal soapysdr saja.

Untuk dependency awal, bisa dimulai dari cheetah3, pybind11, log4cpp, numpy3, scipy3, lxml, qwt, volk, uhd, cppunit, gsl, jack, portaudio. (Semua komponen ini untuk Gnuradio 3.9.x juga). Gunakan sbopkg jika ingin. Karena lewat source code, Anda dapat memilih versi terbaru jika diperlukan. Dalam kasus ini digunakan volk versi 2.5.2. Tuntaskan semua paket depedency yang diperlukan.

Sedang tambahan untuk GNU Radio 3.10 :

Spdlog (fmt), xsimd (gtest), libiio, libad9361, cppzmq (zeromq, catch), python3-pyzmq, blocks (python3-pyparted, python3-augeas, maintboot), pandocfilter, passlib, soapySDR (jika ingin: luajit(lua)).

Lewat pip : analog, digital, dtv2, pygccxml, pyqtgraph. Gunakan “virtual environment” saat memakai pip. Jika ingin barbar: #pip instal xyz hehe.

Gunakan Libiio versi terbaru libiio-0.24. Versi 0.10 akan menyebabkan error saat kompilasi. Untuk Libad9361 ambil langsung dari sourcenya.

Sebelum memulai GNU Radio, jalankan profiling volk terlebih dahulu! $volk_profile

Instalasi GNU Radio 3.10.4

$cd folderAnda
$git clone https://github.com/gnuradio/gnuradio.git
$cd gnuradio
$git checkout maint-3.10
$mkdir build
$cd build
$cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
$make -j8
$make test
$su
#make install
#ldconfig

Instruksi git checkout maint-3.10 akan mengambil cabang 3.10 tertinggi. Pada saat ini 3.10.4.

Bagian cmake ini penting untuk memastikan tahap awal tidak bermasalah. Apakah ada paket yang belum ditemukan? Apakah versi paket memenuhi syarat? Saya ambil penggalan :

-- Configuring python-support support...
--   Dependency PYTHONLIBS_FOUND = TRUE
--   Dependency PACKAGING_FOUND = TRUE
--   Dependency pybind11_FOUND = 1
--   Dependency NUMPY_FOUND = TRUE
--   Enabling python-support support.
--   Override with -DENABLE_PYTHON=ON/OFF
-- 

Semisal bagian Dependency NUMPY_FOUND = TRUE. Jika pake Numpy kelupaan tidak terinstal, akan dinyatakan FALSE :). Luangkan waktu sejenak untuk melihat laporan ini. Pada bagian bawah akan tercantum mana komponen yang aktif atau non aktif.


-- ######################################################
-- # Gnuradio enabled components                         
-- ######################################################
--   * testing-support
--   * python-support
--   * post-install
--   * doxygen
--   * man-pages
--   * gnuradio-runtime
--   * common-precompiled-headers
--   * gr-ctrlport
--   * gnuradio-companion
--   * JSON/YAML config blocks
--   * gr-blocks
--   * gr-fec
--   * gr-fft
--   * gr-filter
--   * gr-analog
--   * gr-digital
--   * gr-dtv
--   * gr-audio
--   * * alsa
--   * * oss
--   * * jack
--   * * portaudio
--   * gr-channels
--   * gr-pdu
--   * gr-iio
--   * * libad9361
--   * gr-qtgui
--   * gr-trellis
--   * gr-uhd
--   * gr-uhd UHD 4.0 RFNoC
--   * gr-utils
--   * gr_modtool
--   * gr_blocktool
--   * gr-video-sdl
--   * gr-vocoder
--   * * codec2
--   * * freedv
--   * * gsm
--   * gr-wavelet
--   * gr-zeromq
--   * gr-network
--   * gr-soapy

Lebih baik benahi dulu jika ada masalah sebelum lanjut ke “make test”. Jika sudah oke, lanjutkan ke $make test. Mesti lulus 100%. Jika gagal lihat di log file. Cek penyebab kegagalan test tersebut. Benahi dulu dan lakukan test lagi. Dalam beberapa kasus, perubahan yang dilakukan perlu dikonfirmasi dengan melakukan cmake kembali.

bash-5.1$ make test
Running tests...
Test project /home/mic/Downloads/Sources/gnuradio/build
        Start   1: runtime_qa_buffer.cc
  1/262 Test   #1: runtime_qa_buffer.cc .........................   Passed    1.93 sec
        Start   2: runtime_qa_io_signature.cc
  2/262 Test   #2: runtime_qa_io_signature.cc ...................   Passed    0.02 sec
        Start   3: runtime_qa_logger.cc
  3/262 Test   #3: runtime_qa_logger.cc .........................   Passed    0.02 sec
        Start   4: runtime_qa_host_buffer.cc
  4/262 Test   #4: runtime_qa_host_buffer.cc ....................   Passed    0.01 sec
        Start   5: runtime_qa_vmcircbuf.cc
  5/262 Test   #5: runtime_qa_vmcircbuf.cc ......................   Passed    0.10 sec
        Start   6: math_qa_fxpt.cc
  6/262 Test   #6: math_qa_fxpt.cc ..............................   Passed    0.02 sec
        Start   7: math_qa_fxpt_nco.cc
  7/262 Test   #7: math_qa_fxpt_nco.cc ..........................   Passed    0.15 sec
        Start   8: math_qa_fxpt_vco.cc
  8/262 Test   #8: math_qa_fxpt_vco.cc ..........................   Passed    0.14 sec
        Start   9: math_qa_math.cc
  9/262 Test   #9: math_qa_math.cc ..............................   Passed    0.01 sec
 ------saya potong sebagian
257/262 Test #257: qa_zeromq_sub_msg_source .....................   Passed    0.76 sec
        Start 258: qa_socket_pdu
258/262 Test #258: qa_socket_pdu ................................   Passed    3.26 sec
        Start 259: qa_tcp_sink
259/262 Test #259: qa_tcp_sink ..................................   Passed    0.54 sec
        Start 260: qa_udp_sink
260/262 Test #260: qa_udp_sink ..................................   Passed    0.54 sec
        Start 261: qa_udp_source
261/262 Test #261: qa_udp_source ................................   Passed    0.54 sec
        Start 262: qa_soapy_types
262/262 Test #262: qa_soapy_types ...............................   Passed    0.23 sec
100% tests passed, 0 tests failed out of 262
Total Test time (real) = 153.55 sec
bash-5.1$ 

Setelah lulus test, lakukan kompilasi “$make -j8” Angka 8 ini menunjukkan jumlah core /thread CPU yang ikut kerja bakti. Jika pakai dual core ya isi 2 saja : make -j2. Jika ingin kerja sendirian, ya cukup “make -j” saja.

Proses kompilasi mesti berjalan lancar. Jika berhenti atau macet, benahi komplain yang diberikan. Ingat kawan! Belum tentu lulus test 100% akan berhasil saat kompilasi 100% juga.

Misal penyebab error ini adalah pandocfilter yang belum terinstall dan libiio yang butuh versi lebih tinggi. Bagaimana mungkin lulus test 100% tapi gagal saat kompilasi? Yach begitulah kenyataannya hehe.

Untuk komputer tua, perhatikan suhu CPU. Tambahkan kipas angin atau es batu (bercanda) agar tidak kepanasan.

Setelah proses kompilasi mulus 100% tanpa jeda, lanjut ke proses instalasi. Lakukan “make install”. Kemudian #ldconfig untuk memastikan semua “tersambung” dan terakhir aktifkan GNU Radio!

OK, Semoga berguna!

3 tanggapan untuk “GNU Radio 3.10.4 – Slackware 15

  1. Apakah saya boleh yaa belajar tentang gnu radio kepada mas michael?karenaa saya sedang tesis tentang gnu radio… kalo boleh kebetulan saya ada ig di @julian_naufal

  2. Apakah saya boleh yaa belajar tentang gnu radio kepada mas michael?karenaa saya sedang tesis tentang gnu radio… kalo boleh kebetulan saya ada ig di @julian_naufal

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s