Weird problem with my installation of EiffelStudio

626 views
Skip to first unread message

williams Lima

unread,
Aug 15, 2018, 9:45:34 AM8/15/18
to Eiffel Users

Everything was fine until yesterday when I decided to uninstall and then reinstall EiffeStudio (18.07)
The projects fail to compile and I got the following error message during compilation of any project.

Error code: C compiler error.

Maybe something from the previous installation was not completely removed from the system and is conflicting with the new installation.

I'm working on Windows 10 and have VisualStudio 2017 community (VC++ 15.0)

Please help me.
Williams
fig01.png

Alexander Kogtenkov

unread,
Aug 15, 2018, 10:08:17 AM8/15/18
to eiffel...@googlegroups.com
I would start from reviewing the external compilation output as suggested in the error message. There is a tab "Outputs" next to the error list. Could you switch to it and check what is there? The drop-down box "Output" can be used to jump between general output, eiffel compiler output and external compiler output.

Regards,
Alexander Kogtenkov


Среда, 15 августа 2018, 16:45 +03:00 от williams Lima <dwillia...@gmail.com>:

williams Lima

unread,
Aug 15, 2018, 10:17:14 AM8/15/18
to Eiffel Users
There's not too much in the Output from the external compilation.

Williams
fig02.png

Alexander Kogtenkov

unread,
Aug 15, 2018, 10:31:35 AM8/15/18
to eiffel...@googlegroups.com
As a sanity check, could you open a Console panel (View | Tools | Console) and run the following command:

   %ISE_EIFFEL%\tools\spec\win64\bin\espawn -l

where %ISE_EIFFEL% is the path to your installation of EiffelStudio? The command should list available C++ compilers.

Regards,
Alexander Kogtenkov

williams Lima <dwillia...@gmail.com>:

williams Lima

unread,
Aug 15, 2018, 10:45:32 AM8/15/18
to Eiffel Users
A very interesting thing happened. Let me explain the output shown in the attached images.

I did what you asked and the output of the command was just 
  'C:\program' not recognized as an internal or external command ... (the original text is in Portuguese)

I edit the command to 
  echo %ISE_EIFFEL%
and I got the output in the following lines in the command output box.

It seems that EiffelStudio is getting confused by the spaces in the name of the folder where EiffelStudio is installed. But it didn't
happen before and I didn't change the default installation folder.

If I run EiffelStudio command (from the Windows start menu) it works fine and I get the output as show in fig_04.png.

thanks
Williams
fig03.png
fig04.png

Alexander Kogtenkov

unread,
Aug 15, 2018, 11:00:18 AM8/15/18
to eiffel...@googlegroups.com
I guess, adding double quotes should help:
 
   "c:\program ...\espawn" -l

williams Lima

unread,
Aug 15, 2018, 3:36:02 PM8/15/18
to Eiffel Users
Dear Alexander
I managed to get the sanity check running, see the attached png for the results.

In my case instead of win64 I have only windows in the path (e.g tools\spec\windows\)

regards
Williams
fig05.png

Alexander Kogtenkov

unread,
Aug 16, 2018, 2:48:52 AM8/16/18
to eiffel...@googlegroups.com
It might be the issue. There are two versions of EiffelStudio for Windows: 32-bit and 64-bit. Could it be that your previous installation was 64-bit and the current one is 32-bit?

williams Lima

