Silverfrost Forums

Welcome to our forums

Checkmate or Release ?

2 Dec 2013 4:17 #13389

Hello 😃

PLATO has a behavior that I cannot understand ! Here is my problem :

1/ I have a 'project' in development which I configure in mode: '[color=red:adfc52193c]CheckMate WIN32[/color:adfc52193c]', as it is recommended in ' BASIC features of Plato '.

2/ Then, I 'build' the subroutines of the project and, in the ' output ' window of Plato , I have this message:


Compilation completed with no errors. Linking... Creating executable: CheckMate\Win32\BenchST.exe Linking completed.


Well, but when I launch the execution, I have the message:

                  ' ERROR: the target does not exist ' 

... and I verify that actually, I have no file ' BenchST.exe ' in sub-directory 'CheckMate\Win32\' . Furthermore, a 'find' on all my hard disk indicates me that such a file is nowhere 😦

3/ On the other hand, if I re-configure in mode '[color=red:adfc52193c]Release WIN32[/color:adfc52193c]' the executable is created, stored in the sub-directory ' Release\Win32\ ' and when I launch the execution, I have my results !!!

Hence my question: where I make an error in the 1st case?

Thank you in advance for any answer 😃

Cordially SosPel

2 Dec 2013 4:25 #13390

Look at the file called buildlog in the project folder. If it does not help you to identify the problem then post the file here for me to look at.

2 Dec 2013 4:49 #13391

@PaulLaidler

Thanks for speedy answer !

1/ File 'buildlog' has only one line :

slink.exe -OUT:'CheckMate\Win32\BenchST.exe' @'C:\Dossiers@Themes\Fortran95\Exploitation\Bench-ST\link.lst'

2/ File 'link.lst' has only four lines (there are 4 sub-routines):

'C:\Dossiers@Themes\Fortran95\Exploitation\Bench-ST\CheckMate\Win32\NomRez.obj' 'C:\Dossiers@Themes\Fortran95\Exploitation\Bench-ST\CheckMate\Win32\BenchRef.obj' 'C:\Dossiers@Themes\Fortran95\Exploitation\Bench-ST\CheckMate\Win32\Chrono.obj' 'C:\Dossiers@Themes\Fortran95\Exploitation\Bench-ST\CheckMate\Win32\Main.obj'

Cordially SosPel

3 Dec 2013 7:52 #13392

What happens when you choose 'Debug' rather than 'Checkmate'? It's a long shot but 'Checkmate' is longer than 'Release' so there just might be a problem with the length of the path.

3 Dec 2013 1:43 #13393

Hello Paul !

What happens when you choose 'Debug' rather than 'Checkmate'?

Same as 'Checkmate Win32' mode 😦

3 Dec 2013 2:05 #13394

I have tried creating a simple project using your path and it works OK for me.

Do you have write access to the folder that should contain the executable?

3 Dec 2013 2:47 #13395

Do you have write access to the folder that should contain the executable?

I've write name of executable in window 'Project target', without the path.

Where write the access to the executable folder ?

3 Dec 2013 5:27 #13396

Are you able to create a file in the folder called 'Checkmate'? Plato is trying to do this and I wondered if you could do it? For example, are you able to save a file to this folder?

3 Dec 2013 7:39 #13399

Hello Paul !

Are you able to create a file in the folder called 'Checkmate'?

no problem ...

For example, are you able to save a file to this folder?

no problem ...

So, I don't understand why Folders 'Checkmate\win32' and 'Release\win32' which have same Windows attributes have not same Plato results 😢

Meanwhile, many thanks for your help !

Sospel

6 Dec 2013 4:49 #13411

Hello !

My problem is not still solved : the ' checkmate 'mode does not create executable, while the ' release ' mode creates it 😢

Now, by consulting some calculations dating the beginning of the year, (thus most probably with the 'version 6.xx') , [color=red:27b5106a43]and with same parameters[/color:27b5106a43], everything worked well : in every case I have the executable in ' checkmate\win32\ '..

Anybody did not have this problem ??

Thanks for any answer 😃

Cordially Sospel

6 Dec 2013 5:28 #13412

I don't know how this could happen but I would check that the key Silverfrost files ftn95.exe, slink.exe and salflibc.dll exist in the compiler folder (typically C:\program files (x86)\silverfrost\ftn95) and that there are no copies of these files in the project folder or its sub-folders.

Also make sure that there are no old copies of these files anywhere on your machine.

7 Dec 2013 10:20 #13418

Hello Paul !

I would check that the key Silverfrost files ftn95.exe, slink.exe and salflibc.dll exist in the compiler folder

They are ...

there are no old copies of these files anywhere on your machine

There are no copies ...

Problem is to find an answer at the basic question :

[color=red:f1cbb12408]why 'release mode' makes an executable, and not 'checkmate mode ' ?[/color:f1cbb12408]

Perhaps answer is in source of SLINK.EXE module ??

Cordially, Sospel 😃

18 Dec 2013 3:16 #13491

