RE: Shall we not use ROOT in cygwin at all ?

From: Fine, Valeri <fine_at_bnl.gov>
Date: Wed, 24 Jun 2009 17:12:47 -0400


Hello

> On the other hand, this may simply because I don't know some
> setups to overcome all these barriers?

Yes, It is the proper setup issues.

> can also use mouse to copy any text into the root prompt.

  1. By some "mystic" reason the Windows (from Microsoft) console "copy/paste" functions are switched off "by default". You can change that default for each your console window separately. However, it is much better to change the global default. What you need to set is called the "QuickEdit" flag. The "QuickEdit" 1 is that magic wang to turn the copy /paste functionality You can find this "QuickEdit" checkbox in your "Console Menu". see http://support.microsoft.com/kb/105674 also.

   So you can do that in a fraction of second with no extra software,...

However, I would advice you to install, the 3d party small "Windows Console" application (for example
http://sourceforge.net/projects/console ) to replace the MS default.

The QuickEdit flag (!!!) gives you copy/paste functionality. (it seems to me "QuickEdit was made as the default on Window Vista ;-)

> For the VC++ version, one need to use mouse to click on the ROOT icon
> everytime to run a macro and need to type in the full path before the
> macro name in order to run it.

That has nothing do to with VC++ either.

It is the way YOU (;-) choose to start the ROOT. You choose to start ROOT and you choose to CLOSE the console as soon as application is finished.

I do agree it is not convenient.

The STAR ROOT distribution for Win32 does not close the console and leave it open.
You can do the same. You should add one extra flag to your startup script.
I've attached to scripts which we use at STAR on Windows platform for last 9 years.
The scripts set the environment variables and launch the ROOT with shell command:

start "ROOT 5.20 " %ComSpec% /k "%ROOTSYS%\bin\root.exe" %1 %2 53 %4 %5 %6 %7 %8 %9

Please find the "help" for the Windows command "Start" and "cmd" below

" . . .
C:\Documents and Settings\Fine>help start Starts a separate window to run a specified program or command.

START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/WAIT] [/B] [command/program]
      [parameters]
      . . . .

"

C:\Documents and Settings\Fine>help cmd
Starts a new instance of the Windows XP command interpreter

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] string]

/C      Carries out the command specified by string and then terminates
/K      Carries out the command specified by string but remains

" . ..

 The script uses the option "K" to " Carry out the command specified by string but remain . . "
 This is what you want.  

 I would like to call your attention to the fact that neither thing above
 has anything to do with Visual C compiler. and it is not part of Cygwin.

Hope this clear things
  My best regards, Valeri    

>
> Fine, Valeri wrote:
> >> That clarify the situation a lot. On the other hand, using ROOT
> >> directly in cygwin is really convenient.
> >
> > Could you clarify your last statement?
> >
> > I think one has to distinguish two separate things
> >
> > - Shell environment the application is launched with at run-time
> > - C++ compiler that is used to compile the code.
> >
> > One can see ROOT DOES use the CYGWIN env with Visual C++ Compiler to
> > build ROOT itself.
> >
> > That combination (cygwin + VC++) can be used for any other
ROOT-based
> > applications as well right now. There is no obstacle.
> >
> > Your "cygwin is really convenient" implies that you see some
advantage
> > of the hypothetical ( cygwin + gcc ) combo vs the current ( cygwin
+
> > VC++)
> >
> > Can you say which one? Why do you think the ( cygwin + gcc )
> > combination is more convenient enough to justify an extra manpower
> > needed to support it?
> >
> >
> >> I guess the following question is for cygwin team:
> >> is there a future plan that to get the cygwin/gcc
> >> performance improved?
> >
> > I think it is not correct address.
> >
> > On one hand, yes, everything can be improved. On the other hand, one
> > really have to distinguish things.
> >
> > There are TWO essential components contributing to the end-user
> > application performance (as soon as "cygwin+ gcc" is concern)
> >
> > 1. The quality of the gcc compiler. Since there is no special
> > "cygwin" C++ compiler, you should address this issue to the GCC
compiler
> > team rather to the "cygwin". Cygwin is not "responsible" for the
code
> > generation quality that the "gcc compiler" does.
> >
> >
> > 2. The other factor is the posix env on the TOP of the native
> > Win32/Win64 the application LINKED against of the cygwin provided
> > run-time libraries are to run with. The extra "posix" layer between
the
> > application and Win32 environment does consume some performance.
That
> > consumption cannot be ZERO. This is what you pay for. You pay for
the
> > "posix" run-time environment.
> >
> > The only way to avoid it is not LINK your gcc compiled code against
of
> > the cygwin provided run-time libraries and use the native Win32 env
> > directly. Several such kinds of combinations do exist in the wild
too.
> > For example, MinGW (see http://www.mingw.org/ ).
> >
> >
> > Can you be more concrete?
> > What do you think is NOT convenient with the existing ROOT
> > distributions?
> > What did it miss?
> >
> > Thank you
> >
> > Best Regards
> > Valeri Fine
> > ---------------
> > Brookhaven National Laboratory
> > Upton, NY 11973, USA
> > Phone: +1 631 344 7806
> > Fax: +1 631 344 4206
> > E-mail: fine_at_bnl.gov
> >
> >> Axel Naumann wrote:
> >>> Hi Wei,
> >>>
> >>> I clarified the message a bit on the latest dev download page (it
> > might
> >>> get changed again within the next minutes :-):
> >>>
> >>> "Note that the performance of cygwin/gcc binaries is currently
very
> >>> poor; we only provide this build as an unsupported toy. We
strongly
> >>> recommend to use the version above compiled with VC++."
> >>>
> >>> This should clarify why we recommend you and others not to use it:
> > the
> >>> performance is absolutely incomparable to MSVC builds. We also
don't
> >>> test ROOT on cygwin as thoroughly as on the other platforms. So
it's
> >>> really at your own risk, don't blame us if you hate it :-)
> >>>
> >>> Cheers, Axel.
> >>>
> >>> Wei Xie wrote on 06/24/2009 06:33 PM:
> >>>> In the following message, I mean "..we should NOT trust any ..."?
> >>>>
> >>>> Wei Xie wrote:
> >>>>> In the ROOT download website, there is the following note:
> >>>>> --------------------------------------
> >>>>> "Note that cygwin/gcc is currently in a very poor status. We
> > strongly
> >>>>> recommend to use the win32gdk version above compiled with
VC++7.1.
> >>>>> The ROOT team will not answer any messages related to problems
> > with
> >>>>> the win32gcc version. "
> >>>>> --------------------------------------
> >>>>>
> >>>>> Since we are using ROOT to do data analysis, does above note
mean
> >>>>> that we should trust any analysis that's done using ROOT in
> > cygwin?
> >>>>> Thanks
> >>>>> --Wei
> >>>>>
> >>>>
> >
>
>
> --
> Dept. of Physics, Purdue Univ.
> 525 Northwestern Ave., West Lafayette, IN 47907
>
> http://www.physics.purdue.edu/people/faculty/wxie.shtml
> Tel: 765-494-8743, Fax: 765-494-0706
> _______________________________________________________

Received on Wed Jun 24 2009 - 23:13:34 CEST

This archive was generated by hypermail 2.2.0 : Thu Jun 25 2009 - 05:50:03 CEST