Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/Compiler/Delphi/Other Compiler    [ Add a report in this area ]  
Report #:  1316   Status: Closed
Bad Packaged Unit Format errors when compiling a project group fro the 2nd time
Project:  Delphi Build #:  2195
Version:    6.0 Submitted By:   Maya McLeod
Report Type:  Basic functionality failure Date Reported:  5/20/2002 6:06:35 AM
Severity:    Commonly encountered problem Last Updated: 5/2/2003 12:58:35 PM
Platform:    All versions Internal Tracking #:  
Resolution: Need More Info (Resolution Comments) Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: (9 Total Ratings)
1.78 out of 5
Total Votes: None
Description
Error message received is

[Fatal Error] MyDLLsUnit.pas (28): Bad packaged unit format: c:\program files\borland\delphi6\projects\bpl\MyPackage.dcp.MyPackagesUnit
Steps to Reproduce:
1. I open up my main project group consisting of about 14 packages, 60 dll's and 4 exe's.
2. I select Project|Build all Projects from the main menu.
3. The packages are at the top, so they compile first, followed by the dll's and exe's (as the dll's and exe's all have the packages listed in their "Build with Packages" option).
4. If I then try to "Build all Projects" again a second time, then it gets to about the 3rd or 4th dll, and then I get a compiler error message along the lines of: [Fatal Error] MyDLLsUnit.pas (28): Bad packaged unit format: c:\program files\borland\delphi6\projects\bpl\MyPackage.dcp.MyPackagesUnit
5. If I then click on Project|Build, it will sometimes then compile fine.
Sometime I have to try a few times before it will compile, other time I have to compile the next dll in the group, and then come back to that dll again, and it compiles fine.
6. If I then try to "Build all Projects" again, I get the same compiler error again, but usually for a different dll this time.

Pressing F1 while on the error message tells me the following:

When the compiler attempted to load the specified unit from the package, it was found to be corrupt. This problem could be caused by an abnormal termination of the compiler when writing the package file (for example, a power loss). The first recommended action is to delete the offending DCP file and recompile the package. If this fails, contact Borland Developer Support.

a. I have a UPS
b. It happens every single time I need to try to build all my projects a second time.

Only solution I have found is to close Delphi down, and reopen it (but it takes about 10 minutes for the project group to load)
Workarounds
None
Attachment
None
Comments

Dave Nottage at 6/3/2002 4:15:40 AM -
Please refer to Stefan's comments on the resolution tab.

Oliver Giesen at 6/4/2002 12:21:53 AM -
I also get this problem quite often in D5, but I have so far not been able to reproduce it at will. The steps given here also do not reliably reproduce the problem.

BTW: How should I rate this now? I can confirm the problem and consider it very annoying at best but the report in its current form is probably insufficient as a means to solve the problem. Obviously there's a difference in rating the issue against rating the report...

Maya McLeod at 6/6/2002 1:42:20 AM -
I think trying to reproduce the problem could take days, and might not get us anywhere.
Perhaps we can try and see what not so common features we are using are common between our projects?

ie. I am using DLL's and Packages, and have build with packages ticked in all the dll's.

I also have the packages on a network drive, and my dll source on a local drive.
The network drive is mapped, and I am using the mapping, not the UNC name to acess those files.

I have tried clearing out all hints and warnings from all the bpl's and dll's.
The only warnings that still remain is the use of the FileCtrl unit (Is specific to a platform).

Do you get any other funnly internal errors at all when compiling?

Oliver Giesen at 6/9/2002 1:34:06 PM -
Yep, it's packages and DLLs and some executables. DLLs and executables are all built with runtime packages. The error always happens during compilation of one of the DLLs. All of my sources are stored locally. Most of the packages all go to c:\winnt\System32, while two of them and most of the DLLs go to a specific directory, as do the executables. There's lots of dependencies between the packages themselves and the DLLs and executables all depend on all of the packages. The executables do not depend upon the DLLs, which are COM servers (~plugins for the executables).

Stefan Hoffmeister at 6/6/2002 10:54:30 AM -

>I also have the packages on a network drive, and my dll source on a local drive.
>The network drive is mapped, and I am using the mapping, not the UNC name to acess those files.

What happens if you don't have these files on a remote server, but keep them locally?

Stefan Hoffmeister at 7/8/2002 2:48:26 AM -
No activity on this report for a month - so lets stop tracking it

Server Response from: ETNACODE01