autoconf and ISC Unix
Andy Smith
abs at maunsell.co.uk
Mon Nov 23 19:22:34 GMT 1998
The good news is that the latest code (cvs'd from the HEAD branch on
sunday Nov 22 11:49 GMT) does configure and build perfectly on my old
Solaris 2.4 Sun SS20's.
There is also a lot of progress on ISC Unix, but it needs some nudging
along still.
Firstly, on my ISC systems at least (4.1, no maintenance update), I need
to set the following :-
CFLAGS="-O -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_SYSV3 -DISC"
LIBS="-lsec -lcrypt -linet -lcposix"
Not too much of a hardship, but it would be nice to clue configure in to
this Unix. Like my Solaris 2.4 suns, the ISC systems will be with me
for a while yet to come.
Secondly, ISC defines a lot of necessary stuff in <sys/bsdtypes.h> and
<sys/stream.h> and I expect you would be after a more elegant way of
dealing with this than my rather crude approach in include/includes.h :-
--------------------------begin included patch -------------------------
*** current/source/include/includes.h.orig Mon Nov 23 17:16:21 1998
--- current/source/include/includes.h Mon Nov 23 13:59:40 1998
***************
*** 47,52 ****
--- 47,56 ----
#include <sys/types.h>
+ #ifdef ISC
+ #include <sys/bsdtypes.h>
+ #include <sys/stream.h>
+ #endif
#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
--------------------------end included patch -------------------------
Now, because configure didn't know about bsdtypes.h, it mis-defined these
in include/config.h :-
#define uid_t int
#define pid_t int
#define mode_t int
#define gid_t int
Again, I am not sure of the most elegant way of dealing with this in
configure, I could do something along the lines of the '#if STDC_HEADERS'
conditional includes.
I also found ONLCR was not defined in smbd/chgpasswd.c. I could have
used -D_XOPEN_SOURCE, which would have included it from <termios.h>, or
what I in fact did, which was to define it manually in config.h.
Finally, the only other change necessary to get all the objects to
compile is to lib/util_sock.c, where EINPROGRESS and EALREADY are
defined on ISC in <net/errno.h>. I got round this temporarily
by including the file in lib/util_sock.c, again, I presume you have
a better way of dealing with this sort of platform specific stuff.
Previous code (with the above mods) did link and run, I have binaries
dated Nov 15 23:01 GMT. Unfortunately, yesterdays code wont link at
all because of the dependance on mmap() in sys/system.c and fchmod() in
rpc_server/srv_sid.c, neither of which I have. Anyone any suggestions?
Thanks.
--
_ __ Maunsell Ltd, IT Unit Tel : 0181-663-6565
/_| _/ ( _ '_// 160 Croydon Road, Fax : 0181-663-6723
( |/)(/(/ __)//)/ //) Beckenham, Kent BR3 4DE Email: abs at maunsell.co.uk
/ England. -or- abs at maunsl00.demon.co.uk
More information about the samba-ntdom
mailing list