Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Compiling EiffelStudio fails after a change in the Github repository

7 views
Skip to first unread message

Thomas Goering

unread,
Mar 12, 2025, 10:30:30 AM (6 days ago) Mar 12
to eiffelstudio-dev
Hi,

After a change in the EiffelStudio Github repository my local build of EiffelStudio fails. It started after I pulled the latest changes from the repository to my computer and I think I have found the change that causes the failure on my computer:

It is file "Src/Eiffel/eiffel/com_il_generation/Core/run-time/runtime.cs" and this is the commit:

With this commit some "return true;" and "return false;" statements in file runtime.cs were change to "return RuntimeInformation.IsOSPlatform(OSPlatform.Windows);" and corresponding.

When I compile using "geant prepare" I get these errors:

---
- Compile .Net framework 4.0 [EiffelSoftware.Runtime.dll]

Microsoft (R) Program Maintenance Utility, Version 14.43.34809.0
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

        copy C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\dotnet\helpers\isekey.snk isekey.snk
        1 Datei(en) kopiert.
        msbuild runtime.sln /p:TargetFrameworkVersion=v4.7;ToolsVersion=4.7
MSBuild-Version 17.13.19+0d9f5a35a für .NET Framework
Der Buildvorgang wurde am 12.03.2025 14:44:29 gestartet.

Projekt "C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.sln" a
uf Knoten "1" (Standardziele).
ValidateSolutionConfiguration:
  Die Projektmappenkonfiguration "Debug|Any CPU" wird erstellt.
Das Projekt "C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.sl
n" (1) erstellt "C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtim
e.csproj" (2) auf Knoten "1" (Standardziele).
PrepareForBuild:
  Das Verzeichnis "obj\Release\" wird erstellt.
