zoukankan      html  css  js  c++  java
  • 编译 ioftpd v7.7.3

    今天编译了下 ioftpd ioFTPD-v7.7.3-src,遇到几个问题。
    //z 2014-05-05 22:04:40 L.240' 6920 BG57IV3@BYH T3695602389.K.F519279140 [T2,L60,R1,V5]
    1. 需要 openssl
    下载并且编译 openssl-1.0.1g

    2. 遇到一处包含头文件 <ms/applink.c>
    改为 <openssl/applink.c>

    3. 无法找到 tcl.h
    详细见代码下 Tcl.txt;作者做了说明。
    Error 1 fatal error C1083: Cannot open include file: 'tcl.h': No such file or directory
    3.1 似乎还需要 tcl 。
    下载了 tcl8.6.1-src
    3.2 然后无法找到 tcl85tg.lib
    使用 tcl86t.lib

    3.3 Error 2 error LNK2019: unresolved external symbol _Tcl_RegisterHandleLockFunctions referenced in function _Tcl_ModuleInitTcl.objioFTPD-v7
    直接注释了,不知道有无什么影响。
    3.3.1 看了眼文件夹,发现有tcl.txt,里面有详细的说明。有文档务必认真阅读文档呀。。。

    //z 2014-05-06 00:40:59 L.239'83941 BG57IV3@BYH T190870396 .K.F519279140 [T5,L65,R1,V9]
    3.3.2 仍有以下问题
    Bad return type: void Tcl_RegisterHandleLockFunctions(void (*AcquireLock)(void),
     void (*ReleaseLock)(void))
    3.3.2.1 作者所用的tcl85t.dll确有 Tcl_RegisterHandleLockFunctions 

    08-27-2010, 02:07 PM
    //z 2014-05-05 22:35:30 L.240' 5070 BG57IV3@BYH T278698003 .K.F519279140 [T3,L61,R1,V6]
    Hmm, it just occurred to me that starting with v7.1.0 the TCL libraries differ from the official TCL v8.5.8 sources because of the addition of the Tcl_RegisterHandleLockFunctions command. That was added so the TCL library can share the ioFTPD lock around process/socket creation. I've included a copy of the TCL sources I'm building from in the link at the top.

    49) Tcl_RegisterHandleLockFunctions(AcquireHandleLock, ReleaseHandleLock) has
        been added as a new exported C function to the standard TCL dlls.  This
        is the first time the TCL code has been modified for use by ioFTPD.
        Previously only the makefiles and command line options used for compilation
        were touched.  In order to fix the race condition with new sockets being
        automatically inheritable by child processes it is necessary to share a
        lock with the rest of the server and thus some way to communicate what to
        share is required.  This function just registers 2 callback functions to
        call before and after socket and/or process creation.
    v7.1.0 Release Notes:
    
    找了几个版本的tcl dll,里面均没有该函数:Tcl_RegisterHandleLockFunctions1) Files in System:   Changed : ioFTPD.[exe,pdb] - Version 7.1.0.0.   Changed : tcl85t.[dll,pdb] - Version 8.5.2.8 (tcl version 8.5.8)   Changed : ioFTPD.ini - summary of changes by section...
    


    The OpenSSL library is unchanged, you should be able to use anybody's compiled copy or build it yourself. We are currently using 1.0.0 but 1.0.1 is out there.


    3.4 找到一处作者的说明,使用 nmake -nologo -f makefile.vc release OPTS=threads 编译 tcl ,使用这个重新编译下看看。
    nmake -nologo -f makefile.vc release OPTS=threads


    //z 2014-05-06 09:43:03 L.239'51417 BG57IV3@XCL T4210892314.K.F3811017215[T2,L59,R1,V16]
    3.5 找不到 ioFTPD.ico ,将其路径更改如下。
    IDI_ICON1               ICON                    ".\..\src\ioFTPD.ico"

    4. sum
    //z 2014-05-06 01:09:04 L.239'82256 BG57IV3@BYH T335328246 .K.F519279140 [T6,L113,R1,V11]
    focus:注释掉 Tcl_RegisterHandleLockFunctions ,然后挑选感兴趣的看看。


    @IS2120#CNBLOGS.T2169364049[T1,L65,R1,V259]:备忘
    $ € ₤ ₭ ₪ ₩ ₮ ₦ ₱ ฿ ₡ ₫ ﷼ ¥ ﷼ ₫ ₡ ฿ ₱ ₦ ₮ ₩ ₪ ₭ ₤ € $
  • 相关阅读:
    JS 利用数组拼接html字符串
    IE浏览器下读取客户端上传的文件大小
    PrintWriter out = response.getWriter() 输出中文乱码问题
    非常有用的Java程序片段
    sql之left join、right join、inner join的区别
    JAVA 数组常用技巧
    java 图片文件格式转换(多页tif转jpg 、jpg转tif)
    SQL Server 字段状态判断语句
    sql server 2008中id如何设为自增
    java基于xml配置的通用excel单表数据导入组件(五、Action处理类)
  • 原文地址:https://www.cnblogs.com/IS2120/p/6745663.html
Copyright © 2011-2022 走看看