RE: [ROOT] Problem with TString

From: ANCIANT E. (eric_anciant@sodern.fr)
Date: Mon Jan 12 2004 - 10:49:03 MET


Hello RenÚ,

I 've read F. X. Gentit page, (which will be very helpfull for me when I
will reach the point of 
generating a dictionnary ...)

concerning TString.exe, I ported it into Visual and obtained compilation
options close to the one you've said :

--------------------Configuration: tstring - Win32
Release--------------------
Compiling...
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
cl /G5 /MD /W3 /GR /GX /O2 /I "p:\root_v3.10.02.win32gdk_Debug/include" /D
"WIN32" /D "_WINDOWS" /D "VISUAL_CPLUSPLUS" /D _X86_=1 /D "_DLL"
/Fo"Release/" /c 
   "P:\APS_Local\test\tstring.cxx"
tstring.cxx
Linking...
Microsoft (R) Incremental Linker Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
p:\root_v3.10.02.win32gdk_Debug\lib\*.lib /subsystem:console /incremental:no
"/pdb:Release/tstring.pdb" /mac
hine:I386 "/out:Release/tstring.exe" 
.\Release\tstring.obj 

tstring.exe - 0 error(s), 0 warning(s)

RMQ:
- I removed libNew.lib (.exp, ..) from the $(ROOTSYS)/lib directory
- I have the libraries "msfrt40.dll msvcr70.dll msvcp70.dll msvci70.dll
dformd.dll" present in a directory pointed to by my (user) path environement
variable
(I am confident this is OK, since before doing this visual was complaining
about those libraries missing when I was trying to launch root-linked
executables ..)

but it still crashes ...

when compiled in the debug configuration, it crashes when reaches the first
cout << ; instance

I will investigate compilation through cygwin...

regards,

eric


PS : VISUAL configuration :

MENU C++ :

General :
-Warning : ROOT recommends 1  ( > 1 possible)
-optimization : ROOT recommends "maximize speed" (-O2) , "disable" works
(-Od ) for Debug

C++ language :
-Pointer representation method : best case always
-ON : Enable exception handling (-GX ), Enable Run-Time type Info (-GR)
-OFF : others (Disable construct displacement)

Code generation :
- calling convention : __cdecl  ( no option )
- processor : pentiun ( -G5 )
- Run time library : Root recommends "Multithread DLL" ( option -MD ),
"DEbug Multithread DLL" works ( -MDd ) for debug

Customize :
-ON : "suppress start up banner" : ( option -nologo ) : HOWEVER usefull to
remove it in order to see compilation comands !
-OFF : all others

Listing file :
Not relevent

OPtimization :
Root recomends :
-Maximize speed (-O2) + Inline function expansion = only __inline (no
option)
Also possible : disable for debug  (-Od) + inline function expansion disable
(no option)

Precompiled Headers:
No influence on compilation seen so far...

