|
A Night with Rotor and Rotor Resources
Well, after so many happy posts from Peter and Ingo, and John Lam, I just had to jump in. After all, this was my chance to really learn about .NET, my baby, that I had spent the last two years with.
What is Rotor?
Rotor is the nickname foer the Microsoft Shared Source CLI Implementation. This is the "spec" side of .NET, Rotor is a source code distribution that includes fully functional implementations of both the ECMA-334 C# language standard and the ECMA-335 Common Language Infrastructure. These standards together represent a substantial subset of what is available in the Microsoft .NET Framework. The stuff builds and runs under both Windows XP or FreeBSD 4.5. This release should silence all the 12 year olds on Slashdot that insisted with me that Microsoft would never release any parts of .NET to ECMA. Sun, are you listening?
Microsoft defines Rotor in their readme:
Colloquially, we refer to this project as "Rotor." Why? Well, you'll find the following definitions for the word:
- An altocumulus cloud found in the lee of large mountain barriers, that circulates around its horizontal axis.
- An important part of a cryptographic encoding or decoding device.
- A quantity having magnitude, direction, and position.
- The rotating part of a dynamo, turbine, distributor, compressor, centrifuge, blower, or motor.
- A device that propels a ship forward in a cross-wind, exploiting the Magnus effect.
- The rotating airfoil assembly on rotary-wing aircraft.
It's obvious! Rotor is all of these and more...
So, Like How Do I Start?
Start by downloading Rotor at http://msdn.microsoft.com/downloads/default.asp?URL=/downloads/sample.asp?url=/msdn-files/027/001/901/msdncompositedoc.xml. That page also gives a number of links. Perl distribution must be installed on Windows XP in order to build the Shared Source CLI source tree. For example, you can go to http://www.activestate.com and install the free download of Perl (preferably version 5.6.1 builds 630 and later).
Then, start unzipping-). 9,700 files and 1.9 million lines of code later (and much disk churning) you have this large mess on your disk-). The first thing to do is get Brian Jepson's excellent article "Get Your Rotor Running" (http://www.oreillynet.com/pub/a/dotnet/2002/03/27/gettingstarted.html). This will tell you how to do everything step by step.I won't repeat the instructions here since his article has it all.
Alas, It Built at Work!
Hmm, won't build here. Built at work just fine.
D:Rotorsscli>env.bat CLR environment (D:Rotorsscliclrbinrotorenv.bat) Building for Operating System - NT32 Processor Family - x86 Processor - i386 Build Environment = D:Rotorssclirotorenv Build Type - fastchecked
D:Rotorsscli>buildall
--- Building the PAL ---
*** Error while building D:Rotorssclipalwin32
Well, I guess that's it for tonight. Peter, Ingo, any ideas??
Night Two
Discussion of the Rotor Shared Source CLI implementation [DOTNET-ROTOR@DISCUSS.DEVELOP.COM]; on behalf of; David Stutz [davidstu@MICROSOFT.COM]
Have you had a look at the build log and error log in the palwin32 directory?
We clearly need to post a howto on the logs that are generated by the build process, but until we have time for this, you can take a look at the doc page for the rotor build utility. You'll see that there are detailed logs of the build that are produced. By default, they should be generated for you.
These log files are the first place to look when you run into a failure like this.
Thanks for your reply. Here seems to be the problem(s):
.rotor_pal.rc(15) : fatal error RC1015: cannot open include file 'ntverp.h'. NMAKE : fatal error U1077: 'rc' : return code '0x1' Stop.
.rotor_pal.rc(15) : fatal error RC1015: cannot open include file 'ntverp.h'. NMAKE : fatal error U1077: 'rc' : return code '0x1' Stop.
ID:Rotorssclipal -ID:Rotorssclipalrtinc .rotor_pal.rc
.rotor_pal.rc(15) : fatal error RC1015: cannot open include file 'ntverp.h'. NMAKE : fatal error U1077: 'rc' : return code '0x1' Stop.
.rotor_pal.rc(15) : fatal error RC1015: cannot open include file 'ntverp.h'. NMAKE : fatal error U1077: 'rc' : return code '0x1' Stop.
Ok, now what do I do?
The Hunt Begins
From: Discussion of the Rotor Shared Source CLI implementation [ mailto:DOTNET-ROTOR@DISCUSS.DEVELOP.COM] On Behalf Of David Stutz
Sent: Saturday, April 06, 2002 12:03 PM
To: DOTNET-ROTOR@DISCUSS.DEVELOP.COM
Subject: Re: [DOTNET-ROTOR] Error while building D:Rotorssclipalwin32
Do you have VS7 installed on this box? Looks like you may not...
Of course. I've had it for over a year in weekly drops-). Seriously, it's the final release. I use it every day.
Sam Gentile
Co-Author Wrox Professional Visual C++.NET (ISBN 1861005962 )
Ntverp.h is found in
C:Program FilesMicrosoft Visual Studio .NETVc7PlatformSDKInclude. Can you check for the presence of the file and verify what components you installed. My guess is that you selectively installed components and didn't install something that was needed?
Mario
This posting is provided "AS IS" with no warranties, and confers no rights.
Thank you for your post. Now, we're getting somewhere. I do have the file installed however. It is in: D:Program FilesMicrosoft Visual Studio .NETVc7PlatformSDKInclude>dir ntver*
Volume in drive D has no label.
Volume Serial Number is 14EA-6BF8
Directory of D:Program FilesMicrosoft Visual Studio .NETVc7PlatformSDKIncl due
08/22/2001 01:53 PM 4,703 ntverp.h
1 File(s) 4,703 bytes
0 Dir(s) 17,528,717,312 bytes free
I did do a complete and full install of VS.NET. I thought it might be because I was not using the VS.NET command window but it still is the same thing: D:Rotorsscli>env.bat CLR environment (D:Rotorsscliclrbinrotorenv.bat)
Building for Operating System - NT32
Processor Family - x86
Processor - i386
Build Environment = D:Rotorssclirotorenv
Build Type - fastchecked
D:Rotorsscli>buildall
--- Building the PAL ---
*** Error while building D:Rotorssclipalwin32
D:Rotorsscli>
It's Starting to Look Like a Week
Ingo documents our work (via Messenger) from last night on my Rotor woes.
Info: Rotor needs short filenames!.
Sam's Rotor woes continue but we finally found the reason for his problems. Here's the thing everyone should check before playing around with Rotor .... else you might end up with some mysterious error messages.
[WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall Windows. Neither Microsoft nor I can guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. ]
Start RegEdt32.Exe and go to HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem. Check the entry NtfsDisable8dot3NameCreation. It should be set to 0 [zero]. If it has been set to 1 while installing Visual Studio.NET, you may be out of luck with Rotor.
To make sure, you should open a command prompt, go to C:Program Files (or wherever you installed VS.NET) and run "dir /x micro*". If a line like this is included in the output, everything should be ok: 20.01.2002 13:01 MICROS~1.NET Microsoft Visual Studio.NET
If you don't see anything that looks like "MICROS~1.NET" next to "Microsoft Visual Studio.NET" you might have the problem.
In this case you should change NtfsDisable8dot3NameCreation to 0 [that is: zero], reboot, de-install Visual Studio.NET, manually delete Program FilesMicrosoft Visual Studio.NET (if it still exists; but backup anything interesting before doing so). Then you can re-install it and the necessary short name (DOS-style 8.3 file name) will be created for this directory.
I'm currently looking for a better solution to this problem: Does anyone know any tool that allows to create a short filename for a file or directory that already exists?
[Ingo Rammer's DotNetCentric]
I got one suggestion:
did u try to boot into command prompt of xp?
u can install it via the xp cd.
I think it triggers the shortfile generation according to the local registry, I'm not sure. any way you could do a safe move command without the os locking files the vs.NET folder..
have fun,
yosi
© Copyright 2002 Sam Gentile.
Last update: 7/1/2002; 9:38:44 PM.
|