⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 install

📁 被广泛使用的域名服务(DNS)软件
💻
📖 第 1 页 / 共 2 页
字号:
                     res_mkquery.o                     sethostent.o                     res_send.o                     res_debug.o                     nsap_addr.o                     res_comp.o                     res_data.o                     res_init.o                     strerror.o     (Don't add the getnet* files if you removed them in step 10.)     It isn't really kosher to hack the lorder-sparc file like this, but it     isn't deadly either.  This ordering was created by using lorder and     tsort on libresolv_pic.a; it should be the best ordering of the new     files.14.  The Makefile supplied by Sun for building shared libraries,     /usr/lib/shlib.etc/Makefile, has one problem when you run it as the     super user if you don't have '.' in your path (and you shouldn't...).     So edit it and modify the definition of "OBJSORT" to read:       OBJSORT=./objsort     In some versions of /usr/lib/shlib.etc/Makefile, you will also need     to change the lines (there are two) which read       ld -assert pure-text `${OBJSORT} lorder-sparc tmp`     to read       ld -assert pure-text `${OBJSORT} lorder-sparc tmp` -ldl     The jumbo libc patch for 4.1.3 fixes this, but the jumbo libc patches     for 4.1.3_U1 and 4.1.4 don't.  (Why?  I don't know...)     If the shared library is built without -ldl, all subsequent     compilations (except when using static linking) on the system will     fail with "undefined symbol" errors for _dlopen, _dlclose, and     _dlsym unless you add -ldl when linking.     If you have *ever* modified your shared libc before (maybe for     resolv+, maybe for other reasons) and you didn't add the -ldl to     /usr/lib/shlib.etc/Makefile, you have probably been adding -ldl to     every Makefile for every program you've compiled since then.  This is     obviously suboptimal.  Fix your shared libc once and for all.     The easiest way to fix these problems in /usr/lib/shlib.etc/Makefile is     to apply (using the 'patch' program) the two patch files;     $BINDSRC/shres/sunos/sun-Makefile.patch1      and     $BINDSRC/shres/sunos/sun-Makefile.patch2.     If you have the patched 4.1.3 version of the Makefile, the second patch     will fail; this can safely be ignored.15.  Now we can finally build the shared library.  Type:       make libc.so     What kind of errors might you get?  Here's a couple:       a. It blows up on one of the .o files in tmp, saying that the	  object file is in an inconsistent state.          SOLUTION: start over; you did something wrong when you compiled	  libresolv_pic.a in step 4, above.  Make SURE you're using the	  libresolv_pic.a that was built in $BINDBUILD/shres/sunos, and not	  the "normal" libresolv.a built in $BINDBUILD/res.       b. It lists hundreds of error lines about offsets or addresses	  being wrong in all your resolver .o files.          SOLUTION: start over; you needed to specify "-pic" or "-fpic" to	  the C compiler when building shres/sunos/libresolv_pic.a.  Make	  sure you're using libresolv_pic.a, and make sure that SHCC and	  PIC were properly defined in $BINDBUILD/Makefile.16.  To build the System V shared libc, repeat steps 8-11, using     'libcs5_pic.a' instead of 'libc_pic.a', then 'make libcs5.so'.     You'll need to delete the contents of the directory     '/usr/lib/shlib.etc/tmp" first.17.  If all goes well, you now have a "libc.so.x.y.z" in this directory     (two, if you rebuilt the SysV shared library as well; the BSD one is     libc.so.1.y.z, while the SysV one is libc.so.2.y.z).  Test it (or     them) out before installing it (or them) systemwide!  You can do this     by pointing the LD_LIBRARY_PATH environment variable to the current     directory, then trying various networking commands.     In csh or tcsh:       setenv LD_LIBRARY_PATH `pwd`       ftp another.host.com       telnet someone.else.ca       unsetenv LD_LIBRARY_PATH     ping (or any other setuid/setgid program) may not use the new library     if you test it this way, because LD_LIBRARY_PATH is ignored for     security reasons if the real and effective user or group ids do not     match.  (If you test as root, ping will use the new library.)     Make sure you have a valid /etc/resolv.conf, or it will not appear to     work.  If you have been using DNS via NIS in the past, you might not     have a working resolv.conf file on the NIS clients.     If anything in the library fails, you need to start section B over     again.  Maybe you accidentally used BIND's versions of mktemp.o and     strpbrk.o; things just won't work with BIND's new versions of these     files.18.  When you are sure it's working OK, you can install it into the system     library directory (you will need to be superuser to do this):       su       cd /usr/lib/shlib.etc       cp libc.so.1.y.z /usr/lib       chmod 755 /usr/lib/libc.so.1.y.z       # for sysv shared library       cp libc.so.2.y.z /usr/5lib       chmod 755 /usr/5lib/libc.so.2.y.z       # for both       ldconfig     Next you need to install the shared archive, which contains     initialized global data.  If you skip this step, executables compiled     on your machine since the new library was installed will not contain     that data.  They still will be able to run (which is probably why     this step has been missing from both the Internet and *Sun*     instructions for years), as the data is replicated in the shared     object.  A few preliminary tests indicate missing this step can     marginally slow down processes, although it necessarily a depends on     the program and the machine in question.  For more details on this,     see $BINDSRC/shres/sunos/ISSUES.     The numbers y and z must match the numbers in the shared object above.       cd /usr/lib       cp libc.sa.1.y libc.sa.1.y.z       ranlib libc.sa.1.y.z       cd /usr/5lib       cp libc.sa.2.y libc.sa.2.y.z       ranlib libc.sa.2.y.zIf you used makeshlib, you can delete the temporary directories created bythe script (/usr/lib/shlib.etc/tmp.s5 and /usr/lib/shlib.etc/tmp.ucb) now.19.  You can prove that you're using the new library now, by watching the     output of something like:       trace date     Look for the open() of libc.so.* and note the version number.     You can also use ldd to check which shared libraries will be used by     a dynamically linked program:       # ldd /usr/ucb/telnet       -lc.1 => /usr/lib/libc.so.1.x.y       -ldl.1 => /usr/lib/libdl.so.1.0     The latest BIND resolver is now installed in your system's shared C     library.20.  Once you are fully confident of your new library, reboot your     machine.  Until you do, running processes will continue to use the     old shared library.21.  "make install" in $BINDBUILD to install the new resolver library,     named, and header files.  This will allow statically linked programs     and programs that link directly to the resolver library (like     sendmail) to be compiled against the BIND resolver (highly     recommended).You should now read the first four items in shres/sunos/ISSUES.* "Differences between Sun's resolver and BIND's resolver"  This explains the use of the "search" directive in resolv.conf files, and  explains how to deal with the use of "localhost" and "loghost" in  configurations.* "UDP checksums"  This explains how to turn on UDP checksumming in your kernel to make DNS  (and, not incidentally, NFS) more reliable.* "Modifying the static libc"  You probably want to modify the nonshared system C library to contain  the "strerror" routine for use when compiling statically-linked  programs; this item explains how and why.* "RFC 1101 network names vs. /etc/networks"  This explains how to set up your network names in the DNS so that programs  such as netstat -r will display names, not numbers, by using the DNS.  If you used Sun's getnetent.o in step 10, it does not apply.If you have problems compiling certain programs, or with other aspects ofyour system, after installing the BIND resolver, you should readshres/sunos/PROBLEMS.In particular:** If you are compiling GNU Emacs/XEmacs or Berkeley sendmail V8 ** you should read the entry in shres/sunos/PROBLEMS titled "undefined symbol_strerror when compiling -Bstatic".  If this happens, either add -l44bsdto the link step, add strerror.o to /usr/lib/libc.a (as described inshres/sunos/ISSUES), or link dynamically instead of statically.** If you are compiling GNU Emacs or NCSA httpd **you should read the entry in shres/sunos/PROBLEMS titled ""parse error" oninet.h, nameser.h, resolv.h, netdb.h, bitypes.h".  If you get these errorsfrom your cpp, you may choose to define the preprocessor symbol "BSD" to asmall numeric value (such as "42"), or you may wish to edit the headerfiles to remove the conditional statements.** If you are using Sun's "C2 security" shadowed passwords **you should read the entry in shres/sunos/PROBLEMS titled "login gives"hostname is bad for this system" errors (users can't log in)".  This will explain how to diagnose (and cure) this problem.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -