(macOS) GNU Radio Signal Source 블록에서 waveform 인식 안 되는 문제 및 libvorbis.0.4.9.dylib 연결 문제 -> 최신 gnuradio 재설치로 모두 해결..
GNU Radio Wiki에 있는 Tutorial을 하나씩 해 보는 중이다.
열심히 설치는 했는데...
또 첫 번째 tutorial부터 막히네 ㅜ
"3. Your First Flowgraph"를 따라하는데, sin/cos/square 등의 파형을 생성하는 블록이 파형 자체를 불러오지 못 하고 있다. (블록 이름에 빨간색으로 뜨면 뭔가 에러가 있다는 듯인 것 같다.)
Signal Source 블록 속성 (더블 클릭) 을 살펴 보면 다음과 같은 에러 메시지가 나온다.
Param - Waveform(waveform):
Value "analog.GR_COS_WAVE" cannot be evaluated:
name 'analog' is not defined
뭔가 "analog" 라이브러리를 인식하지 못 하는 것 같아서 import 블록을 통해 analog를 import해 보려고 했지만 통하지 않았다.
그래서 ChatGPT에 물어보니 다음과 같은 답변을 받음.
analog.GR_SIN_WAVE 같은 것 대신에 정수 0, 1, 2, ... 등을 쓰라는 거였다.
즉,
Constant: analog.GR_CONST_WAVE
Sine: analog.GR_SIN_WAVE
Cosine: analog.GR_COS_WAVE
Square: analog.GR_SQR_WAVE
Triangle: analog.GR_TRI_WAVE
Sawtooth: analog.GR_SAW_WAVE
얘네는 Python 코딩할 때는 인식이 되는데 gnuradio-companion (GRC)에서는 인식이 안 되는 모양이다.
ChatGPT 말대로 정수 1로 바꿨더니
진짜 됐고, 상단에 Flowgraph를 실행하는 재생 버튼도 활성화 됐다!
기쁜 마음에 눌러보니
아 이번에는 libvorbis.0.4.9.dylib가 없다는 에러가 남 ㅜ
일단 현재 conda 가상 환경에 libvorbis가 설치되어 있는지 확인하기 위해 GRC를 닫고 터미널에서 설치된 package들을 살펴 보니,
분명 libvorbis가 설치되어 있긴 했지만 버전이 0.4.9가 아닌 다른 (상위) 버전이 설치되어 있는 것을 확인했다.
정확히 0.4.9를 설치해야 하는 것인가 싶은데..
일단 또 다시 ChatGPT에 도움을 요청했다.
여러가지 quick workaround 등을 제안했는데, dylib를 강제로 연결시키고 하는 내가 전문이 아닌.. 솔루션이어서 시스템 설정에 자신이 없는 나에게는 적합하지 않았다.
더 나은 long-term solution으로 제안한 것은 역시
걍 gnuradio를 위한 가상 환경 설치할 때부터 gnuradio만 깔끔하게 설치하라는 거지... ㅜ
아니 이게 됐으면 이전 포스트에서 그 똥고생을 하지 않았겠지!!
.
.
혹시 몰라서 anaconda.org의 conda-forge 웹사이트를 다시 들어가봤다.
엇!?
9일 전에 또 업데이트가 됐다?
사실 지난번에 (2025.03.30.) 도 설치 똥고생한 날 기준 11일 전 마지막 업로드된 버전이었긴 함..
그래도 다시 한번 시도해 본다.
(0) 가상환경 삭제
> conda remove -n gnuradio_python312 --all
(1) 가상환경 생성과 동시에 gnuradio 설치
> conda create -n gnuradio310_python312 -c conda-forge gnuradio
확인해 보니 Python은 여전히 3.12 기반이었고, NumPy는 기존 2.2.4에서 2.2.6으로 바뀌었다! (두근 두근) 그리고 지난번은 어땠는지 기억이 안 나는데 이번에 문제가 되고 있는 libvorbis의 버전은 0.4.9가 아닌 최신 1.3.7로 설치되는 것을 확인했다. (두근 두근 두근)
(2) gnuradio-companion 실행
> gnuradio-companion
아니 잠깐..
이 새로 설치한 gnuradio는 (버전은 똑같이 3.10.12임) GRC 실행도 잘 되고, waveform들도 그냥 default로 다 인식되고 (정수 0, 1, 2 로 바꿀 필요 없이), 무엇보다
너무너무 잘 되는데..?
아 그냥 2달 전에 gnuradio 설치했을 때 그냥 잠깐 문제 많은 버전이 올라와 있었나 보다.
단순히 재수가 없었던 것이라고 생각해야겠다 ㅎㅎ
그리고 ChatGPT는 정말 대단하다!!
Comments
Post a Comment