> -----Message d'origine-----
> De:	Rene Brun [SMTP:Rene.Brun@cern.ch]
> Date:	lundi 12 janvier 2004 08:37
> └:	ANCIANT E.
> Cc:	'Martijn Schellekens'; roottalk@pcroot.cern.ch
> Objet:	Re: [ROOT] Problem with TString
> 
> Hi Eric,
> 
> As indicated in our installation procedure, our Makefiles under Windows
> assume the CYGWIN environment. Valery Onuchin is working on an
> automaticatic generation of a Visual Studio project from our CVS, but
> this still requires some work.
> You can also see the discussion at the F.X.Gentit page at:
> http://www.slac.stanford.edu/~gentit/
> 
> Rene Brun
> 
> "ANCIANT E." wrote:
> > 
> > Hello RenÚ,
> > 
> > In fact I was using the "makefile.win32" file to compile from a console
> (and
> > this is probably the source of my problem) because
> > the Makefile file did not work (see trace below ), now I am wondering If
> I
> > should not have imported the WIN32.mak file into VC6
> > instead (which I don't know how to do ..)
> > ... next step is to manage to get the correct options from within visual
> ...
> > 
> > cheers,
> > 
> > eric
> > 
> > P:\APS_Local\test>nmake clean
> > 
> > Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
> > Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
> > 
> > Makefile.arch(8) : fatal error U1033: syntax error : '=' unexpected
> > Stop.
> > 
> > P:\APS_Local\test>nmake /f makefile.win32 clean
> > 
> > Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
> > Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
> > 
> > P:\APS_Local\test>nmake tstring.exe
> > 
> > Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
> > Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
> > 
> > Makefile.arch(8) : fatal error U1033: syntax error : '=' unexpected
> > Stop.
> > 
> > P:\APS_Local\test>nmake /f makefile.win32 tstring.exe
> > 
> > Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
> > Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
> > 
> >         cl -DWIN32  -D_WIN32 -D_MT -D_DLL -MD -EHsc  -nologo -G5 -GR -MD
> > -DWIN32
> >   -DVISUAL_CPLUSPLUS -D_WINDOWS
> -Ip:\root_v3.10.02.win32gdk_Debug/include
> > -O2 -c
> >  tstring.cxx
> > tstring.cxx
> >         link -opt:ref /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE
> > /NOLOGO -
> > subsystem:console,4.0 -nologo tstring.obj
> > p:\root_v3.10.02.win32gdk_Debug/lib/li
> > bCore.lib  p:\root_v3.10.02.win32gdk_Debug/lib/libCint.lib
> > p:\root_v3.10.02.win3
> > 2gdk_Debug/lib/libHist.lib
> p:\root_v3.10.02.win32gdk_Debug/lib/libGraf.lib
> > p:\r
> > oot_v3.10.02.win32gdk_Debug/lib/libGraf3d.lib
> > p:\root_v3.10.02.win32gdk_Debug/l
> > ib/libGpad.lib p:\root_v3.10.02.win32gdk_Debug/lib/libTree.lib
> > p:\root_v3.10.02
> > .win32gdk_Debug/lib/libRint.lib
> > p:\root_v3.10.02.win32gdk_Debug/lib/libPostscrip
> > t.lib  p:\root_v3.10.02.win32gdk_Debug/lib/libMatrix.lib
> > p:\root_v3.10.02.win32g
> > dk_Debug/lib/libPhysics.lib msvcrt.lib oldnames.lib kernel32.lib
> ws2_32.lib
> > msw
> > sock.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib
> > MSVCPRT.LIB
> >  -out:tstring.exe
> > "tstring.exe done"
> > 
> > > -----Message d'origine-----
> > > De:   Rene Brun [SMTP:Rene.Brun@cern.ch]
> > > Date: vendredi 9 janvier 2004 16:17
> > > └:    ANCIANT E.
> > > Cc:   'Martijn Schellekens'; roottalk@pcroot.cern.ch
> > > Objet:        Re: [ROOT] Problem with TString
> > >
> > > Hi Erik,
> > >
> > > You are using the wrong compilation options. Try to build tstring.exe
> > > with the standard makefile in $ROOTSYS/test. The result of the build
> > > will be:
> > >
> > > make
> > > cl -O2 -G5 -GR -GX -MD -DWIN32 -D_WINDOWS -nologo -DVISUAL_CPLUSPLUS
> > > -D_X86_=1
> > > -D_DLL -MD -I'C:\cygwin\home\brun\rootgdk
> > > \root\include' -c tstring.cxx
> > > tstring.cxx
> > > link -opt:ref -pdb:none -nologo tstring.obj
> > > 'C:\cygwin\home\brun\rootgdk\root\lib\libCore.lib'
> > > 'C:\cygwin\home\brun\root
> > > gdk\root\lib\libCint.lib'
> > > 'C:\cygwin\home\brun\rootgdk\root\lib\libHist.lib'
> > > 'C:\cygwin\home\brun\rootgdk\root\lib\libGr
> > > af.lib' 'C:\cygwin\home\brun\rootgdk\root\lib\libGraf3d.lib'
> > > 'C:\cygwin\home\brun\rootgdk\root\lib\libGpad.lib' 'C:\cygw
> > > in\home\brun\rootgdk\root\lib\libTree.lib'
> > > 'C:\cygwin\home\brun\rootgdk\root\lib\libRint.lib'
> > > 'C:\cygwin\home\brun\rootg
> > > dk\root\lib\libPostscript.lib'
> > > 'C:\cygwin\home\brun\rootgdk\root\lib\libMatrix.lib'
> > > 'C:\cygwin\home\brun\rootgdk\root\li
> > > b\libPhysics.lib'  -out:tstring.exe
> > >
> > >
> > > Also read carefully our notice concerning the Windows distribution at
> the
> > > bottom
> > > of the page: http://root.cern.ch/root/Version310.html
> > >
> > > If you work with the old MS VC++^ compiler, you may have to download
> > > a few DLLs.
> > >
> > > Rene Brun
> > > "ANCIANT E." wrote:
> > > >
> > > > I don't know if this is linked, but also with ROOT 3.10/02 WIN2K GDK
> > > (visual
> > > > 6 with a newly installed service pack 5 :-) )
> > > > test/TString.exe crashes
> > > >
> > > > (compilation does not show anything wrong :
> > > >  cl -DWIN32  -D_WIN32 -D_MT -D_DLL -MD -EHsc  -nologo -G5 -GR -MD
> > > -DWIN32
> > > > -DVISUAL_CPLUSPLUS -D_WINDOWS
> -Ip:\root_v3.10.02.win32gdk_Debug/include
> > > -O2
> > > > -c tstring.cxx
> > > > tstring.cxx
> > > >         link -opt:ref /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE
> /RELEASE
> > > > /NOLOGO -subsystem:console,4.0 -nologo tstring.obj
> > > > p:\root_v3.10.02.win32gdk_Debug/lib/libCore.lib
> > > > p:\root_v3.10.02.win32gdk_Debug/lib/libCint.lib
> p:\root_v3.10.02.win3
> > > > 2gdk_Debug/lib/libHist.lib
> > > p:\root_v3.10.02.win32gdk_Debug/lib/libGraf.lib
> > > > p:\root_v3.10.02.win32gdk_Debug/lib/libGraf3d.lib
> > > > p:\root_v3.10.02.win32gdk_Debug/l
> > > > ib/libGpad.lib p:\root_v3.10.02.win32gdk_Debug/lib/libTree.lib
> > > > p:\root_v3.10.02.win32gdk_Debug/lib/libRint.lib
> > > > p:\root_v3.10.02.win32gdk_Debug/lib/libPostscrip
> > > > t.lib  p:\root_v3.10.02.win32gdk_Debug/lib/libMatrix.lib
> > > > p:\root_v3.10.02.win32gdk_Debug/lib/libPhysics.lib msvcrt.lib
> > > oldnames.lib
> > > > kernel32.lib  ws2_32.lib msw
> > > > sock.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib
> > > > MSVCPRT.LIB -out:tstring.exe
> > > > "tstring.exe done"
> > > >
> > > > )
> > > >
> > > > but executing it results in an access violation
> > > >
> > > > eric
> > > >
> > > > > -----Message d'origine-----
> > > > > De:   Martijn Schellekens
> [SMTP:Martijn.Schellekens@iota.u-psud.fr]
> > > > > Date: vendredi 9 janvier 2004 10:25
> > > > > └:    roottalk@pcroot.cern.ch
> > > > > Objet:        [ROOT] Problem with TString
> > > > >
> > > > > Hi Rooters,
> > > > >
> > > > > I just wanted to report a problem with TString in the latest
> version:
> > > > > windows gdk 3.10/2
> > > > >
> > > > >  >TString hello("hello you")
> > > > >  >hello
> > > > > (class TString) ""
> > > > >
> > > > > whereas the result should have been off course
> > > > > (class TString) "hello you"
> > > > >
> > > > > Generally speaking TString can not be given any content
> > > > > Hence hello.Append(" there") results in the same void string
> > > > >
> > > > > This version has been used under windows XP pro, running in a
> vmware
> > > > > workstation.
> > > > > Other objects seemed to work yet I have not done extensive
> testing.
> > > > >
> > > > > Thanks and bye,
> > > > >
> > > > > Martijn Schellekens



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:05 MET