Running eggdrop from a router

Hi there, I'm new here.
I own a tp-link wr1043n v5 for at least 2 years.
I installed OpenWrt 19.07.4 onto it and there is a little space free for about 10 mb of rom and 30mb of ram.
I been searching and found too little and there seemed to be a packaged compiled for eggdrop 1.6.17 but it won't run.
I guess I need gcc installed as well as tcl and zlib but the device doesn't have enough space to compile a binary.
Is there someone with a guide or someone that compiles eggdrop for mips for me? Thanks

jeez... no replies?
I am struggling with openwrt sdk for ath79 platform to build just eggdrop...

Hi @moonlight, Welcome!

OpenWrt doesn't have an Eggdrop package, from what I can tell. I had to go look it up. This doesn't mean it can't be added, but it means you would need to do it yourself and release it to the community, or hope that someone else can do it for you.

Correct. This is the right though, wrong conclusion. If you want to include Eggdrop, you'll need to compile OpenWrt from source for your device. You'll compile it on your PC, which has the space and processing power to compile, into a format your device can understand (mips).

I ALWAYS encourage people to compile their own OpenWrt, if for no other reason than people should have to go watch their meat being slaughtered. It gives a better appreciation to what is actually being done :slight_smile: But, this isn't for everyone. If you decide to compile and run your own, custom version, then you'll be responsible for keeping it up-to-date and creating new ones down the line. This isn't USUALLY an issue, but it should be pointed out.

Thanks for your reply. Yes, it's the mips arch and yes, no eggdrop package and yet, yes, I want to compile eggdrop binary for my own use (and maybe later, release it to community).
I downloaded the 19.07.4 SDK for ath79 platform and decompress it onto a vm running debian 10.6 and trying some stuff, not knowning what I am doing. I see eggdrop being compiled but somehow it vanishes. I'm lost.
I am targetting eggdrop 1.6.21 which does not have SSL and IPv6 support, it can be added but I think I don't need it.
So far, to workaround the not-having-eggdrop-package, I installed tcl and ended up finding a very sketchy tcl script that uses socket and it connects to irc and stays there. I customized it to have some funcionality but I prefer having an eggdrop binary with a few scripts running in an idle router. I also installed nohup package in order to leave the thing running when I exit the shell. I also use nano to edit text files, it is usually ok but somehow it does like accent symbols for example.
I read this guide http://dvblog.soabit.com/building-custom-openwrt-packages-an-hopefully-complete-guide/ and also used the eggdrop 1.6.17 makefile thing from a older version of openwrt but nothing works yet.

I've never used the SDK, so I'm not sure of it's limitation or advantages; I've always built from full source.

If you're willing to build from source, I can try to help you. This makes the assumption that it'll fit on your device, you know what your doing, and that you have PATIENCE with the whole process. It's frustrating, and some people can't handle it - If you're like that, save yourself the time and energy and just pass.

Sorry @moonlight, but an eggdrop package is not feasible for me to persue right now. It requires 32-bit libc (or seems to) and OpenWrt is MUSL. There is an option to build with glibc and I spent the time building it out, but it still failed on the 32-bit headers. There is no libc32-dev package, and I don't know that I could make one for it.

/home/grommish/openwrt/staging_dir/toolchain-mips64_octeon3_64_gcc-10.2.0_glibc/include/gnu/stubs.h:20:11: fatal error: gnu/stubs-n32_soft.h: No such file or directory
   20 | # include <gnu/stubs-n32_soft.h>
      |           ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[8]: *** [Makefile:501: _muldi3.o] Error 1

And I'll be honest, but I don't really care enough to try and get it working - I do apologize for it.

What I will do, however, it post the Makefile I created for it. It'll let anyone who wants to try to complete it.

BTW, i was targetting 1.8.4. Again, i never got it to fully build, so I never played with the configuration settings, nor was I able to see what was built out to fill in the Package/eggdrop/install section

If I get super bored or frustrated, I might revisit this - but I honestly doubt it. This will give you the best chance of finding someone who can finish it though!

#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk

PKG_NAME:=eggdrop
PKG_VERSION:=1.8.4

PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2018-12-27
PKG_SOURCE_VERSION:=f2b0f8a6d0292faf41b2aee866ddc37793d33f83
PKG_SOURCE_URL:=https://github.com/eggheads/eggdrop.git
PKG_HASH:=da0ea0393e4ea5ad9824306ce4b02feb1d16dc5ad248e061a98f1145c89306b9

PKG_FIXUP:=autoreconf
PKG_FIXUP:=patch-libtool

PKG_INSTALL:=1
HOST_BUILD_DEPENDS:=tcl/host


include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk

define Build/Configure
	$(call Build/Configure/Default)
endef

define Build/Compile
	$(call Build/Compile/Default,config)
	$(call Build/Compile/Default)
endef

define Package/eggdrop
    SUBMENU:=Instant Messaging
    SECTION:=net
    CATEGORY:=Network
    TITLE:=Eggdrop IRC Bot
    DEPENDS:=+tcl
    URL:=https://github.com/eggheads/
endef

define Package/eggdrop/install
	true
endef

$(eval $(call BuildPackage,eggdrop))

WOW, many thanks for trying. I appreciated.
I believe the size of eggdrop binary and it's bundled files is less than 3/5MB, I currently have ~8MB remaining from my tp-link wr1043n v5 router. And after installed, it can be trimmed down by deleting some uneeded modules and files etc.
I don't easily give up, I keep trying and when I'm frustrated, I just halt the thing and I try again 2-3 days later. I feel that I'm close.
I'm also using this https://git.archive.openwrt.org/?p=14.07/packages.git;a=tree;f=lang/eggdrop and modify where needed.
The 1.8.4 is latest version which might need ssl support. Maybe it can be turned off when passing parametres to configure.

1 Like