delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/07/19/05:14:40

X-Spam-Check-By: sourceware.org
Date: Wed, 19 Jul 2006 11:14:26 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: When ssh'd in, cannot run MS compiler /Zi debug option.
Message-ID: <20060719091426.GB18664@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <loom DOT 20060719T053158-768 AT post DOT gmane DOT org>
Mime-Version: 1.0
In-Reply-To: <loom.20060719T053158-768@post.gmane.org>
User-Agent: Mutt/1.4.2i
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On Jul 19 04:06, Mark Charney wrote:
> I suspect I'm missing some "rights".  This is an issue for me 
> on multiple machines running  Windows Server 2003 x64 or for 
> 32b WinXP.
>  
> When I try to compile using the debug-option (/Zi) to the 
> Microsoft Visual Studio Pro 2005 compiler:
>     cl /Zi hello.cpp
> it only works from within cygwin if I am on the console or 
> remote desktop. If I ssh-in to the same machine, it fails with 
> a error message:
> 
>      Fatal Error C1902: Program database manager mismatch; please 
>      check your installation.
> 
> Compiling without /Zi works fine anywhere we try it. My best guess is 
> that it has to do with some RPC rights required for the debug-symbol 
> file (PDB) generation done by the mspdb80.dll . That DLL uses RPC to 
> talk to the mspdbsrv.exe. 
> 
> Any ideas?

Yes.  I assume the problem is an authentication check in the Visual
Studio applications.  When you login via ssh with pubkey authentication,
you're running in the logon session of the user which is running the
sshd service.  In case of 2K3 this should be the sshd_server account,
in case of XP it would be the SYSTEM account.

The problem is that there's arguably an identification bug in Windows.
Try "/cygdrive/c/WINDOWS/system32/whoami.exe" and you will see that
you're identified as "sshd_server", not as yourself.

The strange Windows behaviour is that the native identification
functions always return the user name of the logon session, not the user
which is stored in the user token attached to the process.  Would the
latter be the case, you would be correctly identified, but, alas!

I have a patch in the loop which would allow to change this, but it
wouldn't help for the 64 bit Windows since it requires to build a DLL in
64 bit mode (you know the problem I assume ;-))

What you can do is this:

Either use password authentication instead of public key authentication
when loging in through ssh.  Password authentication creates a valid
logon session, so you're correctly identified and the problem should go
away.

Or, if you don't want to use password authentication, you could try
if there's a way to add the user account sshd_server resp. SYSTEM to
the list of users which can access the "Program database", whatever
that is.


HTH,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019