C compiler stops on new install under WIndows

46 views
Skip to first unread message

Thomas Beale

unread,
May 17, 2023, 3:13:03 AM5/17/23
to Eiffel Users
I did a new install of 22.12 on an up-to-date Windows 11 installation and re-compiled existing software. The Eiffel recompile worked (with hundreds of warnings) but the C compilation stopped dead with the following:

Preparing C compilation using already configured mingw C compiler...
Makefile:32: *** missing separator.  Stop.

Not helpful, to say the least.

The compilation goes to completion on my usual machine, same platform, also using mingw.

Unfortunately, I need to get ES going on this machine in order to debug the application with data that can't leave a secure environment.

Any ideas?

- thomas

r...@amalasoft.com

unread,
May 17, 2023, 7:21:30 AM5/17/23
to eiffel...@googlegroups.com
No clue, really, but I'd look at environment variables and try running make -n in the affected folder to, maybe, get a little more info.
R
--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/eiffel-users/d59431c1-e386-4749-b96e-772d2cf6d8a3n%40googlegroups.com.

Ulrich Windl (Google)

unread,
May 17, 2023, 7:57:54 AM5/17/23
to eiffel...@googlegroups.com

Thomas Beale

unread,
May 17, 2023, 8:32:16 AM5/17/23
to Eiffel Users
I was being a bit lazy, and thinking this might be a well-known error with a well-known explanation (to those in the know).

Here's a screenshot of the Makefile. You'll see that there is a CR LF inserted where there shouldn't be. Manually fixing it isn't much help, since the Makefile is always generated incorrectly. I can't see anything wrong with the paths in the Windows Env vars (2nd screenshot). Editing them shows no extra characters at all at the end of any paths.

So, the proximate problem is clear, but doesn't help much really.

ES-Makefile.png
ES-env_vars.png

r...@amalasoft.com

unread,
May 17, 2023, 8:37:55 AM5/17/23
to eiffel...@googlegroups.com
Just curious why the PATH line (32) uses the Eiffel assignment operator instead of the shell one :)
R

Anders Persson

unread,
May 17, 2023, 10:13:42 AM5/17/23
to eiffel...@googlegroups.com
Tomas

Maybe you have a CRLF in the beginning of the "PowerShell" env variable?

image.png

Vänligen

Anders Persson
+46 763 17 23 25
   Bli medlem i Djurens Rätt https://www.djurensratt.se/


 Ge bort världens bästa gåva - träd! https://viskogen.se


Thomas Beale

unread,
May 17, 2023, 3:59:16 PM5/17/23
to Eiffel Users
Anders,
amazingly, you are right. Now I wouldn't want you to think I didn't check - of course I went into the PATH variable and hit 'edit' on the paths possibly implicated in that CRLF. Powershell path is included twice (who knows why, I don't care about powershell at all). Following your reply, I thought I had better double check. On one of those two paths I found that if I went to the start of the path, I could move the cursor one char to the right, visually perhaps a single pixel (i.e. invisible). But I could delete one character (not two). Then restarted ES and the compile went to completion.

The machine I am on is a new machine with few things on it - mainly MS corporate-ware.

Thanks for the hint!

I would also like to know why the PATH assignment line uses the ':=' operator, per Roger. It does in the working version of the Makefile as well. Very strange.

Anders Persson

unread,
May 18, 2023, 12:54:16 PM5/18/23
to eiffel...@googlegroups.com
Thomas

Thanks, and great that it helped. I saw the small indentation and thought it was worth a try.

Vänligen

Anders Persson
+46 763 17 23 25
   Bli medlem i Djurens Rätt https://www.djurensratt.se/


 Ge bort världens bästa gåva - träd! https://viskogen.se

Reply all
Reply to author
Forward
0 new messages