RE: [ROOT] ACLic error on Windows/XP

From: Faine, Valeri (fine@bnl.gov)
Date: Tue Dec 17 2002 - 21:18:49 MET


> 
> Hi Valeri,
> 
> I __was__ rellying on the OS to do something sensible when using
tmpnam.
> However, windows does NOT.
[Valeri Fine] 

Hmmm. As far as I may concern both kind of the platforms in question
provide the consistent implementation of the function called "tempnam".

For example see $ROOTSYS/cint/src/loadfile.c: 2264: G__tmpnam(name)
This G__tmpnam(name) function is a part of the ROOT official
distribution.

Microsoft doc says:
" . . .
tmpnam returns a name unique in the current working directory and
_tempnam lets you generate a unique name in a directory other than the
current
. . . "

Why did you select the non-portable "tmpnam" rather "more" 
portable "tempnam"?

For example see $ROOTSYS/cint/src/loadfile.c: 2264: G__tmpnam(name)


> The behavior has now be changed so that temporary files are now save
in
> the
> same location as the directory where the library is being built.

[Valeri Fine] 
I think the best solution for Windows OS is to keep the temporary files
in the temporary directories. These directories are to be clean by OS
(Windows) 
time by time automatically to avoid the disk space memory leak.

  Cheers, Valeri

> Cheers,
> Philippe
> 
> -----Original Message-----
> From: owner-roottalk@pcroot.cern.ch
> [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Faine, Valeri
> Sent: Tuesday, December 17, 2002 12:10 PM
> To: roottalk@pcroot.cern.ch
> Cc: machefer@lal.in2p3.fr
> Subject: RE: [ROOT] ACLic error on Windows/XP
> 
> 
> Hi Philippe,
> I don't think it is a good idea to allow the user application to write
> to the root directory of the system disk. The user simply may not have
> granted any write access there.
> 
> I think it should write to the temporary directory of the current user
> instead.
> 
>   Thank you, Valeri
> 
> 
> > -----Original Message-----
> > From: owner-roottalk@pcroot.cern.ch
> [mailto:owner-roottalk@pcroot.cern.ch]
> > On Behalf Of Philippe Canal
> > Sent: Tuesday, December 17, 2002 1:49 AM
> > To: roottalk@pcroot.cern.ch
> > Cc: machefer@lal.in2p3.fr
> > Subject: RE: [ROOT] ACLic error on Windows/XP
> >
> > Hi Frederic,
> >
> > I am unable to reproduce this problem on Windows/XP.  It seems that
> for
> > some reasons the process is unable to write its temporary files like
> > '\s2t4.1linkdef.h'.  This should actually appears in c:\.  (maybe
the
> > disk is full?).
> >
> > Anyway an update with be check-in CVS very soon, so that all the
> > temporary files are created in the same directory (as the one where
> the
> > library is being written (which is now somewhat customizable)).
> >
> > I might be able to get more clue if you do:
> >
> > root [0] gDebug = 7
> > root [1] .L Analysis.C++
> > root [2] .! dir c:\ /OD
> > root [3] .! dir /OD
> >
> > and send me the result.
> >
> > Cheers,
> > Philippe.
> >
> >
> > ---------- Forwarded message ----------
> > Date: Mon, 16 Dec 2002 17:06:59 +0100
> > From: "[ISO-8859-1] Machefert Frédéric" <machefer@lal.in2p3.fr>
> > To: roottalk@pcroot.cern.ch
> > Subject: [ROOT] ACLic error on Windows/XP
> >
> > Hello,
> >
> > I try to compile with ACLic a short c++ code that runs perfectly on
> > Linux
> > redhat. I tried to use it on Windows/XP. The C++ compiler I have is
> > VisualC++ V6. I start the root session, and ask for ACLic to run on
> > Analysis.C but a get preprocessor warning and it seems that a
> mysterious
> >
> > file \s2t4.1linkdef.h doesn't exist... Yet, I provided a LinkDef.h
> file
> > in
> > my directory. Below is the root session output with the necessary
> > information.
> >
> > Finally, rootcint produces a fatal error and windows ask me whether
I
> > want
> > a report to be sent to Microsoft.
> >
> > Do you have any idea of what goes wrong ?
> > Thank you.
> > Frederic.
> >
> >
>
------------------------------------------------------------------------
> > ---
> > -----------------
> >
> > root
> >  the current keyboard layout is 850
> >   *******************************************
> >   *                                         *
> >   *        W E L C O M E  to  R O O T       *
> >   *                                         *
> >   *   Version   3.04/01  11 December 2002   *
> >   *                                         *
> >   *  You are welcome to visit our Web site  *
> >   *          http://root.cern.ch            *
> >   *                                         *
> >   *******************************************
> >
> > Compiled for win32.
> >
> > CINT/ROOT C/C++ Interpreter version 5.15.67, Dec 2 2002
> > Type ? for help. Commands must be C++ statements.
> > Enclose multiple statements between { }.
> > root [0] .L Analysis.C++
> > Info in <TWinNTSystem::ACLiC>: creating shared library
> > C:\machefert\lhcb\physique\DaVinci
> > \v6r0/Analysis_C.dll
> > Error: rootcint: failed to open \s2gs..h, usage of external
> preprocessor
> > by
> > CINT is not optimal
> > 39.cxx
> > 65.cxx
> > Analysis.C
> > 69.cxx
> > C:\DOCUME~1\MACHEF~1\LOCALS~1\Temp\69.cxx(1) : fatal error C1083:
> Cannot
> >
> > open include file: '\s2t4.1linkdef.h': No such file or directory
> > Error in <ACLiC>: Dictionary generation failed!
> >
> >
> >
> 



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:24 MET