1
Vote

F# spectral method fails to build

description

Error 13 Type constraint mismatch. The type unit is not compatible with type CompletedStatus The type 'unit' is not compatible with the type 'CompletedStatus' C:\Users\roytan\Downloads\paralleldwarfs_beta2\paralleldwarfs_beta2\Src\Dwarf.SpectralMethod\Dwarf.FSharp.Mpi\Dwarf.FSharp.Mpi.fs 108 23 Dwarf.SpectralMethod.FSharp.Mpi
 
The offending statement is:
 
let ReceiveRow(source: int, row : Complex[], index : int) : CompletedStatus =
let complStatus = Intracommunicator.world.Receive<Complex>(source,index,ref row) : CompletedStatus
complStatus

comments

RobertPalmer wrote Dec 12, 2009 at 1:18 AM

Do you have MPI .NET installed? Do the other dwarfs build?

roytan wrote Dec 17, 2009 at 2:09 AM

I tried installing VS 2010 on a clean win7 machine, and tried to follow the installation instructions, with the same results.
I have MPI .Net installed, there were only 2 things that failed to build, the rest built fine.

The first one that failed to build was the F# spectral method .

The other one was pshcli, even though I installed the HPC Pack 2008 SDK, I got this error:
      Considered "Microsoft.Hpc.Scheduler", which was not found in the GAC.
      For SearchPath "{RawFileName}".
      Considered treating "Microsoft.Hpc.Scheduler, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" as a file name, but it didn't exist.
      For SearchPath "..\..\PshCliWrapper\".
      Considered "..\..\PshCliWrapper\Microsoft.Hpc.Scheduler.exe", but it didn't exist.
      Considered "..\..\PshCliWrapper\Microsoft.Hpc.Scheduler.dll", but it didn't exist.
PshLib.cs(9,17): error CS0234: The type or namespace name 'Hpc' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
HelperMethods.cs(11,17): error CS0234: The type or namespace name 'Hpc' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
WScheduler.cs(5,17): error CS0234: The type or namespace name 'Hpc' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
WScheduler.cs(17,27): error CS0234: The type or namespace name 'Hpc' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
WScheduler.cs(18,17): error CS0246: The type or namespace name 'ISchedulerJob' could not be found (are you missing a using directive or an assembly reference?)
WScheduler.cs(35,52): error CS0246: The type or namespace name 'JobStateEventArg' could not be found (are you missing a using directive or an assembly reference?)
Done Building Project "d:\dwarfs\DwarfBench\PshCli\pshcli\pshcli.csproj" (default targets) -- FAILED.
Done Building Project "d:\dwarfs\DwarfBench\PshCli\PshCli.sln" (Build target(s)) -- FAILED.

RobertPalmer wrote Dec 17, 2009 at 5:27 PM

Ok, it looks like we built the pshcli.dll with a dependency on the Windows HPC Server 2008 client utilities. This I thought we had fixed in the previous version but must have regressed it somewhere.

As for spectral methods -- I'm still unsure why it is not building. Can you please tell me the version number of your Visual Studio bits? You can find it in Help -> About Microsoft Visual Studio. Then it should say something like: "Version 10.0.21006.1 B2Rel". Do you have the Ultimate edition installed? Also, are you on a 32 or 64 bit version of Windows 7?

RobertPalmer wrote Dec 18, 2009 at 11:26 PM

Ok, there seem to be two issues at play here:
  1. The reference paths for the HPC assemblies are hard coded in the project file because they are not put in the GAC. If you can't find the assemblies then please check to see where you have the SDK installed and compare that to where the project is looking for the files.
  2. The type mismatch appears to be a real bug that we will need to address, thanks!

wrote Dec 18, 2009 at 11:27 PM

wrote Feb 13, 2013 at 10:25 PM