unread,
Aug 16, 2018, 5:32:49 AM8/16/18
to Eiffel Users
Nothing is working!! :(

I had x86 version.I uninstalled (for the 4th time now) and downloaded and installed the x64 version.
The problem remains. I create a new project. EiffelStudio asked me to make precompiled libraries
and a few seconds after showing the message
    Preparing C compilation using already configured msc C compiler...
it opened the new project in the Eiffel studio with the same error messages as before
complaining about precompiled libraries it cannot find (probably because the C compilation didn't work.

I'm really lost now.

The last thing I can think is that maybe windows made some updates that are causing incompatibilities.
As you can see, I have no idea of what can be causing the problem.

regards
Williams

williams Lima

unread,
Aug 16, 2018, 5:37:03 AM8/16/18
to Eiffel Users
If someone has time maybe we could meet on Skype. I really want my Eiffel back again.

thanks
Williams

williams Lima

unread,
Aug 16, 2018, 9:10:04 AM8/16/18
to Eiffel Users
Alexander and I (most time as just an observer) solved, partially, the problem.
It seems that EiffelStudio has some problem finding the visual studio compiler tools.
We partially solved the problem in the sense that we can get EiffelSutio working if
we start it from the command prompt. I'm trying to find a complete solution now so that
I could start EiffelStudio directly from the windows start menu as usual.

here is a summary of the solution (credits to Alexander):

---- Start
Here is a summary of steps we did to make sure EiffelStudio compiles C code using Visual Studio 2017 in 64-bit mode on 64-bit Windows 10:

0. Cleanup all projects by removing EIFGENs directories (including those in precompiles).

1. Setup Visual Studio 2017 environment in 64-bit mode by running

   ...\vsdevcmd.bat -arch=amd64

2. Setup EiffelStudio environment by running (most probably, this step is unnecessary if using GUI only)

   ...\esvars.bat

3. Tell EiffelStudio to use Visual Studio 2017-compatible libraries

   set ISE_C_COMPILER=msc_vc140

4. Launch EiffelStudio from the command prompt:

   estudio

------ End

regards
Williams

Larry Rix

unread,
Aug 16, 2018, 9:49:36 AM8/16/18
to eiffel...@googlegroups.com
Williams,

For what it is worth—we had the same issue with one of my installations of Eiffel Studio about 3-4 years ago. Manu helped me on that and we could never get a resolution beyond what you've described above (launching from the command prompt). We also came down to the batch file solution.

What I had to ultimately do was back up all of my files and re-install the Windows OS on my machine and then it all started working again. As I recall there was a Windows Update involved just before the whole thing went south.

Like your situation—the issue revolved around ES being able to find the Microsoft C/C++ compiler. I don't recall much beyond that and Manu is a genius at figuring out problems, but I don't recall the details as he knows them. However, it appears that Alexander is highly capable and on the same track and trail as Manu. Hopefully, there is a cause-and-effect solution to get beyond the issues besides a complete re-install of the OS.

Kind Regards,

Larry

Larry Rix
Moonshot Software
Rocket science for everyone!
Savannah, GA

--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/eiffel-users.
For more options, visit https://groups.google.com/d/optout.

williams Lima

unread,
Aug 16, 2018, 10:10:51 AM8/16/18
to eiffel...@googlegroups.com
Larry, Windows did an update very recently. I'm almost sure it was
just before the problem appeared.

Williams
>> email to eiffel-users...@googlegroups.com.
>> Visit this group at https://groups.google.com/group/eiffel-users.
>> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to eiffel-users...@googlegroups.com.
Message has been deleted

Alexandr Naumchev

unread,
Aug 17, 2018, 4:08:36 AM8/17/18
to Eiffel Users
Unfortunately, a typical problem with new installations. Not sure why this happened in your case.
A recipe that typically helps:
  1. Set the value of the ISE_C_COMPILER environment variable to "mingw".
  2. Clean-recompile the project.
  3. If the problem remains, go to the .ecf file and remove all the "<precompile … />" strings.

Hope that helps.

r...@amalasoft.com

unread,
Aug 17, 2018, 9:03:43 AM8/17/18
to eiffel...@googlegroups.com
I've been following this thread for a while now, and yesterday tried updating the version of Eiffel Studio on a resurrected laptop.  It was interesting.
 
The problem doesn't seem to be with Eiffel Studio alone, but with its interaction with Windows Defender
I've had 18.01 on my desktop for some time, and after the April update to Windows 10, there were some changes.
Importantly, Windows 10 no longer gives you the option to "tell me there are updates and let me handle it".  Only automatic updates are supported (I know, this is a terrible policy).
The laptop, having been sitting around for a while, and having a 2017 version of Eiffel on it, was due for a couple of updates.  Windows 10 did its thing (eventually), and then I installd 18.01 (not wanting too many variables at once).
That's when it went off the rails.
I tried compiling a simple test project and it failed with the same messages that Williams had seen.
I was not thrilled, but a coincidence helped point the way.  I was using a separate monitor and it seems that the newest Windows 10 has some well-intentioned feature that says it's hiding the notification bar during what it (incorrectly) assumes is presentation mode.  It's not presentation - I just can't see well enough.
When I finally looked at the notifications (because it now had a goofy symbol instead of the simple number as before), it said that Windows Defender had blocked access to an executable.  In this case, the executable was finish_freezing.exe.  Whoa!
Double-clicking on that notification is the only way I've found, so far, to get to the magic window that lets' you add an executable to a white list.
I added our favorite Eiffel executables to the white list but it kept finding new executables to block.  Eventually it got to cmd.exe and I knew then that I was screwed.
So, dusting off the old school tricks, I created (via control panel -> system and security -> system -> advanced system settings -> environment variables) an ISE_PRECOMP variable that pointed to a non-user directory (let's call it C:/projects/eiffel_precompile.
To that directory, I copied the .ecf files from the "real" precompile directory (in the users tree) and restarted my test project.  It found no precompile and asked me if I wanted to make one, and I said yes.
This time, it completed - all the way to the lib and the driver.exe creation (before, it made it only as far a the .melted)
 
This is a workaround, but the key syllable here is "work"
 
More investigation into the configuration of Windows Defender is in order, but there ain't much it lets you do, at least not that's obvious.
 
Hope this helps
R
 
--

Larry Rix

unread,
Aug 17, 2018, 9:15:45 AM8/17/18
to eiffel...@googlegroups.com
Now THAT is sensible! Stupid MS Windows! It would not be the first time that virus protection has trampled something it ought not.

Since you have shared that—it makes me recall that we (Manu and I) were able to get my ES working if we ran and installed in "Run as administrator" mode. I guess neither of us ever realized that Windows Defender might actually be "blacklisting" various EXEs behind the scenes where we could not see!




Larry Rix

unread,
Aug 17, 2018, 9:18:53 AM8/17/18
to eiffel...@googlegroups.com
Apparently, I am not suffering because I use Norton and have Windows Defender turned off. As I recall, I was using WD in an earlier life.



r...@amalasoft.com

unread,
Aug 17, 2018, 9:23:57 AM8/17/18
to eiffel...@googlegroups.com
A little more info
 
Windows Defender Security Center does offer some configurability, but not enough for my liking.
Under  "Virus & threat protection", there is a subtopic called "Ransomware protection"
There, you will find the controlled folder access option. When that is enabled, you will have all sorts of issues, like the precompile failure (for the reasons I cited earlier).
You can simple turn that off, at your own risk, of course.
If enabled, there are more options.  You can identify which apps to let through, and you can designate which folders to protect.  This option is too limited to help.  Because the default location for precompiles is under documents in the users tree, you'd need to remove the whole documents folder to liberate the precompile folder.  If you want the ransomware protection, then this would be a bad idea.
So, it looks like you can't have both ransomware protection and the default precompile location.
That leaves relocating the precompile location to an unprotected folder.
Perhaps Eiffel Software might want to think about changing the default location to something outside of the user's tree, at least in Windows.  Perhaps not.
I do believe though, that the mystery is solved.

Larry Rix

unread,
Aug 17, 2018, 9:24:01 AM8/17/18
to eiffel...@googlegroups.com
Yep—I have Norton set to "exclude" ES (and even my own stuff) from scanning (i.e. white listed):




r...@amalasoft.com

unread,
Aug 17, 2018, 9:27:47 AM8/17/18
to eiffel...@googlegroups.com
Hi Larry
I too used to use Norton, but my stepson (a pentest expert) recommended switching to WD as it was, at the time at least, the best of the bunch (for some value of "best")
 
-------- Original Message --------
Subject: Re: [eiffel-users] Re: Weird problem with my installation of
EiffelStudio

Larry Rix

unread,
Aug 17, 2018, 11:55:48 AM8/17/18
to Eiffel Users
I am certainly no pentest expert, so I am unsure of how WD compares to Norton given that knowledge base.

It does seem pretty obvious that virus protection is the culprit and we have choices on how we set up virus protection to where it stops interfering with ES and its moving parts.


Kind Regards,

Larry
Reply all
Reply to author
Forward
0 new messages