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

_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to