SDK chaos calmer 15.05.1:Error during 'make menuconfig'

Hello everyone,

I have router XDX RN502J and I wanted to remove/add some packages with "ImageBuilder-15.05.1" unfortunately there is no profile for this router, even it is available as precompiled image at https://archive.openwrt.org/chaos_calmer/15.05.1/ramips/rt305x/
Interesting is that there are some files which contain string "xdxrn502j". So I decided to try to compile new image builder from SDK in hope there is option for this router model but I have been stuck almost at the beginning of recompile process. I am using VirtualBox with installed "Linux DebianVM 5.10.0-27-amd64 #1 SMP Debian 5.10.205-2 (2023-12-31) x86_64 GNU/Linux" and all prerequisites as described in "Build system setup". Command make menuconfig ends with error:

zconf.tab.o: relocation R_X86_64_32S against symbol `symbol_yes'

and I have no idea how to fix it by myself.
Could someone advise, please?

All terminal logs are here: https://drive.google.com/drive/folders/1JEj_IpHRfive6CeC7Ag1eGSKwbPizfcA?usp=sharing

rasto@DebianVM:~/Downloads/OpenWrt-SDK-15.05.1-ramips-rt305x_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64$ make menuconfig
make -s -C scripts/config all CC=cc: build failed. Please re-run make with -j1 V=s to see what's going on
make: *** [/home/rasto/Downloads/OpenWrt-SDK-15.05.1-ramips-rt305x_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/include/toplevel.mk:89: scripts/config/mconf] Error 1
rasto@DebianVM:~/Downloads/OpenWrt-SDK-15.05.1-ramips-rt305x_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64$ make -j`nproc` V=scv menuconfig
make[1]: Entering directory '/home/rasto/Downloads/OpenWrt-SDK-15.05.1-ramips-rt305x_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/scripts/config'
/usr/bin/ld: zconf.tab.o: relocation R_X86_64_32S against symbol `symbol_yes' can not be used when making a PIE object; recompile with -fPIE
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:32: mconf] Error 1
make[1]: Leaving directory '/home/rasto/Downloads/OpenWrt-SDK-15.05.1-ramips-rt305x_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/scripts/config'
make: *** [/home/rasto/Downloads/OpenWrt-SDK-15.05.1-ramips-rt305x_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/include/toplevel.mk:89: scripts/config/mconf] Error 2

15.05 is entirely unsupported and completely obsolete now. It has been EOL for about 7 years or so, and there are many known security vulnerabilities among other reasons not to run such an old versoin.

Your router appears to have 4MB flash + 32MB RAM... that isn't enough to run any modern version of OpenWrt. It's likely time for new hardware.

1 Like

Hello,

I have found a solution for error

