Back Midas Rome Roody Rootana
  Root Display GUI, Page 3 of 7  Not logged in ELOG logo
ID Date Author Topic Subject
  112   16 Mar 2006 Matthias SchneebeliBug ReportCompiling under windows
Hi,

when I try to compile roody under windows I get following errors.



c:\roody>nmake -f Makefile.win

Microsoft (R) Program Maintenance Utility, Version 7.00.9466
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

cl /D "OS_WINNT" /GX /GR /Ic:\roody\include /Ic:\roody\..\mxml /IC:\ROOT\include /I. /c /Foobj/Roody.obj src/Roody.cxx
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

Roody.cxx
c:\roody\include\Roody.h(388) : error C2039: 'size_t' : is not a member of 'std'
c:\roody\include\Roody.h(391) : error C2039: 'size_t' : is not a member of 'std'
c:\roody\include\Roody.h(396) : error C2039: 'clear' : is not a member of 'basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
src/Roody.cxx(754) : error C2061: syntax error : identifier 'xml'
src/Roody.cxx(755) : error C2228: left of '.rdstate' must have class/struct/union type
src/Roody.cxx(762) : error C2296: '<<' : illegal, left operand has type 'class std::basic_ofstream<char,struct std::char_traits<char> > &(__cdecl *)(void)'
src/Roody.cxx(762) : error C2297: '<<' : illegal, right operand has type 'char [9]'
src/Roody.cxx(768) : error C2296: '<<' : illegal, left operand has type 'class std::basic_ofstream<char,struct std::char_traits<char> > &(__cdecl *)(void)'
src/Roody.cxx(768) : error C2297: '<<' : illegal, right operand has type 'char [12]'
src/Roody.cxx(769) : error C2296: '<<' : illegal, left operand has type 'class std::basic_ofstream<char,struct std::char_traits<char> > &(__cdecl *)(void)'
src/Roody.cxx(769) : error C2297: '<<' : illegal, right operand has type 'char [11]'
src/Roody.cxx(770) : error C2296: '<<' : illegal, left operand has type 'class std::basic_ofstream<char,struct std::char_traits<char> > &(__cdecl *)(void)'
src/Roody.cxx(770) : error C2297: '<<' : illegal, right operand has type 'char [11]'
src/Roody.cxx(771) : error C2296: '<<' : illegal, left operand has type 'class std::basic_ofstream<char,struct std::char_traits<char> > &(__cdecl *)(void)'
  111   21 Dec 2005 Pierre-André AmaudruzBug Fixmxml
Roody is taking now the ../mxml directory. (Makefile, Makefile.win)
roody image is moved into bin (Makefile).
the local cvs mxml is empty now.
The template export bug fixed (removed export declaration).
  110   19 Dec 2005 Stefan RittBug Fixminor fixes

Konstantin Olchanski wrote:
4) fix an mxml bug imported from MIDAs land (xml output into a string buffer was corrupted).


That bug has already been fixed long time ago. The problem is that the mxml.c file now lives twice in repositories, once in standalone mxml package and once in roody, and they will always diverge if one does not properly apply changes from one repository to the other. Since we use mxml in midas, rome and elog, we use a separate repository "mxml", which you can access through subversion at

http://savannah.psi.ch/websvn/listing.php?repname=mxml&path=%2Ftrunk%2F

I would recommend to do the same for roody. The disadvantage will be that one has to check out two packages to build roody, the advantage will be that there will be only one mxml, and if one fixes/extends this one, it will be to the benefit of all projects. The current one has for example the new mxml_parse_entity function, so that one can make includes in XML files. And I plan to have a fast transparent binary XML cache for large XML files in the near future.

- Stefan
  109   19 Dec 2005 Stefan RittBug Fixminor fixes

Konstantin Olchanski wrote:
Minor fixes that escaped quality assurance by previous commiters


ROODY is again broken under Windows, can someone look into this:

c:\roody\include\Roody.h(364) : error C2143: syntax error : missing ';' before '
'template<''
c:\roody\include\Roody.h(364) : error C2501: 'export' : missing storage-class or
type specifiers
c:\roody\include\Roody.h(397) : error C2143: syntax error : missing ';' before '
'template<''
c:\roody\include\Roody.h(397) : error C2501: 'export' : missing storage-class or
type specifiers
c:\roody\include\Roody.h(397) : error C2086: 'int export' : redefinition
c:\roody\include\Roody.h(364) : see declaration of 'export'
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.

