View previous topic :: View next topic |
Author |
Message |
DanRRight
Joined: 10 Mar 2008 Posts: 2819 Location: South Pole, Antarctica
|
Posted: Sun Mar 26, 2017 4:01 am Post subject: Can not LINK |
|
|
Tried to compile my older program without any changes to it and got the error
Code: | $ SALF
[SLINK/Win32 v1.45 Copyright (c) Silverfrost Ltd. 1995-2013]
*** Don't understand: SALF |
That is something new and first time appeared today... What this cryptic message could mean? Some conflict with new libraries? Other programs link ok. I have seen this early today with other small program but it rapidly got away so I do not remember the reason or the remedy
Looks in reality like this
|
|
Back to top |
|
|
mecej4
Joined: 31 Oct 2006 Posts: 1886
|
Posted: Sun Mar 26, 2017 1:56 pm Post subject: |
|
|
You probably ran SLINK in interactive mode (The '$' command prompt is a sign of that) and, while entering linker directives, mistakenly entered a command meant for CMD.EXE. |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2819 Location: South Pole, Antarctica
|
Posted: Sun Mar 26, 2017 4:31 pm Post subject: |
|
|
I compile using BAT files. So nothing changed at all. Such linker diagnostics like above is like a crime against humanity :/. Sourcer also may give such cryptic message containing just couple letters, I reported that in the past. Such problems difficult to reproduce, and when the reason is found users typically do not report that. The result is existence of devilry --hidden absurdly poisonous bugs capable ruining a day. Returned to FTN95 ver 7 and still have the same error !
People, Report every sneeze of your experience, and send to developers or here into newsgroup if you like to discuss this first any suggestions for improvement of all aspects of this compiler from installation to usage of everything, anything you like and dislike!!!!! Many are lazy to write and as a results things are not updated because developers may have different priorities and many things to do in their long lists.
My suggestion to the company - please make verboze mode with 10x more info to the user and make it more like a suggestion for troubleshooting. Please review all the messages from the linker and decipher all small ones. That will exclude such messages like above and will add you many devoted novices as thankful users who initially know nothing from your advanced terminology you have got after decades of detailed treating of Fortran Standard. Right now all the super laconic diagnostics is a rudiment from the computers circa 1960 as if there is not enough memory for making things clear
Last edited by DanRRight on Mon Mar 27, 2017 4:09 am; edited 1 time in total |
|
Back to top |
|
|
mecej4
Joined: 31 Oct 2006 Posts: 1886
|
Posted: Mon Mar 27, 2017 2:52 am Post subject: |
|
|
Please follow your own advice and post the batch file and any scripts used. Then we can investigate what happened and why you saw that cryptic message. |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2819 Location: South Pole, Antarctica
|
Posted: Mon Mar 27, 2017 5:53 am Post subject: |
|
|
Isn't this true that I post already way more in this NG then enough? And in this particular case i'd prefer not to do that. There are absolutely nothing with the name SALF in BAT file's command line, no such filenames, no variables called SALF
Even more, I took the BAT file from another compiling computer and moved it to not working one and it does not compile sources in this computer.
Moving BAT file and the sources from compiling computer to not compiling one and running BAT file - all works fine. That means the compiler is OK and the problem might be in the source files or the folder. But no matter what the problem is such linker diagnostics is unacceptable
The only change on non-working computer in many months was installation of MS Vis Studio and MKL
Last edited by DanRRight on Wed Mar 29, 2017 4:59 am; edited 1 time in total |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7928 Location: Salford, UK
|
Posted: Mon Mar 27, 2017 7:42 am Post subject: |
|
|
Dan
Somehow SLINK is reading the command ??SALF??? instead of LOAD or one of the other valid commands.
The only other case that I can think of that is remotely similar is when a change from one OS to another changed the maximum number of characters allowed on a command line.
Hopefully you can provide some idea of the context for the failure so that we can help you. |
|
Back to top |
|
|
mecej4
Joined: 31 Oct 2006 Posts: 1886
|
Posted: Mon Mar 27, 2017 11:12 am Post subject: Re: |
|
|
DanRRight wrote: | Isn't this true that I post already way more in this NG then enough? :-) |
Perhaps, but in this case finding the answer may be of use to others.
Quote: | There are absolutely nothing with the name SALF in BAT file's command line, no such filenames, no variables called SALF |
Many (perhaps all) of the FTN95 EXEs and DLLs contain that string, which is what led me to suspect that one of those files was being interpreted (by mistake) as a linker script. |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2819 Location: South Pole, Antarctica
|
Posted: Mon Mar 27, 2017 11:19 pm Post subject: Re: |
|
|
PaulLaidler wrote: | Somehow SLINK is reading the command ??SALF??? instead of LOAD or one of the other valid commands.
The only other case that I can think of that is remotely similar is when a change from one OS to another changed the maximum number of characters allowed on a command line. |
Paul,The reason was painfully found. That xxSALFxxxx is leading keyword of all 64bit OBJ files and older SLINK does not yet understand that. You probably have to "teach" it doing that and provide the message "The XXXX.OBJ file was compiled under 64bit mode, please recompile in 32bit one", we will be mixing by mistake 32 and 64 all the time. Command line could be very large and right now it does not even tell which file was causing the problem. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7928 Location: Salford, UK
|
Posted: Tue Mar 28, 2017 7:33 am Post subject: |
|
|
Thanks Dan. It all makes sense now. Here is an extract from the help file about SLINK...
Quote: | As a special case, for interactive mode command files, the $ before the file name can be omitted. In this case, if the file is not recognised as a COFF object, it will be opened as a script file. |
Silverfrost 64 bit object files are not COFF objects.
So we should be able to make it less painful next time. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7928 Location: Salford, UK
|
Posted: Tue Mar 28, 2017 8:37 am Post subject: |
|
|
The next release of SLINK will trap the use of a Silverfrost 64 bit object file on the command link. |
|
Back to top |
|
|
mecej4
Joined: 31 Oct 2006 Posts: 1886
|
Posted: Tue Mar 28, 2017 11:18 am Post subject: |
|
|
Slink64 already is capable of alerting the user when it is fed 32-bit OBJ files:
Code: |
[SLINK64 v1.8, Copyright (c) Silverfrost Ltd. 2015-2017]
***fcph.obj is a 32-bit object file and cannot be loaded by SLINK64
|
|
|
Back to top |
|
|
|