[JDEV] Re: jabberd 1.4.3 release candidate again

Frank Seesink frank at mail.wvnet.edu
Tue Nov 4 10:09:01 CST 2003

Frank Seesink wrote:

> Matthias Wimmer wrote:
>> Nope, jadc2s has its own "platform-settings" file. It if generated by
>> jadc2s' configure script.
>> With the mio_poll backend it should work quite well. The mio_select
>> backend I never used, so I don't know how good this backend is.
>> jadc2s is used at least on myjabber.net, jabber.org and amessage. But I
>> think we all use it on Unix, I don't know if someone ever checked it on
>> Windows.
>     Well, if not, I'm about to. :-)
>     Thanks much for the quick response.  Will let you know how 
> compilation goes, and if time permits, will try firing it up.

Well, bad news.  Attempts to compile jadc2s under Cygwin failed, 
regardless of whether configured with mio_poll (default) or mio_select 
(./configure --enable-select).  In both cases, the problem lies in the 
use of inet_ntop()--and likely would fail if other common BIND functions 
are used--common under *nix but apparently still not supported under 
Cygwin. *sigh*

Not sure if there's a way around this without somehow first getting BIND 
compiled/installed under Cygwin (not a trivial task).  As I mentioned in 
README I wrote up, the biggest issues with compiling source under Cygiwn 
are dynamic libraries, the use of DNS/bind functions (like inet_ntop()), 
and fork().  In fact, the first of those (dynamic libraries) is the 
least difficult to deal with, as most of the time all you need to do is 
get the right wrappers around objects, name the files with .dll instead 
of .so, and you're good to go.

But BIND, for whatever reason, has never had official support for 
compiling under Cygwin, though it apparently does compile with VC++ 
under NT native...not useful in this case as we need the libraries as 
*nix expects them.  BIND has also never been made an official package 
under Cygwin, and I'm not sure why.  I would've expected more community 
desire/pressure/whatnot for BIND than many of the other projects I've 
seen.  I'm afraid my knowledge (and my available time) are limited on 
the subject, though.

At this point, to those wishing to use jabberd 1.4.3 under Cygwin, I'd 
say either forego jadc2s.  Otherwise, go find yourself a version of BIND 
that runs under Cygwin (or if you're capable, help make a proper BIND 
package for Cygwin so everyone can benefit :-) ), and then try compiling 

P.S.	minires 0.9.7, a "mini BIND" with the more common functions like
	res_query() does not contain inet_ntop(), so only BIND will do
	it seems.

Compilation error follows just for reference:
connect.c: In function `_connect_io':
connect.c:325: warning: enumeration value `action_IDLE' not handled in 
connect.c: In function `connect_new':
connect.c:349: warning: implicit declaration of function `inet_ntop'
gcc -fPIC -Wall -I.  -DXML_MIN_SIZE -DMIO_POLL   -c -o rate.o rate.c
cc1: warning: -fPIC ignored for target (all code is position independent)
gcc -fPIC -Wall -I.  -DXML_MIN_SIZE -DMIO_POLL   -c -o jadc2s.o jadc2s.c
cc1: warning: -fPIC ignored for target (all code is position independent)
gcc -fPIC -Wall -I.  -DXML_MIN_SIZE -DMIO_POLL -o jadc2s  util/config.o 
.o util/log.o util/nad.o util/pool.o util/sha.o util/snprintf.o 
util/str.o util/
xhash.o mio/mio.o xmlparse/xmlparse.o xmlparse/xmlrole.o 
xmlparse/xmltok.o xmlpa
rse/hashtable.o clients.o conn.o connect.o rate.o jadc2s.o
connect.o(.text+0xef4):connect.c: undefined reference to `_inet_ntop'
collect2: ld returned 1 exit status
make: *** [all] Error 1

More information about the JDev mailing list