Regards,

Stefan
  108   19 Dec 2005 Konstantin OlchanskiBug Reportreconnect after midas analyzer is restarted?
When I restart the MIDAS analyzer, it looks like ROODY detects that the connection is broken, but does not reestablish it. Can somebody look into this? K.O.
  107   19 Dec 2005 Konstantin OlchanskiBug Fixminor fixes
Minor fixes that escaped quality assurance by previous commiters:
1) remove include/rootsys.h from cvs - it is a generated file
2) have "make clean" remove obsolete stuff from src (src/roody, src/rootsys.h, etc)
3) fix completely nonfunctional enforcement of setting ROOTSYS to the compiled-in value: execv() should have been execvp() (my bug), actually do call setenv("ROOTSYS","blah...") (OS_UNIX was not defined in the Makefile, bug by previous committer).
4) fix an mxml bug imported from MIDAs land (xml output into a string buffer was corrupted).
K.O.
  106   19 Dec 2005 Konstantin OlchanskiReleaseroody directory reorganization and Makefile changes
> 2) the files have been shuffled around

Joe, is there any particular reason why the roody executable is not placed into a
"bin" directory? Just curious. (As one could argue both way: .../bin/roody is more
consistant with MIDAS; .../bin/roody creates a junk directory with only one file
in it).

K.O.
  105   13 Dec 2005 Joe ChumaBug Fixroody graphics pad problems fixed
Problems with deciding which graphics pad to choose for drawing have been fixed.
 Now the group pads (created by choosing draw group from the group context menu)
and the zoom pad (created by choosing zoom option from the pad context menu) are
treated distinctly from the canvases titled "canvasN" for N=0,1,2,...  Also, a
user supplied zone setting will be displayed in the zones menu, and can be
chosen again later.  Problems with the cvs file locks have been repaired (by
P.Amaudruz).
  104   07 Dec 2005 Stefan RittInforoody directory reorganization and Makefile changes
> 1) roody has been converted from libxml2 to mxml
> 2) the files have been shuffled around so the *.cxx, *.cpp files
>    are in the roody/src/ directory, the *.h files are in the
>    roody/include/ directory, the Makefile is in the top roody/
>    directory which is where the roody executable goes while
>    roody.so now goes into the roody/lib/ directory. The mxml
>    files are in roody/mxml.  The *.o files now go into the
>    roody/obj/ directory (which is created by the Makefile if
>    it doesn't exist).
> 3) the Makefile has been redone and simplified, and the windows
>    stuff removed, since the windows version has its own makefile.
> 4) clicking on the Help About menu item now displays a message box
>    with the current version.  For now, the code must be edited
>    manually for each code revision, but it would be nice to automate
>    this. 

Compilation under Windows now works fine, many thanks.

I had however a problem under windows. Your scheme with the rootsys.h file does
not work under windows, since the ROOTSYS variable usually points to something
like c:\root. If I follow your scheme, I get following in rootsys.h

const char* rootsys = "c:\root";

where the "\r" is interpreted as a carriage return. I did not find a clever way to
convert this to 

const char* rootsys = "c:\\root";

in the Makefile, so for windows I just make it empty, like

const char* rootsys = "";

I changed your src/main.cxx to check for an empty rootsys, and if yes just take
the environment variable. I committed that change, I hope it's ok.

There is one small warning left whern running under windows;

C:\roody>bin\roody
Error in <TWinNTSystem::BaseName>: name = 0

Do I have to worry about that?

- Stefan
  103   29 Nov 2005 Joe ChumaReleaseroody directory reorganization and Makefile changes
1) roody has been converted from libxml2 to mxml
2) the files have been shuffled around so the *.cxx, *.cpp files
   are in the roody/src/ directory, the *.h files are in the
   roody/include/ directory, the Makefile is in the top roody/
   directory which is where the roody executable goes while
   roody.so now goes into the roody/lib/ directory. The mxml
   files are in roody/mxml.  The *.o files now go into the
   roody/obj/ directory (which is created by the Makefile if
   it doesn't exist).
3) the Makefile has been redone and simplified, and the windows
   stuff removed, since the windows version has its own makefile.
