Bug 27097

Summary: Compilation problems with Microsoft.Common.targets (if source placed in a symlinked path)
Product: [Desktop] Xamarin Studio Reporter: Andres G. Aragoneses <knocte>
Component: Project ModelAssignee: Lluis Sanchez <lluis>
Status: RESOLVED FIXED    
Severity: normal CC: mono-bugs+monodevelop
Priority: ---    
Version: Trunk   
Target Milestone: 5.9   
Hardware: PC   
OS: Linux   
Tags: Is this bug a regression?: ---
Last known good build:

Description Andres G. Aragoneses 2015-02-16 08:53:24 UTC
If I try to debug monodevelop inside monodevelop, using today's master, I get this compilation error (which I don't get when building via "make"):

Building: MonoDevelop.Core (Debug)

Build started 2/16/2015 2:27:31 PM.
__________________________________________________
Project "/home/knocte14041/Documents/Code/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Core.csproj" (Build target(s)):
	
	Target BeforeBuild:
	Skipping target "BeforeBuild" because its outputs are up-to-date.
	
	Target PrepareForBuild:
		Configuration: Debug Platform: AnyCPU
	
	Target ResolveProjectReferences:
		Project "/home/knocte/Documents/Code/monodevelop/main/external/cecil/symbols/mdb/Mono.Cecil.Mdb.csproj" (GetTargetPath target(s)):
			
			Target _ValidateEssentialProperties:
/usr/lib/mono/4.5/Microsoft.Common.targets: error : 'OutputPath' property is not set for this project. Usually this is caused by invalid Configuration/Platform combination. Original values: Configuration: Debug Platform: AnyCPU.
			Task "Error" execution -- FAILED
			Done building target "_ValidateEssentialProperties" in project "/home/knocte/Documents/Code/monodevelop/main/external/cecil/symbols/mdb/Mono.Cecil.Mdb.csproj".-- FAILED
			
		Done building project "/home/knocte/Documents/Code/monodevelop/main/external/cecil/symbols/mdb/Mono.Cecil.Mdb.csproj".-- FAILED
		
		Project "/home/knocte/Documents/Code/monodevelop/main/external/cecil/symbols/pdb/Mono.Cecil.Pdb.csproj" (GetTargetPath target(s)):
			
			Target _ValidateEssentialProperties:
/usr/lib/mono/4.5/Microsoft.Common.targets: error : 'OutputPath' property is not set for this project. Usually this is caused by invalid Configuration/Platform combination. Original values: Configuration: Debug Platform: AnyCPU.
			Task "Error" execution -- FAILED
			Done building target "_ValidateEssentialProperties" in project "/home/knocte/Documents/Code/monodevelop/main/external/cecil/symbols/pdb/Mono.Cecil.Pdb.csproj".-- FAILED
			
		Done building project "/home/knocte/Documents/Code/monodevelop/main/external/cecil/symbols/pdb/Mono.Cecil.Pdb.csproj".-- FAILED
		
	Task "MSBuild" execution -- FAILED
	Done building target "ResolveProjectReferences" in project "/home/knocte14041/Documents/Code/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Core.csproj".-- FAILED
	
Done building project "/home/knocte14041/Documents/Code/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Core.csproj".-- FAILED

Build FAILED.
Errors:

/home/knocte14041/Documents/Code/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Core.csproj (Build) ->
/usr/lib/mono/4.5/Microsoft.Common.targets (ResolveProjectReferences target) ->
/home/knocte/Documents/Code/monodevelop/main/external/cecil/symbols/mdb/Mono.Cecil.Mdb.csproj (GetTargetPath) ->
/usr/lib/mono/4.5/Microsoft.Common.targets (_ValidateEssentialProperties target) ->

	/usr/lib/mono/4.5/Microsoft.Common.targets: error : 'OutputPath' property is not set for this project. Usually this is caused by invalid Configuration/Platform combination. Original values: Configuration: Debug Platform: AnyCPU.

/home/knocte14041/Documents/Code/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Core.csproj (Build) ->
/usr/lib/mono/4.5/Microsoft.Common.targets (ResolveProjectReferences target) ->
/home/knocte/Documents/Code/monodevelop/main/external/cecil/symbols/pdb/Mono.Cecil.Pdb.csproj (GetTargetPath) ->
/usr/lib/mono/4.5/Microsoft.Common.targets (_ValidateEssentialProperties target) ->

	/usr/lib/mono/4.5/Microsoft.Common.targets: error : 'OutputPath' property is not set for this project. Usually this is caused by invalid Configuration/Platform combination. Original values: Configuration: Debug Platform: AnyCPU.

	 0 Warning(s)
	 2 Error(s)

Time Elapsed 00:00:00.1982190
Comment 1 Lluis Sanchez 2015-03-09 11:46:40 UTC
Is this still happening?
Comment 2 Andres G. Aragoneses 2015-03-09 12:25:29 UTC
> Is this still happening?

Yes (just pulled latest master now, and re-tested).
Comment 3 Andres G. Aragoneses 2015-03-09 13:42:12 UTC
BTW my version of mono is the original one that comes with Ubuntu 14.04.1 LTS:

$ mono --version
Mono JIT compiler version 3.2.8 (Debian 3.2.8+dfsg-4ubuntu1)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           __thread
	SIGSEGV:       altstack
	Notifications: epoll
	Architecture:  amd64
	Disabled:      none
	Misc:          softdebug 
	LLVM:          supported, not enabled.
	GC:            sgen
Comment 4 Andres G. Aragoneses 2015-03-11 13:15:03 UTC
Turns out this is another symlink related problem! (That is, debugging monodevelop inside monodevelop, when I clone the sources in a normal path, not symlinked path, works.)

And it turns out, that this PR (that I had already proposed for a cosmetic problem) fixes this bug:
https://github.com/mono/monodevelop/pull/749

So I just have updated the PR description, and the commit message of the commit inside it, to reflect both bugzilla bugs that are fixed with it.
Comment 5 Andres G. Aragoneses 2015-03-13 06:47:47 UTC
PR was merged, thanks!
Comment 6 xamarin-release-manager 2015-03-20 13:13:08 UTC
Fixed in version 6.0.0.324 (new-project-model)