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.

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.

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!
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
Sama2 belajar mas Julian. Di web ini GNU Radio cuma ranah hobby saja hehe. Btw, saya support ide penggunaan GNU Radio untuk tesis. Jarang sekali ada publikasi soal ini.
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