Delphi XE: bogus "Never-build package must be recompiled" / "F2084 Internal Error: U10346" errors when building packages
Asked Answered
U

3

9

I'm trying to build a package (package A) that contains the DWS compiler. It works, but when I then have a second package (package B) that requires package A, containing any unit that uses a specific unit from DWS, I get the error:

[DCC Fatal Error] E2225 Never-build package 'Package A' must be recompiled

If I change package A to recompile-as-needed, the error doesn't go away. I instead get

[DCC Fatal Error] F2084 Internal Error: U10346

at the same point.

I posted a bug report at http://code.google.com/p/dwscript/issues/detail?id=419 and it appears that the problem isn't reproducible on the author's end, which means that something's going wrong on my end. He offered some helpful advice: "I've sometimes seen this error because of a stray DCU."

Searching for and deleting all DCUs that could possibly be relevant did not resolve the issue, even after restarting both the IDE and the computer.

Running a trace on BDS using Process Monitor during the compilation process did not reveal anything that looked relevant.

Does anyone have any ideas on how to track this down? Using Delphi XE, update 1.

Cross posting to the Delphi forums. Let's see who comes up with a solution first.

Underplay answered 14/6, 2013 at 17:36 Comment(5)
Yes, this annoys me too, I just wound up combining two of my packages together to avoid this.Parapsychology
@JerryDodge: Unfortunately, that's not an option here.Underplay
@Mason Wheeler. About "it appears that the problem isn't reproducible on the author's end, which means that something's going wrong on my end". Why should the problem be on your side only? Couldn't it be that the author cannot reproduce the problem on his side because he's not using the same configuration/settings has you are or you have a test case that he hasn't covered?Kandi
@J.Gonzalez: I understand what you're saying, but in this case I'm convinced to my satisfaction that it's a local issue. Have a look at the linked bug report. It's quite clear that the problem is not reproducible at the author's end.Underplay
@Mason Wheeler. Based on "it's a local issue." you have the problem on one machine or can you reproduce it on other machines?Kandi
L
9

I also had the problem and found a work around.

It seems the problem is caused by the compiler Inline features. I remember that bug is caused when using inlined method and that method is too big.

This bug is exclusive for Delphi XE and seems was never fixed.

Check the next options of the packages

1) dwsLibRuntime package

  • Delphi Compiler/Code generation/Code inlining Control = Auto or On or OFF
  • Description/Build control/Rebuild as needed

2) dwsLib package

  • Delphi Compiler/Code generation/Code inlining Control = OFF (this is the important thing)
  • Description/Build control/Rebuild as needed

Recompile the packages and seems it works, it installs correctly and I can compile the DwsIdeDemo

I have posted also the solution to the bug report you made at: http://code.google.com/p/dwscript/issues/detail?id=419

Lotuseater answered 11/9, 2013 at 10:35 Comment(2)
Yeah, this turned out to be an inlining-related problem, and some later checkins fixed the issue.Underplay
This is still an issue in Delphi 10.0 seattle.Fugate
A
4

This indeed seem to be a bogus message, since setting the package in question to "rebuild as needed" doesnt work.

What did work for me however was to remove the package that needs to be rebuilt from "require" tab on the package that asks for it. After that, everything built just fine.

Apache answered 26/1, 2015 at 12:10 Comment(0)
G
0

For packadge Look at Project Option > Description > Build Control change from Explict Rebuild to Rebuild as needed

bye

Galumph answered 7/2, 2014 at 18:9 Comment(2)
As noted in the question, I already did that. It didn't work.Underplay
Setting the "Rebuild as needed" option in both main and required packages worked for me.Pointing

© 2022 - 2024 — McMap. All rights reserved.