[mnet-devel] Mnet build questions.

rob kinninmont lists+mnet-devel at evilrob.com
Mon Jun 2 17:44:50 BST 2003


Hi all!

It's me trying to build again! :-)

I've a couple of questions about things I've stumbled over trying to  
build: one on linux, a bsddb3 question, the other on windows, a  
vc++/compiler question.


As a little background, I could've sworn that the last time I had build  
hassles I ended up getting it to work.  Back then, after discussion  
with folks here, and with Jim, I just ran with a snapshot of mnet_new  
from May 12, before a handful of turbulence set in.  For reasons not  
worth delving into now I'd prefer to stick with that snapshot if I can  
figure out how to build it, at least for the time being.

Anyway, on linux, the snapshot I thought worked is giving me this error:

2003-06-03_00:09:32 (DoQ) DoQ caught an exception.  Calling the event's  
errorfun
c: <errorfunc() at DoQ.py:171>
Traceback (most recent call last):
   File "./pyutil/DoQ.py", line 281, in _do_thing
     result = apply(func, args, kwargs)
   File "./mnetlib/scripts/startup.py", line 218, in __init__
     clientversion=clientversion, kbps_in=kbps_in, kbps_out=kbps_out)
   File "./egtp/Node.py", line 54, in __init__
     self.mtm =  
MojoTransaction.MojoTransactionManager(lookupman=lookupman, disco
veryman=discoveryman, datadir=datadir, keyID=nodeId,  
allownonrouteableip=allowno
nrouteableip, clientversion=clientversion, kbps_in=kbps_in,  
kbps_out=kbps_out)
   File "./egtp/MojoTransaction.py", line 272, in __init__
      
self._keeper=counterparties.CounterpartyObjectKeeper(dbparentdir=self._d 
atad
ir, local_id=self.get_id(), recoverdb=True)
   File "./egtp/counterparties.py", line 118, in __init__
     db_env.set_flags(db.DB_TXN_NOSYNC, True)
   File "egtp/CleanLogDb.py", line 43, in set_flags
     return apply(dbobj.DBEnv.set_flags, (self,) + _args, _kwargs)
   File "/usr/lib/python2.2/site-packages/bsddb3/dbobj.py", line 36, in  
set_flags
     return apply(self._cobj.set_data_dir, args, kwargs)
TypeError: set_data_dir() takes exactly 1 argument (2 given)

I poked around in it for a while, and ended up finding what I think was  
the problem:
/usr/lib/python2.2/site-packages/bsddb3/dbobj.py calls set_data_dir  
when it should call set_flags. It looks like it's a bug in bsddb3 v  
3.3.0 (which is quite old) but that's the version that  
mnet_new/setup.py claims is needed

Something doesn't seem to match up here, and I thought I'd better ask  
what the right resolution is, what I'm missing etc. ?


Trying to build on windows (what I'm aiming for at the moment) after  
working around the fact that 'patch' doesn't work, things go fine  
through 'setup.py download'  When I try and build, VC++ barfs on the  
FEC code:

C:\mnet\mnet_new>python setup.py build_ext --inplace
running build_ext
building 'mnetlib.filesystem.fec' extension
C:\Program Files\Microsoft Visual Studio\VC98\BIN\cl.exe /c /nologo /Ox  
/MD /W3 /GX -DGF_BITS=8 -DPYTHON_MODULE -DWIN32 -DGX -DCRYPTOPP_51  
-IC:\Python22\include -Ibuild\crypto51 /Tcmnetlib\filesystem\fec.c  
/Fobuild\temp.win32-2.2\Release\fec.obj fec.c
mnetlib\filesystem\fec.c(159) : error C2054: expected '(' to follow  
'inline'
mnetlib\filesystem\fec.c(160) : error C2085: 'modnn' : not in formal  
parameter list
mnetlib\filesystem\fec.c(160) : error C2143: syntax error : missing ';'  
before '{'
mnetlib\filesystem\fec.c(196) : warning C4013: 'modnn' undefined;  
assuming extern returning int
mnetlib\filesystem\fec.c(239) : warning C4013: 'snprintf' undefined;  
assuming extern returning int
error: command '"C:\Program Files\Microsoft Visual  
Studio\VC98\BIN\cl.exe"' failed with exit status 2

It looks to my rusty C++ eye that the compiler is full of it here, but  
I'd still like to get past it.

I have to admit, I was kind of surprised to see it using VC++, having  
installed all the mingw stuff, but I guess that's a 'feature' of  
python's distutils stuff.  Any advice on how I can fix this and/or how  
it worked for others would be appreciated.

cheers!
rob


--
rob kinninmont

"War doesn't determine who's right. War determines who's left."


-------------------------------------------------------
This SF.net email is sponsored by: eBay
Get office equipment for less on eBay!
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
mnet-devel mailing list
mnet-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mnet-devel




More information about the Mnet-devel mailing list