I’m trying to install gcc on Turris Omnia router from packages, and it looks like the package is missing from Turris OS repo?
opg update
Updates are downloaded successfully.
opg list | grep gcc
Empty output.
opg list | grep binutils
opg install binutils
Binutils are there and can be successfully installed if I rename existing file /bin/strings to /bin/busybox-strings to avoid conflict during the installation.
These is a gcc package in upstream OpenWRT, but if I download it manually and install from file, gcc fails to run because of linkage to the different libc (TurrisOS uses musl libc, and OpenWRT uses uClibc).
I suspect the reason why you want gcc is to compile stuff on Omnia. Normally you could do that in LXC container. And if you want to compile on Omnia and for Omnia then you should read about cross-compiling
I just wanted to compile small third party package (STUN client implemented in C). I’m not sure if this small goal is worth configuring the cross-compiler on the big x86_64 host machine. Anyway, gcc should be in repo, right?
There might be two issues, why you don’t have gcc available to install.
Which version of Turris OS do you have?
gcc is not present in Turris OS 3.x version. If you are using it, then I’d suggest you jump directly to version Turris OS 5.x by using experimental opt-in migration (wait until Turris OS 5.2 is released) or by using reflash method.
Before you want to install some packages, you need to run opkg update, and then you can install any package you want.