Hi All!

I am having a strange library dependency problem. It started yesterday afternoon in a set of code very far from where I was working at the time. I have tried everything I can think of (including creating a new dummy project, and rebuilding and renaming both libraries, one file at a time).

The problem appears to be associated with a generic type definition. When I remove the specialization for that generic and comment out the dependent code, the problem goes away (of course the program no longer works, but at least it compiles).

I have two packages: AppLibrary which contains application-specific units that will be used in several related projects, and; CommonLibrary which contains general-purpose units that I have used for years (some go back to Delphi 2). AppLibrary requires CommonLibrary. The generic type definition is in the common library, the specialization is in the app library.

CommonLibrary compiles successfully. AppLibrary (original version and all copies I have made for debugging this issue) fails to compile if it has a particular specialize clause in the interfaces section of any of its units (most of which have been working for the past month). I have tried all of the units one at a time and any one with this specialize clause included fails compilation the exact same way:

During compilation a dialog box appears with the caption "File Not Found". The directory it is looking for is the original path from the original app from yesterday. The path is associated with the AppLibrary and the persistslist2.pas file is in the directory associated with the CommonLibrary.

/home/pi/Module14Code/Common/persistslist2.pas

The path exists but the file does not (the file is in the appropriate directory for the library).

I tried creating a totally new project and as I said above, new libraries in a new directory tree. When I try to compile the AppLibrary I still get the error with the old path. I tried renaming the persistslist2 unit to persitslist3 (which only exists in the test version of the CommonLibrary). The same error occurs but now it wants the old path with the new file:

/home/pi/Module14Code/Common/persistslist3.pas

I have tried greping for the path and it only appears in files associated with the pre-problem application. Is it possible that something associated with the compiler's configuration file(s) is remembering the old stuff? This error has persisted through multiple reboots.

I am using Raspbian Jessie with Lazarus 1.7 (no changes here since early January). It worked properly using Lazarus 1.4.2 before then. I have rebuilt Lazarus in an attempt to fix the problem, but it made no noticable change.

One thing that would be useful is if the "File Not Found" dialog would reference the offending file and perhaps the source of the text of the path. I wasted a lot of time removing units from AppLibrary one-at-a-time before I could identify the failing ones.

Any help will be greatly appreciated.

Thanks,

Don Ziesig


--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to