4) clicking on the Help About menu item now displays a message box
   with the current version.  For now, the code must be edited
   manually for each code revision, but it would be nice to automate
   this. 
  102   21 Nov 2005 Joe ChumaBug FixRoody xml fix
The xml code in Roody has been localized into RoodyXML to allow for future conversion to ROME xml (and a few bugs fixed in the xml code).
  101   27 Oct 2005 Stefan RittBug ReportVarious item when installing ROODY
Hi,

I tried to compile ROODY, and got following problems/issues:

- I see ROODY requires root V3.10.02, ROME requires root >=4, so I will never be able to compile the two packages together with one root installation. Is that true? Since we are already at root 5.04, it might be time to migrate ROODY to newer versions of ROOT...

- The Makefile.win is under roody/, Makefile is under roody/src, not very consistent, there is no "INSTALL" or "COPYING" file which is kind of GNU standard

- I tried to compile ROODY under windows, after having installed root 3.10, but it misses the libxml/ subtree

- For the non-expert users it would be good to supply a windows executable of roody, this way the don't have to bother with compiling

Best regards,

Stefan
  100   05 Jul 2005 Qing GuInfoAffect of different root versions on Roody
After changing ROOT version from root_v4.04.00 to root_v4.04.02, the histograms
don't stay highlighted after clicking, but the top "Roody" bar disappears sometimes.
  99   27 Jun 2005 Joe ChumaBug FixRoody fixes
Error messages from Roody will now appear as TGMsgBox forms which require the
user to click the "Dismiss" button to acknowledge the error message.  If the
user chooses the x-axis scales for an online histogram using the mouse to select
a range on the axis, that range will be used for re-displaying the histogram
when it is refreshed. However, if the user chooses "XaxisLimits" from the
context menu, that x-axis scaling will be used for all pads on that canvas, and
a range as described above will be overridden by this scaling.
  98   01 Jun 2005 Joe ChumaBug Fixmultiple bug fixes
Fixed refreshing of overlayed online histograms.
Fixed refresh now.
main.cxx:  class Roody now created on the stack instead of the heap.
TNetFolder.cpp:  fixed memory leak relating to TMessage pointer
                 returned by TSocket::Recv( TMessage * )
                 ?? is this related to the memory leak in the analyzer ??
  97   04 May 2005 Joe ChumaBug Fixroody bug fixes
1) Memory leak fixed:
 when the plotting destination set to replace, cloned objects with the canvas
 about to be closed are now being deleted first.
2) Group restore fixed:
 when restoring a saved session, and objects from file subdirectories were
 added to a group, they were not being included in that group.  Now the
 data file is searched recursively for subdirectories.
3) Group draw fixed:
 TH2 and TH3 objects in a group were not being drawn.
  96   19 Apr 2005 Konstantin OlchanskiInfocommited: macosx Makefile bits
The Makefile bits for building roody on MacOSX have been commited, tested on
MacOSX 10.3.9 with an unknown version of ROOT. Caveats: there is no support for
linking the roody shared library (volunteers are welcome!); there are warnings
about a double-include of libz when linking "roody" (ignore them). K.O.
  95   12 Apr 2005 Joe ChumaBug Fixmemory leak fix
A memory leak was fixed in Roody.cxx, which occurred when updating a histogram
from a NetFolder object.
  94   12 Apr 2005 Joe ChumaBug Fixmodified reset option implementation
The reset option has been modified to use the new "Command" option in mana.c
instead of the "Reset" option in mana.c, which has been removed.
  93   31 Mar 2005 Stefan RittBug Fixreset online histograms
> Roody can now reset online histograms via context menu or main menu.  This
> requires a small change in mana.c  Also, fixed a problem with segmentation
> faults when trying to connect to an invalid server port.

I saw that you implemented a "Reset" function in root_server_thread. This is not
necessary. You have the more general "Command" function which was meant for that.
You specify the object name, type, method to execute and optional arguments. Right
now, only the "Reset" command is implemented, but that's what you need. Can you
check if roody works with that? If so, can you remove the "Reset" function again ? 

Thanks,

  Stefan
ELOG V3.1.4-2e1708b5