zconf.tab.o: relocation R_X86_64_32S against symbol `symbol_yes'

It is needed to execute this command:
make -C scripts/config/ clean

Unfortunately after make menuconfig another error has occurred

feeds/base/package/utils/busybox/config/Config.in:818: glob failed: No files found "package/utils/busybox/config/libbb/Config.in"

And to solve this it is needed to create symbolic link to folder package/utils with this command:

ln -s ../feeds/base/package/utils package/utils

This time execution of make menuconfig is succesfull and Linux Kernel Configuration menu is shown

Only as a comment, time ago one Linux statement Vs Microsoft was to do more with less, the old Palm Pilot assumed that too. Nowadays every new version of both Openwrt and Windows requires more hardware resources, and more resources require more power, more pollution, more energy, more, more and more...

Quickly the routers become deprecated, and converted in waste. The solution is to buy a new one.

Now, the newest routers require a fan, that's crazy right?

We haven't another planet for more waste.

Maybe it would be fantastic to change the paradigm and return to older days, wouldn't it?

1 Like

I'm not going to get deep into this as it has been discussed and debated many times in the past on this very forum...

But a few basic counterpoints here:

  1. OpenWrt doesn't control the kernel -- that is an upstream development effort for linux as a whole. The kernel is the largest component of OpenWrt.
  2. If OpenWrt didn't adopt newer kernel versions, it would be impossible to support newer standards. There would be no wifi6 support, nor would there be wifi5 or even wifi4... we'd be in the 802.11g environment from 20 years ago when OpenWrt started . There would be no modern VPN solutions, nor would there be basic things like https encryption to support secure downloads from the repo.

Some do, many don't. But OpenWrt doesn't have anything to do with the hardware that is being built and offered on the commercial market.

It is important to recognize that most manufacturers support their devices for 1-2 years and then stop issuing firmware updates for bug fixes and security patches (not to mention feature additions). OpenWrt allows that same hardware to run updated firmware and is extensible to unlock all sorts of new functionality for the user -- and this can extend the life of the hardware for many many years. I have hardware going on 15 years or more that runs the latest OpenWrt serving as VPN endpoints (they're not fast, but they work). That same hardware would have been deemed totally worthless if it could only run the vendor firmware and would have been e-wasted probably 10 years ago.

So yeah, OpenWrt has been getting larger and more resource intensive over the years, but that is in support of the latest standards and the devs work unbelievable magic to keep the overall footprint small (23.05 runs on as little as 8 megabytes of storage and 64 megabytes of RAM; the next release will require 16/128 at a minimum, but still that covers a lot of devices going back 10 years or so). And this doesn't get into the "tiny" builds that are part of the community projects.

As has been stated in other threads, if you want to spin up efforts to support really old hardware for even longer, feel free to do so -- just make sure that you keep everyone up to date on security patches, and of course, determine if you are going to support a very small subset of devices or if you will target hundreds of unique products.

5 Likes

Just to add some little insight (I have gone into depth on this topic in previous threads, the search function will find that and that is still valid):

  • when was the last time you installed a general purpose OS to a ~20 MB HDD?
    for me, that was in 80i286 times, 12 MHz, first 640 KB RAM, later a whopping 1 MB RAM. MS-DOS 5.0, later -shortly- Windows 3.1 - both disk space (20 MB MFM HDD) and RAM were always an issue (doublestack, drivestack, bootmanagers, errm, not fun), especially when windows 3.1 came into the mix.
  • when was the last time you ran a computer with 32-64 MB RAM?
    for me, that was in early Pentium-1 (and/or AMD K6-II) days, 75 MHz, 64 MB RAM, Windows 95b, combined with a 1.6 GB PATA HDD (I think, drives were constantly upgraded, kept as secondary/ tertiary disk, etc.)

Even if you do consider 16/128 the new minimum (which it will be officially with 24.xy.0+), that is still very little - and neither of the systems depicted above had any idea of WLAN and had a hard time achieving remotely 100 MBit/s network throughput (and I'm not even talking about routing/ NAT/ firewall throughput, just one-sided network throughput). At least I did pay dearly to upgrade from Realtek rtl8139 network cards to Intel e100 ones to get more of the 100 MBit/s throughput with less CPU utilization.

An entry level ('pentium' (e.g. g850), not even i3) sandy-bridge system with 4 GB RAM and a 64 GB SSD can still run quite well with linux (e.g. using LXQt) and adapted expectations, as long as you're fine with office/ webbrowser/ light video up to FullHD and don't multi-task too much, for more fun you want twice the amount of RAM(!) and SSD. And no, I'm not guessing about that, I know. mid- to higher end first generation core CPUs aren't that bad either, but you will notice a difference - everywhere. P4- (e.g. northwood) or first/ second generation Atom CPUs you really do not want to keep running, not so much because Linux and a light window manager couldn't still do it, but because no reasonable browser will work well enough (for your daily use) on those, their maximum RAM sizes (and single core, and PATA HDDs, and… make sure about that). And no, I'm not guessing about those either.

Now check how well you can get along with Windows on either of those systems - windows 10 is the oldest supported OS valid for this comparison (against Debian stable or unstable, Fedora Core, OpenSuSE, Mageia/ Mandriva, arch, gentoo, Ubuntu, …; keyword, current stable of either, not some period correct -EOL- version).

Requirements and expectations change, >>100 MBit/s wan speeds are the norm, WPA3 is expected, adblocking or VPN (client-) usage regularly requested features and wifi6e/ wifi7 of course. Supporting contemporary hardware requires updating the software, as does keeping things as secure as possible - software grows, slowly, but steadily, news at 11.

If you are falling below 8/32, you bought the bottom of the barrel since ~2010-2011, 8/128 became medium entry level around 2012 (e.g. TP-Link TL-WDR3600) - augmented by 16/128 (e.g. TP-Link Archer C7) in the upper mid-level a good year later. Dual-core routers with 128/256 started in the high-end around 2014 (e.g. Netgear r8000 or e.g. Linksys WRT1900ACv1).

4 Likes

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.