Hi Valeri and Fons and others, On Tue, 22 May 2001 14:35:24 +0000 Fons Rademakers <Fons.Rademakers@cern.ch> wrote concerning ": Re: [ROOT] Cygwin setup to install ROOT in Windows": > Hi Christian, > > on Windows only the installation using MS Visual C++ is supported > for the time being (./configure win32). The build process needs > cygwin, I knew that! > but for running the executable you don't need cygwin. Building using > gcc under cygwin is currently not supported (should be ./configure > win32gcc). I was just hoping (more or less optimistic - I know) that someone had had a go at it. > This build would need cygwin also to run the executable. If you are > willing to make this port we are happy to support it. Uh, sorry, no time at the moment, and to be honest, I'm not really a big fan of Micros**t OSs (if that concept really applies :-). On Tue, 22 May 2001 12:57:49 -0400 "Valeri Fine" <fine@bnl.gov> wrote concerning ": Re: [ROOT] Cygwin setup to install ROOT in Windows": > > Last time I tried to compile ROOT using Cygwin GCC, I got loads of > > errors regarding missing functions (especially in the CINT code, > > though it may not be Masa's problem) - one I can remember of the top > > of my head was "unlink". > > It is Makefile file problem Err, what do you mean? What I did when I tried to compile ROOT using Cygwin GCC was to take Makefile.linuxegcs and use that (following Fons' suggestion back ages ago). However, I soon saw errors like "implicit declaration of unknown function ..." and later "unresolved reference to ...". Now looking through the code then I basically saw no problem with Makefile.linuxegcs under Cygwin, though I did have to change a few preprocessor things in the CINT sources. I got as far as compling and linking cint and makecint - as far as I remember - but rootcint defently failed to link. Now I really don't believe that it's a Makefile problem. Rather, it's a source code problem, 'cause for a great many things, you want to use the Unix source code, and for a tiny piece you'd like to use the Win32 source code (Win32 graphics rather than X same), but there was no obvious way that could be achived by only setting preprossor flags in the Makefile - source code changes is needed, probably both in CINT and ROOT. > Hmm. as far as I know Cygwin staff is compiled with "gcc" > and linked with gcc run-time library against of the special Cygwin DLL. > > All "UNIX-Windows" and "Windows - UNIX" mapping (this means all I/O) > is provided by that DLL at run-time. The user code, including > Cygwin utilites commuinicate Windows via that DLL. Hmm. As far as I gather your answer is "no". Rather, it's a feature of cygwin.dll an cygdrive is just an application exploiting that feature. I this correctly understood? Damn, I was rather hoping that the Cygnus people had used the idea of extented inode, like in GNU/Hurd. > As Fons has explained this entails Cygwin must be present at > Run-time, this means ROOT team has to provide it somehow. According to the GPL, it's enough to provide a pointer, like You need <a href="http://www.cygwin.com">Cygwin</a> installed on you machine. Bloody close to saying: You need a C++ compiler installed on your machine. or even, You need an Operating System installed on your machine. See, really no problem in that :-) > According > http://www.cygwin.com/licensing.html this entails: > > ". . . unless you modify the tools so that compiled executables > do not make use of the Cygwin library, your compiled programs will > also have to be free software distributed under the GPL with > source code available to all. " Although it's on the Cygnus homepage, I believe this is a rather strong reading of GPL, and not entirely correct either. This reading would also imply that ROOT can in fact not redistribute h2root and g2root since they are (statically) linked against the GPL'ed CERNLIB libraries. What I think they got a bit cooked up, is the notion of "modified work" and "work that uses the program". The former must be distributed under GPL (or as Cygwin allows it, any OpenSource License, like say LGPL). The later, however is not restricted to be licensed as OpenSource, since it's not a "modification" to the Program. In reference to GPL: The former falls under section 2, while the later under section 3. Section 3 only requires that you make source code of the GPL'ed program avaliable (like above), not what license it should carry. Having said all that, ROOT's License is bloody close to being OpenSource. If they would only take out the line Additionally, the authors grant permission to modify this software and its documentation for any purpose, provided that such modifications are not distributed without the explicit consent of the authors and that existing copyright notices are retained in all copies. Suppose ROOT would exchange those lines with Additionally, the authors grant permission to modify this software and its documentation for any purpose, provided that explicit notice in the modified work mark it as such. Also, due notice of the authors must be present, but not misused for the promotion of the modified work. then I believe ROOT would classify as OpenSource. An alternative is the Library General Public License (LGPL) which is not as strict as the above GPL, in regards to derived work. A license like the one for CINT is also considered as OpenSource. Having said that, I know that the ROOT Team is not really keen on changing the license just yet, so patience ... > "Native" basic ROOT is about 10 Mb of DLL's, Cygwin takes about 135 Mb. > and such ROOT will communicate the Windows system via extra Cygwin layer, so > it must be slower and takes extra resource. As far as I know, Cygwin does not have a reputation of being slow, but that may be because Windoze (zzz ZZZ) is slow in the first place :-) > Another issue "Fortran compiler" and CERNLIB etc etc etc. I guess that CERNLIB libraries on Windoze are statically linked, so that should not really pose a problem. The main obtacle for using a Micros**t (Un)Visual C++ compiled library with Cygwin GCC, is really the name mangling and export libraries, at least that's what I've let my self be convinced of once. Yours, Christian ----------------------------------------------------------- Holm Christensen Phone: (+45) 35 35 96 91 Sankt Hansgade 23, 1. th. Office: (+45) 353 25 305 DK-2200 Copenhagen N Web: www.nbi.dk/~cholm Denmark Email: cholm@nbi.dk
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:46 MET