Build the stack on RISC-V
There’s a little RISC-V board on my desk – little in size, but it has 8GB of RAM and 1TB of storage – which is going to do some KDE build work.
For some background, The Register has a bit on what the Linux Foundation is doing in this space.
It’s a modern-ish Linux kernel:
[ 0.000000] Linux version 5.15.0-starfive (sw_buildbot@mdcsw02)
(riscv64-unknown-linux-gnu-gcc (GCC) 10.2.0, GNU ld
(GNU Binutils) 2.35) #1 SMP Mon Dec 19 07:56:37 EST 2022
[ 0.000000] Machine model: StarFive VisionFive V2
with a variety of storage options (eMMC is not connected today):
mtdblock1 31:1 0 3M 0 disk
mtdblock2 31:2 0 1M 0 disk
mmcblk1 179:0 0 29.7G 0 disk
nvme0n1 259:0 0 931.5G 0 disk
There’s a capable X11 desktop included, I think, but for now I’m working only over serial or ssh to bootstrap development.
Something I’ve recently bemoaned is that kdesrc-build somewhat takes away
the old-fashioned “build it by hand and good luck” approach to building KDE.
We have lots of carefully crafted dependency information in CMakeLists.txt
,
we used to have extensive documentation, and still have traditional packaging information
in o-so-many-distro’s, but .. well, I’m going for an artisanal feel I guess.
- Install
g++
,cmake
,ninja-build
andgit
packages, - Clone the KDE Qt Patch collection base repository,
- Run
configure
with a-prefix
so everything gets built on that nvme drive.
In a total throwback to early years of Solaris packaging of KDE4, this means I
get stuck in a loop of “what dependency am I missing now”.
While trying the default branch (Qt6),
I needed to add libmd4c-html0-dev
(Debian, eh, so there’s separate -dev
packages for everything).
After that I switched to kde/5.15
branch, the KDE Qt Patch collection that
I would want for a KDE Plasma stack.
I’m going to let it grind through building Qt5 (base) overnight to see how we
do, build-wise. Creating qmake
takes long enough (compared to the last Qt5 (base) build I
did, which was on a 12th-generation i9 with 24 threads and 64GB RAM, that I think “overnight”
might not be long enough.
Pictures of the assembled board in action to follow.