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

📄 ckuins.txt

📁 KERMIT工具 这在办公室下载不了,很多人都没有载不到.
💻 TXT
📖 第 1 页 / 共 5 页
字号:
       from the first installation CD.   The makefile might need to be renamed from ckuker.mak to makefile.   Directions:    a. Type "make xxx" where xxx is the name of the makefile target most       appropriate to your platform, e.g. "make linux", "make aix43",       etc. Read the [78]comments at the top of the makefile for a       complete list of available targets (it's a long list).    b. Test the resulting 'wermit' file (see [79]Section 7 for       suggestions). If it's OK, proceed; otherwise [80]notify us.     NOTE: steps (c) through (e) can be accomplished using the     [81]makefile 'install' target as described in [82]Section 5.4.     c. Rename the 'wermit' file to 'kermit', copy it to the desired       binary directory (such as /usr/local/bin or /opt/something), and       if it is to be used for dialing out, give it the same owner,       group, and permissions as the 'cu' program (IMPORTANT: read       [83]Sections 10 and [84]11 for details).    d. Install the man page, ckuker.nr, with your other man pages.    e. Install the accompanying text files (see [85]Section 5).    f. If you want C-Kermit to also offer a Telnet command-line       personality, make a symbolic link as follows:cd directory-where-kermit-binary-isln -s kermit telnet       If you want C-Kermit to be the default Telnet client, make sure       the directory in which you created the symlink is in the PATH       ahead of the where the regular Telnet client is.    g. If you want C-Kermit to also offer an FTP command-line       personality, make a symlink called "ftp" as in (f).    h. If you want C-Kermit to also offer an FTTP command-line       personality, make a symlink called "http" as in (f).    i. If you want to offer an Internet Kermit Service, follow the       directions in the [86]IKSD Administrator's Guide.    ________________________________________________________________________  4.0. Special Considerations for C-Kermit 8.0   [ [87]Top ] [ [88]Contents ] [ [89]Next ]   Also see: [90]C-Kermit Configuration Options   SECTION CONTENTS4.1. [91]The Unix Makefile4.2. [92]The C-Kermit Initialization File4.3. [93]The 2.x BSD Makefile4.4. [94]The Plan 9 Makefile4.5. [95]Makefile Failures   (Also see the [96]Configurations Options document, [97]Section 8).   Lots of new features have been added in versions 7.0 and 8.0 that   require access to new symbols, APIs, libraries, etc, and this will no   doubt cause problems in compiling, linking, or execution on platforms   where 6.0 and earlier built without incident. This section contains   what we know as of the date of this file.   The first category concerns the new Kermit Service Daemon (IKSD; see   the [98]IKSD Administrator's Guide for details):   The wtmp File          When C-Kermit is started as an IKSD (under inetd), it makes          syslog and wtmp entries, and also keeps its own ftpd-like log.          The code assumes the wtmp log is /var/log/wtmp on Linux and          /usr/adm/wtmp elsewhere. No doubt this assumption will need          adjustment. Use -DWTMPFILE=path to override at compile time          (there is also a runtime override). See [99]iksd.html for          details.   UTMP, utsname(), etc          C-Kermit 7.0 gets as much info as it can about its job --          mainly for IKSD logging -- from utmp. But of course utmp          formats and fields differ, and for that matter, there can be          two different header files, <utmp.h> and <utmpx.h>. Look for          HAVEUTMPX and HAVEUTHOST in [100]ckufio.c and let me know of          any needed adjustments.   Password lookup          IKSD needs to authenticate incoming users against the password          list. In some cases, this requires the addition of -lcrypt          (e.g. in Unixware 2.x). In most others, the crypt functions are          in the regular C library. If you get "crypt" as an unresolved          symbol at link time, add -lcrypt to LIBS. If your site has          local replacement libraries for authentication, you might need          a special LIBS clause such as "LIBS=-L/usr/local/lib -lpwent".          These days most Unix systems take advantage of shadow password          files or Plugable Authentication Modules (PAM). If your system          uses shadow passwords you must add -DCK_SHADOW to the CFLAGS          list. If your system requires PAM you must add -DCK_PAM to the          CFLAGS and -lpam -ldl to LIBS.   getusershell()          This is called by the IKSD at login time to see if a user has          been "turned off". But many Unix platforms lack this function.          In that case, you will get unresolved symbol reports at link          time for _getusershell, _endusershell; to work around, add          -DNOGETUSERSHELL.   initgroups()          This is called by IKSD after successful authentication. But          some platforms do not have this function, so obviously it can't          be called there, in which case add -DNOINITGROUPS.   setreuid(), setreuid(), setregid() not found or "deprecated"          Find out what your Unix variety wants you to use instead, and          make appropriate substitutions in routine zvpass(), module          [101]ckufio.c, and [102]let us know.   printf()          IKSD installs a printf() substitute to allow redirection of          printf-like output to the connection. However, this can          conflict with some curses libraries. In this case, separate          binaries must be built for IKSD and non-IKSD use.   If you encounter difficulties with any of the above, and you are not   interested in running C-Kermit as an IKSD, then simply add NOIKSD to   CFLAGS and rebuild. Example:make sco286(get lots of errors)make cleanmake sco286 "KFLAGS=-DNOIKSD"   Some non-IKSD things to watch out for:   Return type of main()          The main() routine is in [103]ckcmai.c. If you get complaints          about "main: return type is not blah", define MAINTYPE on the          CC command line, e.g.:make xxx "KFLAGS=-DMAINTYPE=blah          (where blah is int, long, or whatever). If the complaint is          "Attempt to return a value from a function of type void" then          add -DMAINISVOID:make xxx "KFLAGS=-DMAINISVOID=blah   DNS Service Records          This feature allows a remote host to redirect C-Kermit to the          appropriate socket for the requested service; e.g. if C-Kermit          requests service "telnet" and the host offers Telnet service on          port 999 rather than the customary port 23. If you get          compile-time complaints about not being able to find          <resolv.h>, <netdb.h>, or <arpa/nameser.h>, add -DNO_DNS_SRV to          CFLAGS. If you get link-time complaints about unresolved          symbols res_search or dn_expand, try adding -lresolve to LIBS.   \v(ipaddress)          If "echo \v(ipaddress)" shows an empty string rather than your          local IP address, add -DCKGHNLHOST to CFLAGS and rebuild.   <sys/wait.h>          If this file can't be found at compile time, add -DNOREDIRECT          to CFLAGS. This disables the REDIRECT and PIPE commands and          anything else that needs the wait() system service.   syslog()          C-Kermit can now write syslog records. Some older platforms          might not have the syslog facility. In that case, add          -DNOSYSLOG. Others might have it, but require addition of          -lsocket to LIBS (SCO OSR5 is an example). See [104]Section 15.   putenv()          If "_putenv" comes up as an undefined symbol, add -DNOPUTENV to          CFLAGS and rebuild.   "Passing arg1 of 'time' from incompatible pointer"          This is a mess. See the mass of #ifdefs in the appropriate          module, [105]ckutio.c or [106]ckufio.c.   gettimeofday()          Wrong number of arguments. On most platforms, gettimeofday()          takes two arguments, but on a handful of others (e.g. Motorola          System V/88 V4, SNI Reliant UNIX 5.43, etc) it takes one. If          your version of gettimeofday() is being called with two args          but wants one, add -DGTODONEARG.   "Assignment makes pointer from integer without a cast"          This warning might appear in [107]ckutio.c or [108]ckufio.c.          (or elsewhere), and usually can be traced to the use of a          system or library function that returns a pointer but that is          not declared in the system header files even though it should          be. Several functions are commonly associated with this error:          + getcwd(): Add -DDCLGETCWD to CFLAGS and rebuild.          + popen() : Add -DDCLPOPEN to CFLAGS and rebuild.          + fdopen(): Add -DDCLFDOPEN to CFLAGS and rebuild.   "Operands of = have incompatible types"   "Incompatible types in assignment"          If this comes from [109]ckcnet.c and comes from a statement          involving inet_addr(), try adding -DINADDRX to CFLAGS. If that          doesn't help, then try adding -DNOMHHOST.   Complaints about args to get/setsockopt(), getpeername(),          getsockname()          These are all in [110]ckcnet.c. Different platforms and OS's          and versions of the same OS change this all the time: int,          size_t, unsigned long, etc. All the affected variables are          declared according to #ifdefs within ckcnet.c, so find the          declarations and adjust the #ifdefs accordingly.   size_t          In case of complaints about "unknown type size_t", add          -DSIZE_T=int (or other appropriate type) to CFLAGS.   'tz' undefined   Use of undefined enum/struct/union 'timezone'          Left of 'tv_sec' specifies undefined struct/union 'timeval' And          similar complaints in [111]ckutio.c: Add -DNOGFTIMER and/or          -DNOTIMEVAL.   Symlinks          The new built-in DIRECTORY command should show symlinks like          "ls -l" does. If it does not, check to see if your platform has          the lstat() and readlink() functions. If so, add -DUSE_LSTAT          and -DCKSYMLINK to CFLAGS and rebuild. On the other hand, if          lstat() is unresolved at link time, add -DNOLSTAT to CFLAGS. If          readlink() is also unresolved, add -DNOSYMLINK.   realpath()          Link-time complains about realpath() -- find the library in          which it resides and add it to LIBS (example for Unixware 7.1:          "-lcudk70") or add -DNOREALPATH to CFLAGS and rebuild. If built          with realpath() but debug log file is truncated or mangled,          ditto (some realpath() implementations behave differently from          others). If built with realpath() and seemingly random core          dumps occur during file path resolution, ditto.   Failure to locate header file <term.h>          Usually happens on Linux systems that have the C compiler          installed, but not the ncurses package (see comments about          selective installs above). Go back and install ncurses, or use          "make linuxnc" (Linux No Curses).   "Can't find shared library libc.so.2.1"   "Can't find shared library libncurses.so.3.0", etc...          You are trying to run a binary that was built on a computer          that has different library versions than your computer, and          your computer's loader is picky about library version numbers.          Rebuild from source on your computer.   Time (struct tm) related difficulties:          Errors like the following:"ckutio.c", line 11994: incomplete struct/union/enum tm: _tm"ckutio.c", line 11995: error: cannot dereference non-pointer type"ckutio.c", line 11995: error: assignment type mismatch"ckutio.c", line 11997: warning: using out of scope declaration: localtime"ckutio.c", line 11997: error: unknown operand size: op "=""ckutio.c", line 11997: error: assignment type mismatch"ckutio.c", line 11998: error: undefined struct/union member: tm_year"ckutio.c", line 12000: error: undefined struct/union member: tm_mon"ckutio.c", line 12001: error: undefined struct/union member: tm_mday"ckutio.c", line 12002: error: undefined struct/union member: tm_hour"ckutio.c", line 12003: error: undefined struct/union member: tm_min"ckutio.c", line 12004: error: undefined struct/union member: tm_sec          are due to failure to include the appropriate time.h header          files. Unix platforms generally have one or more of the          following: <time.h>, <sys/time.h>, and <sys/timeb.h>. Any          combination of these might be required. Defaults are set up for          each makefile target. The defaults can be corrected on the CC          command line by adding the appropriate definition from the          following list to CFLAGS:-DTIMEH         Include <time.h>-DNOTIMEH       Don't include <time.h>-DSYSTIMEH      Include <sys/time.h>-DNOSYSTIMEH    Don't include <sys/time.h>-DSYSTIMEBH     Include <sys/timeb.h>-DNOSYSTIMEBH   Don't include <sys/timeb.h>          Note that <sys/timeb.h> is relatively scarce in the System V          and POSIX environments; the only platform of recent vintage          where it was/is used is OSF/1 and its derivatives (Digital Unix          and Tru64 Unix).   Struct timeval and/or timezone not declared:          In some cases, merely including the appropriate time.h header          files is still not enough. POSIX.1 does not define the timeval          struct, and so the items we need from the header are protected          against us by #ifndef _POSIX_SOURCE or somesuch. In this case,          we have to declare the timeval (and timezone) structs          ourselves. To force this, include -DDCLTIMEVAL in CFLAGS.   Warnings about dn_expand() Argument #4          WARNING: argument is incompatible with prototyp. It's the old

⌨️ 快捷键说明

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