Finally got around to trying to build the Pi package manually. It looks like the system got through most of the script. But it ended up with the following:
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
./krakensdr_aarch64_install_doa.sh: line 87: git: command not found
cp: cannot stat ‘krakensdr_doa/util/kraken_doa_start.sh’: No such file or directory
cp: cannot stat ‘krakensdr_doa/util/kraken_doa_stop.sh’: No such file or directory
howdy!@raspberrypi:~ $ uname -a
Linux raspberrypi 6.1.0-rpi6-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.58-1+rpt2 (2023-10-27) aarch64 GNU/Linux
It appears that the script failed on some simple steps quite early on.
I would try run the script again from scratch, but if it happens again, I think the only way to troubleshoot it is to run through each command in the script line by line.
Got some time while on vaca to mess with this. Rebuilt the Pi from the Pi imager - used the 64 bit non-desktop Pi OS image that was built in early December 2023.
piadmin@raspberrypi:~ $ sudo apt update
Hit:1 Index of /debian bookworm InRelease
Hit:2 http://deb.debian.org/debian-security bookworm-security InRelease
Hit:3 Index of /debian bookworm InRelease
Hit:4 Index of /debian bookworm-updates InRelease
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
6 packages can be upgraded. Run ‘apt list --upgradable’ to see them.
piadmin@raspberrypi:~ $ sudo apt -y install build-essential git cmake libusb-1.0-0-dev lsof libzmq3-dev clang php -cli nodejs gpsd libfftw3-3 libfftw3-dev
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
E: Unable to locate package libfftw3-3
Please download the latest script, we updated it a couple of weeks ago as the “-3” package appears to have been deprecated in favor of the “-bin” package.
Done. Grabbed the new script. I’m using the Pi OS 64 bit version. Should I be using something else?
There were a lot of warnings as follows:
/home/piadmin/kfr/include/kfr/dft/impl/dft-impl.hpp:369:13: warning: loop not unrolled: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering [-Wpass-failed=transform-warning]
In file included from /home/piadmin/kfr/include/kfr/dft/cache.hpp:28:
/home/piadmin/kfr/include/kfr/dft/fft.hpp:148:21: error: no member named ‘avx512’ in ‘kfr::cpu_t’
case cpu_t::avx512:
~~~~~~~^
/home/piadmin/kfr/include/kfr/dft/fft.hpp:150:21: error: no member named ‘avx2’ in ‘kfr::cpu_t’
case cpu_t::avx2:
~~~~~~~^
/home/piadmin/kfr/include/kfr/dft/fft.hpp:152:21: error: no member named ‘avx’ in ‘kfr::cpu_t’
case cpu_t::avx:
~~~~~~~^
/home/piadmin/kfr/include/kfr/dft/fft.hpp:154:21: error: no member named ‘sse42’ in ‘kfr::cpu_t’
case cpu_t::sse42:
~~~~~^
/home/piadmin/kfr/include/kfr/dft/fft.hpp:155:21: error: no member named ‘sse41’ in ‘kfr::cpu_t’
case cpu_t::sse41:
~^
/home/piadmin/kfr/include/kfr/dft/fft.hpp:157:21: error: no member named ‘ssse3’ in ‘kfr::cpu_t’
case cpu_t::ssse3:
~^
/home/piadmin/kfr/include/kfr/dft/fft.hpp:159:21: error: no member named ‘sse3’ in ‘kfr::cpu_t’
case cpu_t::sse3:
~^
/home/piadmin/kfr/include/kfr/dft/fft.hpp:322:21: error: no member named ‘avx512’ in ‘kfr::cpu_t’
case cpu_t::avx512:
~^
/home/piadmin/kfr/include/kfr/dft/fft.hpp:324:21: error: no member named ‘avx2’ in ‘kfr::cpu_t’
case cpu_t::avx2:
~^
/home/piadmin/kfr/include/kfr/dft/fft.hpp:326:21: error: no member named ‘avx’ in ‘kfr::cpu_t’
case cpu_t::avx:
~^
/home/piadmin/kfr/include/kfr/dft/fft.hpp:328:21: error: no member named ‘sse42’ in ‘kfr::cpu_t’
case cpu_t::sse42:
~^
/home/piadmin/kfr/include/kfr/dft/fft.hpp:329:21: error: no member named ‘sse41’ in ‘kfr::cpu_t’
case cpu_t::sse41:
~^
/home/piadmin/kfr/include/kfr/dft/fft.hpp:331:21: error: no member named ‘ssse3’ in ‘kfr::cpu_t’
case cpu_t::ssse3:
~^
/home/piadmin/kfr/include/kfr/dft/fft.hpp:333:21: error: no member named ‘sse3’ in ‘kfr::cpu_t’
case cpu_t::sse3:
~^
In file included from /home/piadmin/kfr/capi/capi.cpp:29:
In file included from /home/piadmin/kfr/include/kfr/dft.hpp:27:
/home/piadmin/kfr/include/kfr/dft/convolution.hpp:159:5: error: no member named ‘avx512’ in ‘kfr::cpu_t’
CMT_MULTI_PROTO_GATE(make_convolve_filter(taps, block_size))
^
PREFIX=/home/piadmin/miniforge3
Unpacking payload …
./Miniforge3-Linux-x86_64.sh: 312: /home/piadmin/miniforge3/conda.exe: Exec format error
./krakensdr_x86_install_doa.sh: line 47: conda: command not found
./krakensdr_x86_install_doa.sh: line 48: conda: command not found
./krakensdr_x86_install_doa.sh: line 49: conda: command not found
./krakensdr_x86_install_doa.sh: line 51: conda: command not found
./krakensdr_x86_install_doa.sh: line 52: conda: command not found
./krakensdr_x86_install_doa.sh: line 54: conda: command not found
./krakensdr_x86_install_doa.sh: line 55: conda: command not found
./krakensdr_x86_install_doa.sh: line 56: conda: command not found
./krakensdr_x86_install_doa.sh: line 57: conda: command not found
Cloning into ‘heimdall_daq_fw’…
remote: Enumerating objects: 1372, done.
remote: Counting objects: 100% (617/617), done.
remote: Compressing objects: 100% (182/182), done.
remote: Total 1372 (delta 450), reused 515 (delta 394), pack-reused 755
Receiving objects: 100% (1372/1372), 1.97 MiB | 9.33 MiB/s, done.
Resolving deltas: 100% (878/878), done.
gcc -Wall -std=gnu99 -march=native -O2 -I. -c -o ini.o ini.c
gcc -Wall -std=gnu99 -march=native -O2 -I. -c -o log.o log.c
gcc -Wall -std=gnu99 -march=native -O2 -I. -c -o iq_header.o iq_header.c
gcc -Wall -std=gnu99 -march=native -O2 -I. -c -o sh_mem_util.o sh_mem_util.c
gcc -Wall -std=gnu99 -march=native -O2 -I. log.o ini.o iq_header.o -o rtl_daq.out rtl_daq.c -lpthread -lzmq -L. -lr tlsdr -lusb-1.0
gcc -Wall -std=gnu99 -march=native -O2 -I. sh_mem_util.o log.o ini.o iq_header.o -o rebuffer.out rebuffer.c -lrt -lm
gcc -Wall -std=gnu99 -march=native -O2 -I. sh_mem_util.o log.o ini.o iq_header.o -o iq_server.out iq_server.c -lrt
gcc -Wall -std=gnu99 -march=native -O2 -I. -DARM_NEON -c fir_decimate.c -o fir_decimate.o
gcc -Wall -std=gnu99 -march=native -O2 -I. fir_decimate.o sh_mem_util.o log.o ini.o iq_header.o -o decimate.out -lrt -L. -lNE10 -lm
/usr/bin/ld: cannot find -lNE10: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:42: decimate_arm_neon] Error 1
./krakensdr_x86_install_doa.sh: line 72: conda: command not found
./krakensdr_x86_install_doa.sh: line 73: conda: command not found
./krakensdr_x86_install_doa.sh: line 74: conda: command not found
./krakensdr_x86_install_doa.sh: line 75: conda: command not found
./krakensdr_x86_install_doa.sh: line 76: conda: command not found
./krakensdr_x86_install_doa.sh: line 77: conda: command not found
./krakensdr_x86_install_doa.sh: line 79: pip3: command not found
./krakensdr_x86_install_doa.sh: line 80: pip3: command not found
./krakensdr_x86_install_doa.sh: line 81: pip3: command not found
./krakensdr_x86_install_doa.sh: line 82: pip3: command not found
./krakensdr_x86_install_doa.sh: line 83: pip3: command not found
./krakensdr_x86_install_doa.sh: line 84: pip3: command not found
./krakensdr_x86_install_doa.sh: line 86: conda: command not found
./krakensdr_x86_install_doa.sh: line 87: conda: command not found
./krakensdr_x86_install_doa.sh: line 89: conda: command not found
./krakensdr_x86_install_doa.sh: line 90: conda: command not found
./krakensdr_x86_install_doa.sh: line 91: conda: command not found
Cloning into ‘krakensdr_doa’…
remote: Enumerating objects: 3319, done.
remote: Counting objects: 100% (728/728), done.
remote: Compressing objects: 100% (127/127), done.
remote: Total 3319 (delta 640), reused 637 (delta 601), pack-reused 2591
Receiving objects: 100% (3319/3319), 1.75 MiB | 7.33 MiB/s, done.
Resolving deltas: 100% (1565/1565), done.
Looks like you might have downloaded the x86 script by mistake? It’s trying to install KFR which is only for x86 systems. If you are installing on a Pi make sure that you are using the aarch64 script.
I saw this happen a number of times and it slowed installation down quite a bit:
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
The script cannot set up autoboot. Setting that up can depend on the particular flavor of Linux being used and most people installing to their main laptop/system probably don’t want it autobooting at startup.
piadmin@mbl-pi-krakensdr-01:~/krakensdr_doa $ sudo ./kraken_doa_start.sh
./kraken_doa_start.sh: line 4: conda: command not found
./kraken_doa_start.sh: line 5: conda: command not found
Shut down DAQ chain …
Config file check bypassed [ WARNING ]
kernel.sched_rt_runtime_us = -1
Traceback (most recent call last):
File “/home/piadmin/krakensdr_doa/heimdall_daq_fw/Firmware/fir_filter_designer .py”, line 16, in
from scipy import signal
ModuleNotFoundError: No module named ‘scipy’
DAQ chain not started!
Remote Control is DISABLED
To enable Remote Control please install miniserve and jq.
Then change ‘en_remote_control’ setting in _share/settings.json file to ‘true’.
Finally, apply settings by restarting the software.
Starting KrakenSDR Direction Finder
Web Interface Running at 0.0.0.0:8080
Data Out Server Running at 0.0.0.0:8081
If you did then something’s still gone wrong with your install and it’s failed early on, and was unable to install conda.
At this stage you can only try troubleshoot by running the commands in the script line by line, until you see what line is causing the error on your system.
Finally had a day to sit down and mess with this, and I think I figured out the problem.
TL;DR - I do not use “krakenrf” as my home directory. I use “piadmin”.
I started with a fresh, fresh, fresh install of PiOS this morning. And during the install script, I watched everything very carefully for errors. Aside from a few notification warnings, everything appeared to install correctly.
Digging into the issue a little, it looks like the system could not find the conda binary. And I think, perhaps the eval code in the start.sh file isn’t working correctly to find it.
I went and found the binary and tried running conda activate kraken and that seemed to work.
Rebooted and ran the start script and in the end, I ended up with:
Have a coffee watch radar
Remote Control is DISABLED
To enable Remote Control please install miniserve and jq.
Then change ‘en_remote_control’ setting in _share/settings.json file to ‘true’.
Finally, apply settings by restarting the software.
Starting KrakenSDR Direction Finder
Web Interface Running at 0.0.0.0:8080
Data Out Server Running at 0.0.0.0:8081
And success hitting 0.0.0.:8080 in a web browser!
What is the Remote Control DISABLED blurb about? Is that something I need to do?
The Pi4 image uses systemd as well to autoboot by running the kraken_doa_start.sh script. One important thing to note is that for autoboot you have to edit kraken_doa_start.sh and uncomment the “source /home/krakenrf/miniforge3/etc/profile.d/conda.sh” line, and comment out "eval “$(conda shell.bash hook)”.