Hello 😃

Anybody did not have this problem?

Anybody does not suspect a bad PLATO configuration from me?

Thanks for any answer !!

19 Dec 2013 12:55 #13495

Sospel,

For some reason, Plato is not producing a .exe for /check. You should compile the file(s) in a cmd.exe box, outside Plato. This will give you more messages from the compiler. It could be that the compiler identifies an error using /check that it did not identify without /check.

This would be a good option for Plato; to report more/all messages from the compiler. Is it possible to change the compiler options within Plato so these messages are not suppressed? I am assuming these messages are suppressed so that Plato can lock in the line numbers of the warning and error messages that are reported; which makes me wonder why the change I am assuming for /check is not being reported.

I always generate my .exe using a batch file, something like: ! make.bat date /T > ftn95.tce time /T >> ftn95.tce del program.exe >> ftn95.tce del program.map >> ftn95.tce del *.obj >> ftn95.tce del *.mod >> ftn95.tce

ftn95 program /debug >> ftn95.tce ftn95 others /debug >> ftn95.tce ftn95 tools /opt >> ftn95.tce ftn95 user_interface /check >> ftn95.tce

slink load_program.txt >> ftn95.tce

dir /od >> ftn95.tce notepad ftn95.tce

! load_program.txt lo program.obj lo others.obj lo tools.obj lo user_interface.obj le \my_lib\static_lib.lib map file

The advantage of this approach is I can see what has been generated and what is missing

John

19 Dec 2013 8:15 #13500

Plato suppresses some things, like the banner, but hopefully does not suppress any significant information. If it does then please let me know.

19 Dec 2013 6:34 #13505

Are you running AVG?

19 Dec 2013 8:30 #13506

@JohnCampbell

Hello John !

Thank you for your very detailed answer 😃

But the first sentence surprises me : why PLATO does not create an 'exe' for '/ check'?

If this is the case, I understand very well the necessity of a batch outside PLATO, and I have nothing to add about your example, of which I thank you.

But is it superhuman for the designers of PLATO to include this batch automatically ?? Because since it makes an exe for the ' release 'mode , why not for the ' checkmate 'mode ?

For example, I have an old IDE of OpenWatcom (only for Fortran 77 ) which has 2 clicks : one to a ' make all ' then another to 'run' ! And it manages to make meanwhile the 'exe'!!

You maybe go to consider that I demand too much, but I am an engineer, specialist of numerical calculation, not a system-engineer... And when I see some IDE of programming BASIC to propose all the actions with only 2 or 3 clicks, I think that FORTRAN does not make much to attract the programmers: if it is necessary that I open a window 'cmd ', then that I launch a batch, then a Notepad, then that I correct source in PLATO, then I must begin again every time I change a parameter, I so much like program my calculations of Astronomy with another IDE ...

Having said that, thank you for the time which you spent to answer me !

@davidb

Are you running AVG?

No, I have only Avast antivirus

Cordially Sospel

19 Dec 2013 10:57 #13507

Sospel,

Plato does create a .exe file normally (when selected), but you are reporting that it doesn't. My suggestion was to use a batch file, as you might be better able to see why the .exe is not being created, not that Plato does not generate a .exe. I am suggesting that a cmd.exe and .bat approach offers more flexibility to investigate the unusual problem you are having, which I suspect is more a user problem, rather than an IDE problem. It might shed some light onto the problem you are having. Do you use any libraries (.lib) or other external links ?

As you are resorting to /check, the .bat approach is very useful as it allows you to apply /check to only the files that are of interest, and you can apply /debug to the others that do not require being checked. Checking takes much longer to run.

Another approach I have found useful to simplify the process is that if you have multiple .f95 files, you can include them all, using the include statement and then treat the project as a single all.f95 file. Then try 'FTN95 all /link'.

! file all.f95
 include 'program.f95'
 include 'others.f95'
 include 'tools.f95'
 include 'user_interface.f95'

This works with FTN95, but I have not tried it with Plato. It is a good approach when using a Fortran compiler that you are not familiar with, as the compile and link is a single command, that all compilers I have used support.

Normally you can use the 'Build' or 'Start' icons to generate a .exe in Plato.

John

20 Dec 2013 7:35 #13514

Sospel

I don't know why this is happening on your machine.

If you have another PC (or a friend who will let you use theirs) try a fresh download of the personal FTN95, write a 'Hello World' program in Plato, save it to a file, select 'CheckMate Win32' on the toolbar and then click on the 'Build' then the 'Start' buttons on the toolbar.

If you only to do this and nothing else then I am confident you will get this exe to run.

After that you will need to experiment to find out how this differs from situation on your original machine.

20 Dec 2013 8:33 #13515

Hello !

Well, I am going to make the manip recommended by Paul. It is not excluded that there is a bad configuration in my Plato's installation...

I shall see all this in my back from holidays of CHRISTMAS . In the meantime, good holidays in all 😃

Cordially Sospel

Please login to reply.