[uClinux-dev] re: mDNSResponder (bonjour) in 2.6.19 on coldfire

Rob Brown rob at livewire.co.uk
Wed Oct 24 07:35:07 EDT 2007


Hi all,

after trying many different things, am able to offer a solution my own 
question ...

the problem:
I'm trying to get mDNSResponder (bonjour) running under uClinux 2.6.19
I have a wildfire 5282 board
I have unpacked mDNSResponder-107.6.tar.gz, and inserted it into the 
'user' dir in my toolchain.
I changed the makefile slightly to removed JAVA references etc, but 
cannot get it to compile.
The error thrown is a compile time sizeof() check between 2 structures

the answer:
in uClinux-dist/user/ dir rename dnsresponder dir to dnsresponder_orig, 
create empty mdsnresponder dir
copy in Makefile from template below
using a flat structure with no sub-dirs copy in from dnsresponder_orig 
the .c files corresponding to .o files in Makefile
add any  .h files compiler asks for


in mDNSEmbbeddedAPI.h alter the CacheRecord definition with some padding 
characters at the end
struct CacheRecord_struct
{
    ...
    ...
    struct { mDNSu16 MaxRDLength; mDNSu8 data[InlineCacheRDSize]; } 
rdatastorage;    // Storage for small records is right here
    mDNSu8            pad_chars[4];
}

###########################################################
# makefile writen to produce mDNSResponder app for wildfire
#
include ../user.mak

EXEC = mDNSResponder
OBJS = Responder.o mDNSPosix.o GenLinkedList.o mDNSUNP.o mDNS.o 
DNSCommon.o mDNSDebug.o uDNS.o DNSDigest.o

CFLAGS += -DPID_FILE=\"/var/run/mdnsd.pid\" 
-DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\"
CFLAGS += -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -DNOT_HAVE_DAEMON
CFLAGS += -Wall

all: $(EXEC)

$(EXEC): $(OBJS)
    $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS$(LDLIBS_$@))

clean:
    rm -f $(EXEC) *.elf *.gdb *.o

romfs:
    $(ROMFSINST) /bin/$(EXEC)





hope this helps someone ....
kind regards to all
---rob



More information about the uClinux-dev mailing list