¼Ö¶ó¸®½º2 ¿¡¼­ ¹öŬ¸® µðºñ 1.85 ¼³Ä¡

  1. ÆÄÀϰ¡Á®¿Í¼­ ¾ÐÃàÇ®±â
  2. db-1.85/PORT µð·ºÅ丮·Î À̵¿ÇÏ¿© ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÑ´Ù.
      À̰ÍÀº ¼Ö¶ó¸®½º 2¿¡¼­ ÄÄÆÄÀÏÇÒ È¯°æÀ» ¸¸µé¾î ÁÖ´Â °ÍÀÌ´Ù. (µÚÀÇ Á¡À» À¯ÀÇÇϼ¼¿ä)
      2.1  ln -s sunos.5.2 sunos.5.5
      2.2  cd sunos.5.5
      2.3  cp ../Makefile .
      2.4  chmod 644 Makefile
      2.5  ln -s ../clib
      2.6  ln -s include sys 
      2.7  cd include
      2.8  ln -s ../../include/*.h .
      2.9  rm compat.h
      2.10 cp ../../include/compat.h
      2.11 chmod 644 compat.h
      2.12 cd ..
      
  3. MakefileÀ» ANSI C ÄÄÆÄÀÏ·¯¿¡ ¸Â°Ô ¼öÁ¤ÇÑ´Ù. (gcc»ç¿ëÀ» ÀüÁ¦) ¸¸ÀÏ gcc2.72°¡ ¾ø´Ù¸é ¿©±â¼­ ÀÌ¹Ì ÄÄÆÄÀÏµÈ ÆÄÀÏÀ» °¡Á®´Ù »ç¿ëÇÑ´Ù.
      ¼Ö¶ó¸®½º:     http://www.iicons.com/iicons/solaris/gnu-tools-solaris.htm
      HP-UX 9.x.:  http://hpux.cs.utah.edu/hpux/Gnu/gcc-2.7.2.html
    

Makefile¿¡¼­ ´ÙÀ½ºÎºÐÀ» ¼öÁ¤ÇÑ´Ù.

  3.1  ¶óÀÎ2: CC= gcc
  3.2  ¶óÀÎ3: RANLIB= /bin/true
  3.3  ranlib $@ ¸¦ ã¾Æ¼­ ${RANLIB} $@ ·Î ¹Ù²ãÁØ´Ù.
  3.4  ¶óÀÎ4: INSTALL=/usr/ucb/install
  3.5  ¶óÀÎ5: INSTALLDIR=/usr/local
  3.6  hsearch.o ndbm.o¸¦ ã´Â´Ù.
  3.7  ndbm.oÀ» Áö¿î´Ù. ±×·¯¸é hsearch.o¸¸ ³²´Â´Ù 

       À̰ÍÀº ¹öŬ¸® µðºñ°¡ ndbm.oÀ» °¡Áö°í ÀÖ¾î ±âÁ¸ ¼Ö¶ó¸®½º¿¡ ÀÖ´Â ndbmÀ» º¸È£Çϱâ 
       À§Çؼ­ÀÌ´Ù. ¼Ö¶ó¸®½º¿¡ ÀÖ´Â ndbmÀº NIS¿¡¼­ »ç¿ëÇϱ⠶§¹®¿¡ ´Ù¸¥ °ÍÀ¸·Î ¹Ù²ã¼­´Â
       ¾ÈµÈ´Ù. À̰ÍÀ» À̰ÍÀ» Áö¿ìÁö ¾ÊÀ¸¸é NIS ¾Ù¸®¾î½º µ¥ÀÌÅÍ º£À̽º¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù.
       ÀÚ¼¼ÇÑ ³»¿ëÀº sendmail-8.8.5/src/READ_ME¿¡ ³ª¿Â´Ù.

  3.8  MakefileÀÇ ¸Ç³¡À¸·Î À̵¿ÇÑ´Ù.
  3.9  ´ÙÀ½°ú °°Àº ÇàÀ» Ãß°¡ÇÑ´Ù. (ÀÚµ¿ ÀνºÅçÀ» À§ÇÔ)

install:    ${LIBDB}
          /bin/test -d ${INSTALLDIR}/lib || ${INSTALL} -d -m 755 ${INSTALLDIR}/lib
          /bin/test -d ${INSTALLDIR}/include || ${INSTALL} -d -m 755  ${INSTALLDIR}/include
          /bin/test -d ${INSTALLDIR}/include/sys || ${INSTALL} -d -m 755  ${INSTALLDIR}/include/sys
          ${INSTALL} -c -o root -g bin -m 644 ${LIBDB} ${INSTALLDIR}/lib
          ${INSTALL} -c -o root -g bin -m 444 include/db.h ${INSTALLDIR}/include
          ${INSTALL} -c -o root -g bin -m 444 include/cdefs.h  ${INSTALLDIR}/include/sysHP-UX 9.x.

ÁÖÀÇ

755´ÙÀ½ ${INST...·Î ³¡³ª´Â ´ÙÀ½ÇàÀº  À­ÁÙ¿¡ ºÙ¾î¾ß ÇÕ´Ï´Ù. Çѱ۷ΠÆíÁýÇÏ´À¶ó ´ÙÀ½ÁÙ·Î 
³Ñ¾î°¡¹ö·È½À´Ï´Ù. ±×·¡¼­ ¸ðµÎ 7ÁÙÀÌ µË´Ï´Ù. ±×¸®°í installÇà ´ÙÀ½¿¡ ÁÙÀÇ Ã³À½°ú ¹®ÀÚ 
/bin/test..°¡ ³ª¿À´Â ºÎºÐÀº °ø¹éÀÌ ¾Æ´Ï°í ** ÅÇ ** ÀÔ´Ï´Ù. ±×·¯´Ï º¹»ç ºÙÀ̱⠱â´ÉÀ» 
ÀÌ¿ëÇÏ¿© ºÙÀ̸é ÅÇÀÌ °ø¹éÀ¸·Î ¹Ù²î´Ï °ø¹éÀ» Áö¿ì°í ÅÇÀ» ³Ö±â ¹Ù¶ø´Ï´Ù. ±×·¸°Ô ÇÏÁö ¾ÊÀ¸¸é 
sun0s.4.1.3ÀÌÀü ¹öÀüÀÇ make´Â ¿¡·¯°¡ ³¯ °ÍÀÔ´Ï´Ù.

  3.10 Makefile À» ÀúÀåÇÏ°í ºüÁ®³ª¿Â´Ù.

4. ÀÚ½ÅÀÇ path¿¡ gcc ÄÄÆÄÀÏ·¯°¡ ÀÖ´Â ÇàÀ» Ãß°¡ÇÑ´Ù.
  4.1 C/Tcsh ½© »ç¿ëÀÚ: path = (/usr/ccs/bin $path)
  4.2 º»½© »ç¿ëÀÚ: PATH=/usr/ccs/bin:${PATH}; export PATH

5. make ¸í·ÉÀ» ³»·Á ÄÄÆÄÀÏÇÑ´Ù.
6. rootÀÇ ±ÇÇÑÀ¸·Î make install ¸í·ÉÀ» ³»·Á ÀνºÅçÇÑ´Ù.


±è¹ÎÁ¤´Ô º¸¼¼¿ä
¼¾µå¸ÞÀÏ 8.8 ÄÄÆÄÀÏ ¹æ¹ý

makesendmailÀ» Ä£ÈÄ Á¶±Ý Áö³ª CTRL+C ¸¦ ´©¸¨´Ï´Ù. ±×¸®°í obj.SunOS.5.5.1.sun4 µð·ºÅ丮·Î À̵¿ÇÕ´Ï´Ù. Makefile À» ÆíÁýÇÏ¿© ´ÙÀ½°ú °°ÀÌ Ãß°¡ÇÕ´Ï´Ù.

¶óÀÎ 26¿¡ DBMDEF= -DNDBM -DNIS -DNISPLUS -DNEWDB
     NIS¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é -DNEWDB¸¸ Ãß°¡Çصµ µË´Ï´Ù.
¶óÀÎ 29¿¡ ENVDEF= -DSOLARIS=20501 
¶óÀÎ 34¿¡ INCDIRS= -I/usr/local/include (db.h°¡ ÀÖ´Â µð·ºÅ丮¸¦ ÁöÁ¤ÇÏ´Â °ÍÀÔ´Ï´Ù)
¶óÀÎ 37¿¡ LIBDIRS= -L/usr/local/lib  (libdb.a°¡ ÀÖ´Â µð·ºÅ丮,( NEWDB)¸¦ ÁöÁ¤ÇÕ´Ï´Ù)
¶óÀÎ 41¿¡ -l44bsd¸¦ Áö¿ó´Ï´Ù. LIBS=-lresolv -lsocket -lnsl -lelf
¶óÀÎ 41¿¡ -ldb¿Í -lkstatÀ» Ãß°¡ÇÕ´Ï´Ù. LIBS=-lresolv -lsocket -lnsl -lelf -ldb -lkstat
¶óÀÎ 88¿¡¼­ #¸¦ ¶¼³À´Ï´Ù.  NROFF= nroff -h
¶óÀÎ 89¿¡¼­ #¸¦ ºÙÀÔ´Ï´Ù.  #NROFF=  groff -Tascii
¶óÀÎ 90¿¡¼­ #¸¦ ºÙÀÔ´Ï´Ù.  #MANDOC= -mandoc
¶óÀÎ 91¿¡¼­ MANDOC= -manÀ» Ãß°¡ÇÕ´Ï´Ù.

ÀÌÁ¦ ÀúÀåÇÏ°í ºüÁ®³ª¿É´Ï´Ù.
make¶ó°í Ĩ´Ï´Ù.
ÄÄÆÄÀÏÀÌ µÇ¸é make install ÇÏ¸é ¼³Ä¡µË´Ï´Ù.

±×ÈÄ¿¡´Â Á¦±ÛÀ» ÂüÁ¶ÇÏ¿© ÄÁÇDZ׸¦ ÀâÀ¸¸é µË´Ï´Ù.

--
¼¾µå¸ÞÀÏÀ» ÄÄÆÄÀÏÇÒ ¶§ Ȥ½Ã snprintf°¡ missing in libdb.aÀÇ ¿¡·¯±Û ³»¸é /usr/local/lib/db.h·Î °¡¼­ db.h¸¦ ÆíÁý±â·Î ¿­°í ¶óÀÎ 38¿¡ ´ÙÀ½À» Ãß°¡ÇÕ´Ï´Ù.

#define snprintf __snprintf

ÀÌ·¸°Ô Çϰí db.1.85¸¦ ´Ù½Ã ÄÄÆÄÀÏÇÕ´Ï´Ù. ±×¸®°í ¼¾µå¸ÞÀÏÀ» ÄÄÆÄÀÏÇÕ´Ï´Ù. À̰ÍÀº conf.hÀÇ 415Çà¿¡ ³ª¿É´Ï´Ù. ÀÌ¿¡ ´ëÇÑ ÀÚ·á´Â
http://www.sendmail.org/os-solaris2.6html ¿¡ ÀÖ½À´Ï´Ù.

±×¸®°í GCCÄÄÆÄÀÏ·¯¿¡ °üÇØ¼­ ÁÖÀÇÇÒ »çÇ×ÀÌ ÀÖ½À´Ï´Ù. ¸¸ÀÏ gcc ÄÄÆÄÀÏ·¯¸¦ ¼³Ä¡Çϼ̴ٸé ÀÌ ÄÄÆÄÀÏ·¯¸¦ À§ÇÑ Çì´õÈ­ÀÏÀÌ /usr/local/lib/gcc-lib/sparc-sun-solairs2.5/2.7.2/include¿¡ ¼³Ä¡µË´Ï´Ù. gcc°¡ ÀÌ Çì´õÈ­ÀÏ¿¡ ÀûÀýÈ÷ Á¢±ÙÇϱâ À§Çؼ­ ¼¾µå¸ÞÀÏÀÇ MakefileÀ» °íÄ¥ Çʿ䰡 ÀÖ½À´Ï´Ù.

OLD:   INCDIRS=-I/usr/include -I/usr/local/include
NEW:  INCDIRS=-I/usr/local/include

/usr/local/include´Â db.h°¡ ¼³Ä¡µÈ µð·ºÅ丮ÀÔ´Ï´Ù. ¸¸ÀÏ db.h¸¦ /usr/include¿¡ ¼³Ä¡ÇÏ¿´´Ù°í /usr/include·Î ÁöÁ¤ÇÏ¸é ¾ÈµË´Ï´Ù. db.h´Â ¹Ýµå½Ã /usr/local/include¿¡ ¼³Ä¡ÇϽðí À§¿Í °°ÀÌ ÁöÁ¤ÇØ ÁÖ¼¼¿ä.


´ÙÀ½ »çÀÌÆ®¸¦ ÂüÁ¶Çϼ¼¿ä
http://www.iicons.com/sendmail/buildme.html
http://smc.vnet.net/solaris_2.5.html



Drew,

        I was able to get my problem figured out.
There were a couple things at play, so I went to a fresh machine and
started over.  First, I highly suggest that you head to:
http://www.iicons.com/sendmail/buildme.html 
and follow those instructions for properly building sendmail with
db 1.85 support.  I believe that I had a corrupted installation of
libdb.a (it had ndbm in there and it was hosing up the sendmail compile), 
so I went to a machine that didn't have libdb.a installed and went
through Paul's instructions at the above URL.  And it compiled cleanly!
I was using gcc 2.7.2.1 to do the compile - you might want to head to:
http://smc.vnet.net/solaris_2.5.html   and pick up a copy - it's a
pre-compiled binary form.  If you need any help, let me know - I think
I've gotten much better at tweaking the compile of 8.8.5 on 2.5.1