RE: ACLIC in winxp

From: Philippe Canal <pcanal_at_fnal.gov>
Date: Fri, 18 Feb 2005 10:11:03 -0600

Hi Balint,

Note both the '(System->Advanced->Env.Vars)' method and the method I described works.
The '(System->Advanced->Env.Vars)' method is indeed better if you have only one microsoft compiler installed. The 2nd method is better if you have more than one version installed (VC6 and VC7.1 for example). My explanation was mainly trying answer your question:
> Now, everything works fine, but the question is still there: Why doesn't
> that vcvars32.bat file set the env.vars?
and more specifically, vcvars32 does NOT set then env.vars because it is intended to be
a transient setting. If you had wanted to set the 'env.vars' Microsoft expects you do have them set during the installation of the compiler.

Cheers,
Philippe.

-----Original Message-----
From: Balint Radics [mailto:radbal_at_pegazus.phys.klte.hu] Sent: Friday, February 18, 2005 10:07 AM To: Philippe Canal
Cc: 'Olivier Couet'; roottalk_at_pcroot.cern.ch Subject: RE: [ROOT] ACLIC in winxp

Thanx, I'll do that, but if the thing works in the other way as I wrote it (System->Advanced->Env.Vars) then why do I have to do it in this way for only one session? Because now it works for all sessions without running vcvars32.bat command before root.exe. So, it is strange for me.

But thanx!

Balint

On Fri, 18 Feb 2005, Philippe Canal wrote:

> Hi Balint,
>
> When using vcvars32.bat you __have to__ run it in the same shell session
as
> ROOT.
> I.e. you can not double click in vcvars32.bat, you have to start a shell
> (either
> cygwin's bash or windows' cmd.exe) and type vcvars32.bat and then type
root
> (in
> the same window).
>
> Cheers,
> Philippe.
>
> -----Original Message-----
> Sent: Friday, February 18, 2005 5:29 AM
> To: Philippe Canal
> Cc: 'Olivier Couet'; roottalk_at_pcroot.cern.ch
> Subject: RE: [ROOT] ACLIC in winxp
>
>
> Hi,
>
> So, it works now! Let me tell you what I did for it.
>
> First of all I had a good feeling that I shouldn't use the newest Root
> 4.03/02 so I installed the 3.04/02, because it affors itself with VC++ 6.0
> which I possess. The 4.03/02 recommends usage with VC++ 7.0. At least I
> clearly used those versions that match.
>
> After this I got the same error messages that I had got before. Well, that

