Okay, one change to my previous post. The reason I was seeing different
behavior on AIX vs. Solaris is that I didn't make clean and re-make from
scratch on Solaris after I put libmh.a after libmts.a. After starting from
scratch, Solaris failed just like AIX did.
So it appears that on any OS without an ruserpass(), if the order is
"libmh.a libmts.a", the build will fail with:
> gcc -s -o post post.o aliasbr.o ../config/version.o ../config/config.o\
> ../sbr/libmh.a ../mts/libmts.a -L/usr/local/lib -lsasl -lsocket -lnsl
> Undefined first referenced
> symbol in file
> ruserpass ../mts/libmts.a(smtp.o)
> ld: fatal: Symbol referencing errors. No output written to post
> collect2: ld returned 1 exit status
> make[1]: *** [post] Error 1
> make[1]: Leaving directory `/usr/local/src/nmh-cvs/nmh/uip'
If the order is "libmts.a libmh.a", on the other hand, the build will fail
with:
> gcc -g -o anno anno.o annosbr.o ../config/version.o ../config/config.o\
> ../mts/libmts.a ../sbr/libmh.a
> ../sbr/libmh.a(m_getfld.o): In function `m_unknown':
> m_getfld.c:555: undefined reference to `mmdlm2'
> m_getfld.c(.pr+0xd62): undefined reference to `mmdlm2'
> m_getfld.c:556: undefined reference to `mmdlm2'
> m_getfld.c:557: undefined reference to `mmdlm2'
> ../sbr/libmh.a(m_getfld.o)(.tc+0x0):m_getfld.c: undefined reference to\
> `mmdlm2'
> make[1]: *** [anno] Error 1
> make[1]: Leaving directory `/usr/local/src/nmh-cvs/nmh/uip'
OSes *with* ruserpass() will probably build (but will be using the wrong
ruserpass()) in the first case. Again, Shantonu, looks like your libmts.a
has circular dependencies with libmh.a.
-----------------------------------------------------------------------
Dan Harkless | To prevent SPAM contamination, please
[EMAIL PROTECTED] | do not post this private email address
SpeedGate Communications, Inc. | to the USENET or WWW. Thank you.