partysip-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Partysip-dev] loggin problem in win32


From: Zihong Lu
Subject: Re: [Partysip-dev] loggin problem in win32
Date: Wed, 29 Jan 2003 11:40:58 -0800 (PST)

Aymeric and Donovan,

Thanks for your replies.  Just digged into MSDN, this
is what I have found:
(1) debug multithreaded DLL is a DLL, debug
multithreaded is a static lib.  I suspect that when I
compiled partysip.exe, it was linked to a different
version of the multithreaded lib than the lib linked
in osipfsm.dll and osipparser.dll, so caused the
problem;

(2) There should not be necessary to change stricmp to
_stricmp and strnicmp to _strnicmp, they should behave
the same;



-Zihong



--- Donovan Bruce <address@hidden> wrote:
> I think there is an easier way without wholesale
> changes
> to osip. Here is what I had to do to make file
> logging work for me
> (my environment is Windows NT). The changes below
> also eliminated
> what I consider to be a nuisance logging of data
> when there
> is no input traffic.
> 
> The following changes were applied to libosip-0.9.3:
> (look for the initials DAB or /* DAB */to see my
> changes)
> 
> 1) modify  port_misc.c and port.h from
> oSIP-0.9.0/libosip-0.x.x/parser and 
>    oSIP-0.9.0/libosip-0.x.x/osip respectively as
> follows:
>    
>    
> Port_misc.c mod:
> ----------------   
>    
> #if defined(HAVE_STDARG_H) ||
> defined(__VXWORKS_OS__) || defined(WIN32) ||
> defined(_WIN32_WCE)
> osip_trace (char *fi, int li, trace_level_t level,
> FILE * fp/* f becomes fp DAB */, char
> *chfr, ...)
> #else
> osip_trace (fi, li, level, fp/* f becomes fp DAB */,
> chfr, va_list)
>      char *fi;
>      char *li;
>      int level;
>      FILE *fp/* f becomes fp DAB */;
>      char *chfr
> #endif
>      {
>        va_list ap;
>          FILE *f /* new f DAB */;
> 
> #ifdef ENABLE_TRACE
> 
> #if !defined(WIN32) &&
> !defined(SYSTEM_LOGGER_ENABLED)
>        if (logfile == NULL)
>        {                      /* user did not initialize logger.. */
>          return 1;
>        }
> #endif
> 
>        if (fp == NULL) /* f becomes fp DAB */
>                  f = logfile==NULL ? stdout : logfile; /* DAB */
>          else  /* DAB */
>            f = fp; /* DAB */
> 
>  
>  
> port.h mod:
> ----------   
>    int
> #if defined(HAVE_STDARG_H) || defined(WIN32) ||
> defined(__VXWORKS_OS__)
>    
>     osip_trace (char *fi, int li, trace_level_t
> level, FILE * fp/* f becomes fp DAB */,
> char *chfr,
>               ...);
> #else
> /* ERROR? I never tested this */
>     osip_trace (fi, li, level, fp/* f becomes fp DAB
> */, chfr, va_list);
> #endif
>   
> 2) modify  file:  libosip-0.x.x/fsm/port_fifo.c to :
> 
> void *
> fifo_tryget (fifo_t * ff)
> {
>   void *el;
>   int rc; /* DAB */
> #ifdef OSIP_MT
>   if (0 > (rc = ssem_trywait (ff->qisempty)) ||
> rc==EBUSY /* DAB */)
>     {                           /* no elements... */
>       return NULL;
>     }    
>   
>   
>  
>
/******************************************************
>   This step 2) change eliminates the printing of a
> nusiance
>   message when there is no input traffic to process.
> !!!
>  
>
******************************************************/
> 
>  
>
/********************************************************************
>   And this is what I had to do to VC++ to ensure
> correct logging 
>   operation for our mutithreaded app.
>  
>
/********************************************************************
>   
> 3)  set vc++ c++ compiler "code generation" settings
> to   
>     "debug multithreaded dll" for all projects
>     do for both libosip-0.x.x and partysip-0.x.x
> compilations.
>      
> 4)  modify vc++ linker options to add msvcrt.lib in
> the
>     General "object/library modules" line for all
> projects
>     do for both libosip-0.x.x and partysip-0.x.x
> compilations.
>    
> 5)  modify vc++ linker options "output" pane to
> ignore libcmtd.lib in 
>     "ignore libraries" line for all projects. Do for
> both libosip-0.x.x
>     and partysip-0.x.x compilations.
>   
> 6)  compile osipfsm.dll amd osipparser.dll  from
>     libosip.x.x/windows vc++ project files.
>    
> 7)  compile partysip in batch mode. Do rebuild all
>     from loaded plugins.dsw vc++ workspace.
> 
> 8)  copy osipfsm.dll and osipparser.dll files to 
>      the partysip-0.x.x/windows/.libs dir and run
>     app as usual. File logging should now work.
> 
> Regards
> Donovan.
> 
> 
> Aymeric Moizard wrote:
> > 
> > After one complete day of fighting against this
> VC++ crazy
> > and stupid program, I finally made it running
> again.
> > 
> > Here is the process I took:
> > 1: In settings, all projects will use "Debug
> Multithreaded Dll"
> >  instead of "Debug Multithreaded".
> >  If anybody can explain the difference between
> both, I'll appreciate?
> > 
> > 2: Rename all stricmp to _stricmp and strnicmp to
> _strnicmp
> >    in osip and partysip.
> >   I'm too tired to understand why... Some
> explanations are
> >   welcomed.
> > 
> > 3: Uncheck the "use default library" in the link
> settings.
> >   Is'nt msvcrtd.dll a default library when "Debug
> multithreaded"
> >   is selected?
> > 
> > 4: add "msvcrtd.lib" in the list of library used
> for the link.
> > 
> > My own feeling is that there was a link with a
> single threaded
> > library in the program. If anyone knowns why this
> happen and
> > how to be sure to avoid it by some click, I'll
> welcome again
> > some help.
> > 
> > This makes me mad... I'll try to merge the changes
> tomorrow.
> > Aymeric
> > 
> > On Tue, 28 Jan 2003, Zihong Lu wrote:
> > 
> > >
> > > I have downloaded both libosip-0.9.3 and
> > > partysip-0.5.3 source codes, and compiled them
> with
> > > Visual Studio 7 (inside the VS .Net) in windows
> 2000
> > > environment without error (there were some
> warnings
> > > about "could not access code" in source code
> file
> > > port_misc.c). I could start the partysip with
> the
> > > following arguments:
> > >
> > > partysip.exe -d 6 -i -f
> > > c:\partysip-0.5.3\conf\partysip.conf
> > >
> 
=== message truncated ===


__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com




reply via email to

[Prev in Thread] Current Thread [Next in Thread]