> was the point when I started to suspect that something must be really
> wrong with the vcvars32.bat file. I checked it again, but every env.var.
> was set to those paths where the ACLIC didn't find the necessary files.
> Okay, I went to System->Advanced->Env.Var. and put there the same
> Env.Vars that should have been set by the vcvars32.bat file, but which -
> for some reason that I don't know - didn't work.
>
> Now, everything works fine, but the question is still there: Why doesn't
> that vcvars32.bat file set the env.vars?
>
> Cheers and Thanks to everyone for Your help! :)
>
> Balint
>
> On Thu, 17 Feb 2005, Philippe Canal wrote:
>
> > Hi,
> >
> > Most likely you have not set all the Microsoft related environment
> variables
> > (in particular probably not the INCLUDE). Make sure you look carefully
at
> > vcvars32.bat
> >
> > Cheers,
> > Philippe.
> >
> > -----Original Message-----
> > Sent: Thursday, February 17, 2005 11:23 AM
> > To: Philippe Canal
> > Cc: 'Olivier Couet'; roottalk_at_pcroot.cern.ch
> > Subject: RE: [ROOT] ACLIC in winxp
> >
> >
> > Thanx.
> > Now, I checked the env.variables again. Now the ACLIC says:
> >
> > root [0] .L egy.cxx+
> > Info in <TWinNTSystem::ACLiC>: creating shared library
> > C:\root\macros\egy_cxx.dll
> > 2246846_cint.cxx
> > s1os_.cxx
> > C:\root\macros\s1os_.h(10) : fatal error C1083: Cannot open include
file:
> > 'stddef.h': No such file or directory
> > Error in <ACLiC>: Compilation failed!
> >
> >
> > Now, it seems better! It could call the C++ compiler c1. Well, there is
> > still some problem...
> >
> > Balint
> >
> >
> > On Thu, 17 Feb 2005, Philippe Canal wrote:
> >
> > > Hi,
> > >
> > > ACLiC calls the compiler. 'cl' is the name of the executable for
> > > Microsoft's C++ compiler.
> > > In order for this to work correctly you need to have cl.exe in a
> directory
> > > in your PATH.
> > > Microsoft provides a script usually name vcvars32.bat to set the
proper
> > > variable for the compiler.
> > >
> > > Cheers,
> > > Philippe.
> > >
> > > -----Original Message-----
> > > From: owner-roottalk_at_pcroot.cern.ch
> [mailto:owner-roottalk_at_pcroot.cern.ch]
> > > On Behalf Of Balint Radics
> > > Sent: Thursday, February 17, 2005 8:04 AM
> > > To: Olivier Couet
> > > Cc: roottalk_at_pcroot.cern.ch
> > > Subject: Re: [ROOT] ACLIC in winxp
> > >
> > >
> > > I changed the install directory to another one with no spaces. No it
> sais:
> > >
> > > root [0] .L pl.C+
> > > Info in <TWinNTSystem::ACLiC>: creating shared library
> > > E:\ROOT\macros\pl_C.dll
> > > 'cl' is not recognized as an internal or external command,
> > > operable program or batch file.
> > > 'cl' is not recognized as an internal or external command,
> > > operable program or batch file.
> > > 'cl' is not recognized as an internal or external command,
> > > operable program or batch file.
> > > 'cl' is not recognized as an internal or external command,
> > > operable program or batch file.
> > > 'cl' is not recognized as an internal or external command,
> > > operable program or batch file.
> > > Error in <ACLiC>: Compilation failed!
> > >
> > > How can I check inside the CINT how my environment variables are set?
> > > This is Qt Root but the whole thing should be the same, I mean the
> > > env.variables, the same as in the case of Root under cygwin. In this
> case
> > > (Qt Root) I can set them through the Control Panel->System->Advanced->
> > > ->Env.Variables and there is the system.rootrc file
> > > in the \$ROOTSYS/etc also. I don't understand what the error message
> > > either:"cl is not recognized ... etc.". What is c1?
> > >
> > > Balint
> > >
> > >
> > >
> > > On Thu, 17 Feb 2005, Olivier Couet wrote:
> > >
> > > >
> > > > Hi,
> > > >
> > > > I have tried your little example on both linux and XP with root
> 4.03/02
> >
> > > > and for me it works fine. Are your environment variables ROOTSYS etc
> ...
> >
> > > > defined correctly ?
> > > > I am not sure if the spaces in the path might be or not a problem.
In
> my
> >
> > > > case I am using ROOT on XP in the cygwin environment and the PATH is

> > > > /home/Administrator/roottest (no spaces).
> > > >
> > > > Cheers, Olivier
> > > >
> > > > On Thu, 17 Feb 2005, Balint Radics wrote:
> > > >
> > > > >
> > > > > Hi,
> > > > >
> > > > > I wrote a code that uses only TFile and TH1F calsses:
> > > > >
> > > > > #include <TFile.h>
> > > > > #include <TH1F.h>
> > > > >
> > > > > void pl(){
> > > > > TFile * f = new TFile("file.root", "recreate");
> > > > > TH1F * h = new TH1F("h","h",100,0,100);
> > > > > for(int i = 0; i < 100; i++){
> > > > > h->SetBinContent(i,i);
> > > > > }
> > > > > f->Write();
> > > > > }
> > > > >
> > > > > I tried to compile it, but I got this error message from ACLIC in
> > CINT:
> > > > >
> > > > > root [0] .L pl.C++
> > > > > Info in <TWinNTSystem::ACLiC>: creating shared library C:\Program
> > > Files\BNL\ROOT
> > > > > \macros\pl_C.dll
> > > > > Error: rootcint: The input list file C:\Program.in does not exist
> > > > > Error in <ACLiC>: Dictionary generation failed!
> > > > > Info in <ACLiC>: Invoking compiler to check macro's validity
> > > > > 'cl' is not recognized as an internal or external command,
> > > > > operable program or batch file.
> > > > >
> > > > > What's wrong in here? Maybe the " " space in the 'Program Files'
> > > > > directory?
> > > > >
> > > > > Balint
> > > > >
> > > > >
> > > >
> > > > --
> > > > Org: CERN - European Laboratory for Particle Physics.
> > > > Mail: 1211 Geneve 23 - Switzerland Mailbox:
> J25910
> > >
> > > > E-Mail: Olivier.Couet_at_cern.ch Phone:
+41
> 22
> > > 7676522
> > > > WWW: http://cern.ch/Olivier.Couet/ Fax:
+41
> 22
> > > 7670300
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Received on Fri Feb 18 2005 - 17:13:07 MET

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:05 MET