After Downloading the source, tried to compile the code.
The first bump was missing Jedi components, so downloaded jcl-2.2.1.3817-partnerdvd
Next step was installing , which was fine.
Now After Compiling , the error message is :
[DCC Fatal Error] Utils.pas(4): F2051
Unit JclCompilerUtils was compiled
with a different version of
JclSysUtils.IJclCommandLineTool
tried to download diffrenct versions, however the owner of the code claim it was compiled with 2.2.
Ideas how to resolve this?
edit: i just removed some references to the jedi from the library path, i hope didn't do any damage. still no go.
EDIT 2: downloaded the 0.57 and not the default resulted in:
[DCC Fatal Error] Utils.pas(4): F1026
File not found: 'JclBorlandTools.dcu'
now it seems as a simple version problem with jcl, ill reinstall(again).
Most Delphi error and warning messages are pretty clear, but "Compiled with a different version" errors are one of the few exceptions. What it really means is:
Something in Unit JclSysUtils (or one of its dependencies) has changed, and Unit JclCompilerUtils, which has a dependency on JclSysUtils, needs to be recompiled now, but only the DCU for it is available. Unable to locate the PAS file to recompile it.
Try making sure that the original source code for all the JCL units is available to the compiler.
I have checked my settings. I have compiled latest revision of delphipi using JCL 2.2.1.3886.
My library path contains following paths:
C:\Users\Public\Documents\Soft Gems\Virtual Treeview\Source
C:\Components\jcl-2.2.1.3886\lib\d14
C:\Components\jcl-2.2.1.3886\source\include
Delphipi depends three external libraries which are JCL, dxgettext and Virtual Treeview and links to these libraries are listed in the homepage of the project. I think you should check double check your JCL installation and library paths. Sorry, there is nothing else I can do about this. Good luck.
Related
I'm currently involved in a Delphi XE5 project and I'm facing a problem that I could not solve. I have a Delphi project group that conists of one EXE; this EXE loads multiple runtime BPL's dynamically. These BPL's are also part of the project group. However, when I run the application, I got the error 'Project {MyProject.exe} raised exception class EPackageError with message 'Cannot load package 'PumpMethod'. It contains unit 'FlEdit', which is also contained in package 'eXtractionUnitMethod'.
I already searched on SO, and I've found the cause. Especially Is "implicitly imported" always a bad thing in Delphi packages? was of big help. During compilation, both BPL's of my project, emit the following message:
[dcc32 Warning] PumpMethod.dpk(46): W1033 Unit 'FlEdit' implicitly imported into package 'PumpMethod'
Other one as well:
[dcc32 Warning] eXtractionUnitMethod.dpk(46): W1033 Unit 'FlEdit' implicitly imported into package 'eXtractionUnitMethod'
But the point is that FlEdit, a textbox control that allows only the input of floats, is already part of an installed package. This package, 'Spark190.bpl', contains the control, and thus also the FlEdit unit. I've registered it and the control appears on the Tool palette. This is the project with the control:
There is also a project DclSpark190.bpl, but that is a design time package (contains the registering of the controls). When I close this project group and create a new one, I can drag/drop 'My float edit' on a form, and this runs all fine.
When I now open the project group with the EXE, and build the BPL's I got this message:
This again seems okay for me. The Spark package (with the FlEdit) is now included in the 'requires' list:
But when I compile again, the 'the following changes...' is shown again. That looks abnormal to me; the Spark BPL is already included in the requires list? So:
Q1: Why is that happening? Is it a bug in Delphi XE5? Do I something wrong here?
Also, the 'FlEdit' implicitly imported into package 'PumpMethod' is still not away:
So:
Q2: I think I've put FlEdit in a separate package 'Spark'. Both BPL's contain 'Spark' in the required package list, but still the warning (W1033) is shown. What else can I do?
I have a seemingly unsolvable (to me!) problem.
If I start a simple vcl forms app and try to compile, I get multiple warning/errors as follows :
[DCC Warning] SysUtils.pas(6082): W1000 Symbol 'SInvalidInteger' is deprecated: 'Use SysConsts.SInvalidInteger'
etc.
[DCC Fatal Error] Variants.pas(1071): F2092 Program or unit 'Variants' recursively uses itself
The library path options both in the global and project sections seem Ok,
but if I hover over the dcc32.exe build or output messages, I can see a vast selection of
paths which are not relevant and also are repeated about 3 times.
The dcc32.cfg is quite short and seems Ok.
It looks like the path is corrupt somehow and although I've reinstalled D2009 (after deleting the program) and also cleared the registry, I cannot seem to solve this problem.
question : how can I reset or clear this dcc32.exe path - where is the option file, or is it created on the fly?
This problem occurred when I tried to compile a D7 project/or added JCL/jvcl (now removed)
Thanks for any ideas!
I am compiling my project from the command line using dcc32 compiler. I am running into this error 'Required package X not found'
But I do have the path all the files in X.* defined in windows path variable.
I am stuck at this error.
Any insight is appreciated much!
Thanks
For compiling, the compiled package - .dcp - is needed. It doesn't help if this file is in the Windows search path, the compiler has to be able to find it, in its library path or the project's search path.
I've suffered many headaches with problems like this - can't say for sure this will help you, but certainly should point you in the right direction:
1) As far as I know, Windows path variable is not enough for the Delphi compiler - even though you're running from the command line. You need to check your Delphi environment options, project options, etc.
2) Even if your Delphi paths appear to be correctly configured, your dpr may be referencing units explicitely that are not found; or you may have packages installed originally on different (and perhaps missing) paths than what your now pointing to;
3) Old, out of date DCU's found on your project paths can cause mysterious problems...
4) Can you compile this project in the IDE? What happens when you try?
HTH
There is already a similar question(link).The thing is I don't understand what unit I have to delete.
I have installed the latest JCL library and added 'JclCompression' to the uses list in a unit and I get the error: "Unit JclCompression was compiled with a different version of sevenzip.IOutArchive".
Please explain to me in a simpler way how to resolve the problem.
Thanks in advance!
What it means is that you have an outdated version of JCLCompression.DCU sitting around. The compiler tries to use a DCU first if it can find it, and then recompile from the PAS files if there's no DCU available or if the DCU is stale.. What this error means is that the DCU is stale and it's trying to rebuild from the source, but it can't find sevenzip.pas, which JclCompression uses. Try finding Sevenzip.pas and add it to your project's search path, or to Delphi's search path.
I'm trying to compile a project and I'm getting this error.
The error occurs in a RemObjects source file, but I think it doesn't have anything to do with RemObjects.
Anyway this error is too generic, and I don't quite get why it happens, so how can I solve it?
The problem was that we translated the unit SysConsts and the Interface changed, removing that unit solved the problem.
This error occurs if you mix libraries. You are probably using a (third-party) library that is compiled with a different version. Try to get the latest version, or recompile if you have the source.
If the problem persists, try to get a minimal subset of the project to find the offending unit / dcu file.