CoreCompile:
  C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\Roslyn\csc.exe /noconfig /unsafe- /checke
  d- /nowarn:1701,1702 /fullpaths /nostdlib+ /errorreport:prompt /warn:4 /baseaddress:285212672 /highentropyva+ /refere
  nce:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7\mscorlib.dll" /reference:"C:\
  Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7\System.Core.dll" /reference:"C:\Progr
  am Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7\System.Data.dll" /reference:"C:\Program Fi
  les (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7\System.dll" /reference:"C:\Program Files (x86)\
  Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7\System.Xml.dll" /debug- /filealign:4096 /keyfile:isekey.s
  nk /optimize+ /out:obj\Release\EiffelSoftware.Runtime.dll /subsystemversion:6.00 /target:library /warnaserror- /utf8o
  utput /langversion:7.3 agent_proxy.cs any.cs assertions.cs custom_attributes\assertion_level_attribute.cs custom_attr
  ibutes\eiffel_class_type_mark_attribute.cs custom_attributes\eiffel_consumable_attribute.cs custom_attributes\eiffel_
  name_attribute.cs custom_attributes\eiffel_version_attribute.cs custom_attributes\interface_type_attribute.cs custom_
  attributes\rt_interface_type_attribute.cs custom_attributes\type_feature_attribute.cs eiffel_exception.cs eiffel_type
  _info.cs enums\assertion_level_enum.cs enums\class_type_mark.cs gen_conf.cs rt_custom_attribute_data.cs rt_exception_
  manager.cs rt_extension.cs rt_parameter_utility.cs rt_reference_comparer.cs runtime.cs runtime_assembly_info.cs types
  \basic_type.cs types\character_32_type.cs types\class_type.cs types\formal_type.cs types\generic_type.cs types\none_t
  ype.cs types\tuple_type.cs types\type.cs "obj\Release\.NETFramework,Version=v4.7.AssemblyAttributes.cs"
C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.cs(660,10): err
or CS0103: Der Name "RuntimeInformation" ist im aktuellen Kontext nicht vorhanden. [C:\Users\thomas\Documents\GitHub\Ei
ffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.csproj]
C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.cs(660,42): err
or CS0103: Der Name "OSPlatform" ist im aktuellen Kontext nicht vorhanden. [C:\Users\thomas\Documents\GitHub\EiffelStud
io\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.csproj]
C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.cs(663,13): err
or CS0103: Der Name "RuntimeInformation" ist im aktuellen Kontext nicht vorhanden. [C:\Users\thomas\Documents\GitHub\Ei
ffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.csproj]
C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.cs(663,45): err
or CS0103: Der Name "OSPlatform" ist im aktuellen Kontext nicht vorhanden. [C:\Users\thomas\Documents\GitHub\EiffelStud
io\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.csproj]
C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.cs(669,10): err
or CS0103: Der Name "RuntimeInformation" ist im aktuellen Kontext nicht vorhanden. [C:\Users\thomas\Documents\GitHub\Ei
ffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.csproj]
C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.cs(669,42): err
or CS0103: Der Name "OSPlatform" ist im aktuellen Kontext nicht vorhanden. [C:\Users\thomas\Documents\GitHub\EiffelStud
io\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.csproj]
  CompilerServer: server - server processed compilation - runtime
Die Erstellung des Projekts "C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run
-time\runtime.csproj" ist abgeschlossen (Standardziele) -- FEHLER.

Die Erstellung des Projekts "C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run
-time\runtime.sln" ist abgeschlossen (Standardziele) -- FEHLER.


Fehler beim Buildvorgang.

"C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.sln" (Standard
ziel) (1) ->
"C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.csproj" (Stand
ardziel) (2) ->
(CoreCompile Ziel) ->
  C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.cs(660,10): e
rror CS0103: Der Name "RuntimeInformation" ist im aktuellen Kontext nicht vorhanden. [C:\Users\thomas\Documents\GitHub\
EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.csproj]
  C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.cs(660,42): e
rror CS0103: Der Name "OSPlatform" ist im aktuellen Kontext nicht vorhanden. [C:\Users\thomas\Documents\GitHub\EiffelSt
udio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.csproj]
  C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.cs(663,13): e
rror CS0103: Der Name "RuntimeInformation" ist im aktuellen Kontext nicht vorhanden. [C:\Users\thomas\Documents\GitHub\
EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.csproj]
  C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.cs(663,45): e
rror CS0103: Der Name "OSPlatform" ist im aktuellen Kontext nicht vorhanden. [C:\Users\thomas\Documents\GitHub\EiffelSt
udio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.csproj]
  C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.cs(669,10): e
rror CS0103: Der Name "RuntimeInformation" ist im aktuellen Kontext nicht vorhanden. [C:\Users\thomas\Documents\GitHub\
EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.csproj]
  C:\Users\thomas\Documents\GitHub\EiffelStudio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.cs(669,42): e
rror CS0103: Der Name "OSPlatform" ist im aktuellen Kontext nicht vorhanden. [C:\Users\thomas\Documents\GitHub\EiffelSt
udio\Src\Eiffel\eiffel\com_il_generation\Core\run-time\runtime.csproj]

    0 Warnung(en)
    6 Fehler

Verstrichene Zeit 00:00:01.60
NMAKE : fatal error U1077: "msbuild runtime.sln /p:TargetFrameworkVersion=v4.7;ToolsVersion=4.7": Rückgabe-Code "0x1"
Stop.
---

I marked some of the errors in bold. Basically it says "The name 'RuntimeInformation' does not exist in the current context" and similar.

When I replace all lines containing "RuntimeInformation" with the lines in the previous version of the file "Src/Eiffel/eiffel/com_il_generation/Core/run-time/runtime.cs" I get no errors!

Is it a problem on my computer (Windows 11) or is something missing the current Github repository?

Thanks,
Thomas

Thomas Goering

unread,
Mar 17, 2025, 4:30:42 AM (yesterday) Mar 17
to eiffelstudio-dev
After pulling the now-latest changes from the repository I noticed that the issue has been resolved with this commit:


with basically the same solution (for .NET Framework 4.7 - which I have installed) that I used as a workaround.

Thomas
Reply all
Reply to author
Forward
0 new messages