PDA

View Full Version : Compiling ioFTPD


Yil
02-23-2007, 11:16 AM
Since progress on ioFTPD has stalled I decided for kicks to grab the 5.8.5 publicly available sources and go fix the 4k bug and a timestamp bug. I found the bugs really quickly and decided to compile the code, prove it was doing what I thought it was, and then try to fix them. The problem of course is that I stupidly expected the 5.8.5 sources they released to actually compile...

janalcrew over in the programming forum here noted the same issue. The file module.h is missing.

Now, in an attempt to lookup what I thought was a bug in an itcl function I noticed I couldn't find any reference to iputs, mountfile, etc anywhere in the released sources. Thus unless module.h includes this stuff there probably isn't enough of the tcl bindings to get ioFTPD running with tcl. I'm assuming the src/event/tcl directory shouldn't be empty...

Needless to say, I'm disappointed but not surprised. All I'm looking for are a few files... pretty please :)

-Yil

Flow
02-24-2007, 06:55 AM
Have you tried hooking up with _panic_ or NeoXed ?. I believe they are on the developing team. Would be great if you get this project going abit. :)

Here are some related links: http://www.inicom.net/forum/showthread.php?t=12114
and;

http://www.inicom.net/forum/showthread.php?t=12239

Can anyone give NeoXed or _panic_ a note to this msg if you see them alive on iRC. Thanks

neoxed
02-24-2007, 11:50 AM
Always include the full and exact error message. Do not try and shorten it or briefly describe it, because 99% of the people don't understand error messages in the first place.

There is no "module.h" in the 0.5.x nor is there any reference to a file of that name (try grepping the source tree). I have no idea what you've done at this point.

E:\Projects\ioFTPD\0.5.x>grep -i -R module\.h * | wc -l
0

neoxed
02-24-2007, 11:54 AM
After reading your post again, you seem to be confused.

Now, in an attempt to lookup what I thought was a bug in an itcl function I noticed I couldn't find any reference to iputs, mountfile, etc anywhere in the released sources. Thus unless module.h includes this stuff there probably isn't enough of the tcl bindings to get ioFTPD running with tcl.That's because there are no script event handlers written for the trunk version, so you won't find anything like that.

I'm assuming the src/event/tcl directory shouldn't be empty...

If there is a "src/event/tcl" directory, you are NOT working on the 0.5.x source. That is the trunk version of ioFTPD, aka the ground-up rewrite that is far from finished.

0.5.x source -> https://svn.sourceforge.net/svnroot/ioftpd/branches/0.5.x
rewritten source -> https://svn.sourceforge.net/svnroot/ioftpd/trunk

Yil
02-26-2007, 01:18 AM
Initial success! After some configuration and compilation trial and error I think I've got the magic sauce now to get ioftpd to compile.

1) I've upgraded tcl to latest stable and php to latest of v4 lineage (I don't use it, so not sure what might break script wise if upgraded to v5+).

2) I can login using SSL, and transfer files over SSL.

3) I've got tcl and exec scripts working (don't use php but it probably works too). Most notably ioGUI using itcl. I might be mistaken but I don't think anyone has made this much progress in a long long LONG time. I don't remember anyone saying that 5.8.6+ could survive running the tcl version of ioGUI which is what I'm using. So I think this is looking good.

4) Of course just when I thought all was good "site shutdown" appears to have some bugs in it that for some reason are surfacing now. Examine the logfile after you issue a site shutdown and you don't get a user logout message. You should though, that message is in fact stuck trying to get written to the logfile and is crashing ioftpd. I've already fixed 2-3 bugs trying to find what was going on and now I sorta think I have an idea but not sure what's the best solution as I'm not really very familiar with the job system yet.

Anyway, just wanted to report that it has life. Hopefully soon I'll put out a new version :) Doh! I think I just cursed myself...

-Yil

Flow
02-26-2007, 09:27 AM
Dear Yil

Please dont be shy SHOUT it out loud when you got a new ver coming :), cant wait

wiiiiiiiiii

SkOnK
03-19-2007, 05:06 PM
which tcl version do i need to build ioFTPD ? plz

Yil
03-19-2007, 11:23 PM
I'm using the lastest build tcl-8.4.14 though probably any should work.

Make sure you build it with thread support from tcl/win I used:
nmake -nologo -f makefile.vc release OPTS=threads

When using VS2005 there was NO combination of makefile OPTS= flags that would build a tcl without the msvcr80.dll dependency even though it was clearly designed to TRY to do this based on the range of options documented in the makefile. I ended up just changing -MD to -MT in makefile.vc manually and then building it. You may also want to build debug versions for testing.

You'll also need PHP so to save a question... I'm using php-4.4.5 and be careful of the time.h header file in the php dir. I ended up building php then nuking it since ioFTPD didn't want that specific file but does include other files from the php include dir and that means the system time.h was being masked. Obviously there are many other possible solutions :)