forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Probably spurious path information making FTN95 Linker fail.

 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> General
View previous topic :: View next topic  
Author Message
rcsaumarez



Joined: 23 Mar 2008
Posts: 9
Location: Cambridge UK

PostPosted: Tue Nov 11, 2014 4:30 pm    Post subject: Probably spurious path information making FTN95 Linker fail. Reply with quote

Hi,

I've been running FTN95 on widows 8.1 since it was released without problems (Using Plato as the IDE).

These are my details:
Version 5.50
Serial No: 007349
Name Dr Richard Saumarez


Yesterday, something (? what) happened and every time I tried to link a program, the linker crashed (Rather stupidly I didn't save a copy of the assembler output associated with the failure)

I uninstalled and reinstalled FTN95.

Now with any simple, one file main program that doesn't use any libraries and has no references specified, I get the following error:

Compiling and linking file: FreeFormat1.f95
error 51: - Unable to open library file C:\Users\rcsau_000\FEN_EP\Numerics\Inverse_problem\Stage4\szlib.lib
error 51: - Unable to open library file C:\Users\rcsau_000\FEN_EP\Numerics\Inverse_problem\stage3b\szlib.lib

szlib.lib is my private numerics library. I could rebuild the library, once I had reinstalled FTN95, using the previously installed Plato project. This did not help the problem.

The two references are to projects that I haven't used for several months and not the working directory of any of the programs I try to run.

I guess that there is some spurious path information in the linker options, but I can't work out where it would be. Can you help?

Yours

Richard Saumarez
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Tue Nov 11, 2014 7:47 pm    Post subject: Reply with quote

If you are using a Plato "project" then look at the project ini file. This is a text file that you can open and edit.

Now look for the lib that you don't want and remove it.

Alternatively you should be able to do this from the "Project Explorer" window when running Plato.

If you are not using a Plato "project" then find the Plato.ini (C:\Users\xxxx\AppData\Roaming\SilverFrost\FTN95\Plato.ini) and look inside it for the problem lib path.
Back to top
View user's profile Send private message AIM Address
rcsaumarez



Joined: 23 Mar 2008
Posts: 9
Location: Cambridge UK

PostPosted: Sat Nov 22, 2014 12:27 pm    Post subject: Reply with quote

I'm having a really bad IT week.

I've fixed the path problem however now when I run and compile a program, once the program has finished all the program listings disappear from the Plateo IDE. I have to close and restart Plato to get them back.

The only thing that has changed is that I signed in to my Microsoft account which has changed my path name and therefore I have to change the path names in every program I've written.
Back to top
View user's profile Send private message
LitusSaxonicum



Joined: 23 Aug 2005
Posts: 2388
Location: Yateley, Hants, UK

PostPosted: Sat Nov 22, 2014 4:19 pm    Post subject: Reply with quote

Richard,

Having fixed path names is sometimes a mistake. There are several solutions that can help. One is to make the paths for such things as help files and settings relative to the location of the executable. I find this using GET_PROGRAM_NAME@, which gets the program name and path, then I cut off the program name and extension from the end, and add the sub-paths.

You could also give the files rather unusual names, and search for them using FIND_FILE@. A good time to do this is on start-up as the delay is less noticeable there.

Another alternative is to put all the relevant paths in an INI file. This is an old-fashioned way to do it (although I do it). I have an extra entry in my Files menu where I can reset the paths, and to save a lot of typing I make use of BROWSE_FOR_FOLDER@ to choose them.

Really, one ought to store these paths in the registry. You can most easily access the registry by using an installer program (Like Jordan Russell Software's Innosetup). However, to access the registry you need to use functions that aren't a normal part of FTN95. Some have been uploaded to this forum.

Of course, all this blows up in your face if the directory structure is altered! The whole point is that if the paths are stored in the source code, you need to recompile and relink, but if they are stored in a file or the registry you only need to use Notepad or Regedit ...

Eddie

PS there have been bucketloads of improvements since 5.50
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Sat Nov 22, 2014 6:36 pm    Post subject: Reply with quote

One thing that might help...

Plato has an option to "Use relative path for project files". This means that all paths are relative to the path for the project.

You will find this option on the Tools menu under Options, then Environment, then General.
Back to top
View user's profile Send private message AIM Address
LitusSaxonicum



Joined: 23 Aug 2005
Posts: 2388
Location: Yateley, Hants, UK

PostPosted: Sun Nov 23, 2014 12:00 am    Post subject: Reply with quote

Ah - I misunderstood, and launched into a solution to a different problem! My comments above are about file references from inside your program, and not from Plato about a project.

Sorry.

Eddie
Back to top
View user's profile Send private message
mecej4



Joined: 31 Oct 2006
Posts: 1885

PostPosted: Sun Nov 23, 2014 5:34 pm    Post subject: Reply with quote

Don't worry, you have lots of company.

Quote:
For every complex problem there is an answer that is clear, simple, and wrong. -- H. L. Mencken
Back to top
View user's profile Send private message
rcsaumarez



Joined: 23 Mar 2008
Posts: 9
Location: Cambridge UK

PostPosted: Mon Nov 24, 2014 3:28 pm    Post subject: Reply with quote

Thanks for your replies.

The most obvious problem after fixing the library path problem, or at least I thought I had fixed it, was that every time I ran a program under Plato, the listings in the source files (open or not) simply disappeared.

When I tried to uninstall FTN95, the uninstaller wouldn't complete and uninstall FTN95.

I ran the Norton virus checker with the extreme checking option and it showed that the windows installer and several of the ftn95 applications were infected by a Trojan.

After repair, I could uninstall FTN95 and then reinstalled it from a CD backup. The problem of the library paths and the souce code vanishing now appears to be fixed.

However, although the "integrate with SDBG" option is activated, the SDGB is not automatically invoked when a program is debugged using Plato and has to be incoked manually. When this is done, breakpoints set in the source code do not function (although they are specified in the .ini file)

In summary, Plato and FTN95 are now usable, but still not functioning quite as they should. I have done another virus check, which is negative, but I am not sure if something has been corrupted that has survived re-installation.

Any suggestions?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> General All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group