Archived

This forum has been archived. Please start a new discussion on GitHub.

dotnet build with dotnet 2.1 on CentOS 7.7 fails

I'm building a dotnet core Ice application against an Ice API in HP Remote Graphics Software. The application builds and runs on Windows, and I can publish it for linux and see it run on my CentOS 7 machine. I'd like to be able to build on CentOS 7 to make debugging locally easier.

My dotnet version is 2.1.804

The dotnet restore command works. The dotnet build command fails. I see the following message:

** Restore completed in 25.1 ms for /home/cassie/foothills/launcher/BasicIceLauncher/BasicIceLauncher/BasicIceLauncher.csproj.
/home/cassie/.nuget/packages/zeroc.icebuilder.msbuild/5.0.4/build/zeroc.icebuilder.msbuild.csharp.targets(53,9): error : Ice Installation invalid or not detected. Invalid IceToolsPath setting `' [/home/cassie/foothills/launcher/BasicIceLauncher/BasicIceLauncher/BasicIceLauncher.csproj]

Build FAILED.

/home/cassie/.nuget/packages/zeroc.icebuilder.msbuild/5.0.4/build/zeroc.icebuilder.msbuild.csharp.targets(53,9): error : Ice Installation invalid or not detected. Invalid IceToolsPath setting `' [/home/cassie/foothills/launcher/BasicIceLauncher/BasicIceLauncher/BasicIceLauncher.csproj]
0 Warning(s)
1 Error(s)**

I tried to find which path IceToolsPath should be set to. I settled on this one: /home/cassie/.nuget/packages/zeroc.ice.net/3.7.2/tools
The following files are in this directory:

net45 netcoreapp2.1 slice2cs.exe slice2html.exe

The .exe's seem a little weird in here since this is a Linux platform, but I'm also using dotnet core, so I'm not sure exactly what to expect.

If I try to export IceToolsPath=/home/cassie/.nuget/packages/zeroc.ice.net/3.7.2/tools and re-run dotnet build, I get this error instead:

** Restore completed in 24.89 ms for /home/cassie/foothills/launcher/BasicIceLauncher/BasicIceLauncher/BasicIceLauncher.csproj.
/home/cassie/.nuget/packages/zeroc.icebuilder.msbuild/5.0.4/build/zeroc.icebuilder.msbuild.csharp.targets(75,9): error : Slice compiler `/home/cassie/.nuget/packages/zeroc.ice.net/3.7.2/tools/slice2cs' not found. Review Ice Home setting [/home/cassie/foothills/launcher/BasicIceLauncher/BasicIceLauncher/BasicIceLauncher.csproj]
/home/cassie/.nuget/packages/zeroc.icebuilder.msbuild/5.0.4/build/zeroc.icebuilder.msbuild.csharp.targets(75,9): error MSB6004: The specified task executable location "/home/cassie/.nuget/packages/zeroc.ice.net/3.7.2/tools/slice2cs" is invalid. [/home/cassie/foothills/launcher/BasicIceLauncher/BasicIceLauncher/BasicIceLauncher.csproj]

Build FAILED.

/home/cassie/.nuget/packages/zeroc.icebuilder.msbuild/5.0.4/build/zeroc.icebuilder.msbuild.csharp.targets(75,9): error : Slice compiler `/home/cassie/.nuget/packages/zeroc.ice.net/3.7.2/tools/slice2cs' not found. Review Ice Home setting [/home/cassie/foothills/launcher/BasicIceLauncher/BasicIceLauncher/BasicIceLauncher.csproj]
/home/cassie/.nuget/packages/zeroc.icebuilder.msbuild/5.0.4/build/zeroc.icebuilder.msbuild.csharp.targets(75,9): error MSB6004: The specified task executable location "/home/cassie/.nuget/packages/zeroc.ice.net/3.7.2/tools/slice2cs" is invalid. [/home/cassie/foothills/launcher/BasicIceLauncher/BasicIceLauncher/BasicIceLauncher.csproj]
0 Warning(s)
2 Error(s)**

Clearly this command is trying to find slice2cs, not slice2cs.exe. Looking in both the zeroc.icebuilder.msbuild and zeroc.ice.net folders in my nuget packages, I can't find this file anywhere.

Tagged:

Comments