编译 ioftpd v7.7.3
来源:互联网 发布:淘宝双十一抽奖在哪里 编辑:程序博客网 时间:2024/05/06 12:31
今天编译了下 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
直接注释了,不知道有无什么影响。
//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.
//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 ,然后挑选感兴趣的看看。
//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 ,然后挑选感兴趣的看看。
0 0
- 编译 ioftpd v7.7.3
- ioftpd 之 tls
- ioftpd read/write 锁实现
- 通用字符串表达式编译运行库FORCAL V7.0 用户指南
- 通用字符串表达式编译运行库FORCAL V7.0 简介
- 通用字符串表达式编译运行库FORCAL V7.0
- android studio 编译失败:appcompat-v7的问题
- 【效率优化】armabi与armabi-v7编译代码效率对比
- 编译的classpath 未加入v4和v7库
- 通用字符串表达式编译运行库FORCAL V7.0 编程指南
- 在win7 64bit + vs2008 + sdk v7.0的环境下编译Detours
- 在win7 64bit + vs2008 + sdk v7.0的环境下编译Detours
- ndk-v7之后就不用cygwin了,eclipse就能编译so
- android-support-v7-appcompat编译时提示android:actionModeShareDrawable属性不存在
- Eclipse中新建工程出现红色感叹号以及appcompat-v7编译错误
- Android Studio新建工程Gradle编译报错(com.android.support:appcompat-v7:16.+)
- android studio编译项目因为V7包版本问题报错的解决办法
- studio升级到2.3后正常编译代码出现找不到V7包
- Python实现分类,包含解释器种类科普
- TCP协议疑难杂症全景解析
- 椭圆参数记录
- 为什么operator>>(istream&, string&)能够安全地读入长度未知的字符串?
- JDK环境变量配置—Ubuntu
- 编译 ioftpd v7.7.3
- C#.net web开发,母版页和内容页加载的顺序
- 2.8.等待多个并发完成
- HDU1116(欧拉回路+并查集)
- 第十一周项目1
- HDU 1850 Being a Good Boy in Spring Festival (Nim游戏变形)
- android.os.NetworkOnMainThreadException 异常
- [编程挑战]交替字符串,仅供参考
- virtual circuit wait等待事件