GCC Version on OpenWrt

Hi, I am currently trying to install Octoprint on a small MediaTek MT7688 platform. Some say it does not have the grunt required but I am giving it a go regardless. It has 16MB of flash and 1Mb DDR2. I have successfully created an image, expanded the filesystem with USB/SD card and it boots with the components I need. Octoprint is a python application and as far as I can tell plays nicely with Python 3. I can also install all of the Python components and prerequisites required. All goes well until I try to install Octoprint and build it using the Python install script which ultimately uses GCC. Some of the build process uses GCC command line arguments not available with the version of GCC provided by opkg. I read that I need GCC V8.4 or later to support the arguments. Can anyone tell me if it is possible to install a later version of GCC and how I go about it. Thanks...

You should create an OpenWrt package definition for Octoprint, and cross-compile it in your buildroot in your PC, so that you can then install the ready package.

Using GCC in the router itself sounds like too much for the router.

Default in the buildroot is currently 8.4.0, and also 9.3 and 10.2 are available.

https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=toolchain/gcc/Config.version;h=967ce9e4892b10f0c90b15187e8c420336b77266;hb=HEAD

1 Like

Thanks hnyman for your quick reply. I suspected cross compiling on my host machine might be the answer. I have not done what you suggest before. I will need to go and do some work with the docs. Hopefully, I can come back to you if I need further help. Thanks again.

You can look at examples from the existing python packages.
Most of them are in:
https://github.com/openwrt/packages/tree/master/lang/python

If you do not need any source changes, the packages can be very simple like e.g. this
https://github.com/openwrt/packages/blob/master/lang/python/python-markdown/Makefile

Hi again hnyman. I have done some work on this but come to the conclusion that I have no idea what I am doing. I am having issues concerning the examples and converting them to the context of my installation with all of the dependencies. Albeit GCC is a tall ask on this small platform, it seems resolving all of my other issues in learning to install my own package is a long way round. Are you sure there is not a way to install GCC 8.4 or later directly to my target?