kbmMW Compile Tool error

Home Forums kbmMW kbmMW Compile Tool error

Viewing 5 reply threads
  • Author
    Posts
    • #55644
      alexeiyuz
      Participant

      Hi, I try to recompile the Compile Tool during my first installation of kbmMW Pro v.5.14.00 and I get the following error: “No valid compiler version found. Require XE2 or newer.” Delphi XE3 Pro is installed. What am I doing wrong? Thank you.

      • This topic was modified 3 years ago by alexeiyuz.
    • #55646
      kimbomadsen
      Keymaster

      Hi,

      It is checking the registry to see what versions of Delphi/RAD Studio has been installed.

      In your case it will look in Computer\HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\10.0 and read RootDir and try out if the directory actually exists and is readable.

      Then it will open Computer\HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\10.0\Personalities and determine if Delphi or C++Builder is installed.

      Finally it will look again in Computer\HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\10.0 and read ProductVersion.

      If the above three scenarios fail, it will ignore the installation.

      I wonder if ProductVersion is also missing for XE3. I honestly in general really suggest people to move up to something much newer, since plenty of things like generics, anonymous methods etc. are very hit and miss working/failing in anything before XE7.

      /Kim

    • #55650
      alexeiyuz
      Participant

      Hi Kim,

      All the registry keys exist and file system paths are accessible. The value for ProductVersion is 17. But it seems like the CompileTool.exe doesn’t look in Computer\HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\10.0. If searching for “BDS” string Process Monitor utility shows only the following rows:

      22:01:47.4951725 CompileTool.exe 14140 RegOpenKey HKCU\Software\Embarcadero\BDS SUCCESS Desired Access: Read
      22:01:47.4951878 CompileTool.exe 14140 RegSetInfoKey HKCU\SOFTWARE\Embarcadero\BDS SUCCESS KeySetInformationClass: KeySetHandleTagsInformation, Length: 0
      22:01:47.4951950 CompileTool.exe 14140 RegQueryKey HKCU\SOFTWARE\Embarcadero\BDS SUCCESS Query: Cached, SubKeys: 1, Values: 0
      22:01:47.4952063 CompileTool.exe 14140 RegEnumKey HKCU\SOFTWARE\Embarcadero\BDS SUCCESS Index: 0, Name: 10.0
      22:01:47.4952188 CompileTool.exe 14140 RegCloseKey HKCU\SOFTWARE\Embarcadero\BDS SUCCESS

      Thank you.

      • This reply was modified 3 years ago by alexeiyuz.
    • #55652
      kimbomadsen
      Keymaster

      Hi,

      Ahh…. the reason is that the compile tool has specified lower limit to be XE5, because I have no means of testing lower versions any longer.

      You can change it and compile the compile tool again using Delphi.

      However XE5 is oldest supported and compile tested version with newer versions of kbmMW.

      If you want to change it, open uCompileToolFeatures.pas and locate LOWEST_SUPPORTED_BDS_VERSION and change that to 10.0.

      Then compile it. If it compiles then you can run it and have it attempt generate projects for XE3.

      /Kim

      • #55654
        alexeiyuz
        Participant

        Thank you Kim, I’ll try this.

      • #55660
        alexeiyuz
        Participant

        Hi Kim,

        When I try to compile the compile tool project I get the following error: [dcc32 Error] kbmMWCore.pas(120): E2003 Undeclared identifier: ‘TInterlocked’.

        Where is it defined?

        Thank you.

    • #55665
      kimbomadsen
      Keymaster

      Hi,

      Open kbmMWCore.pas

      Update the uses clause in the interface section to:

      uses
      Classes,
      SysUtils,
      {$IFDEF WINDOWS}
      Windows,
      {$ENDIF}
      {$IFNDEF LEVEL18} // XE4+
      SyncObjs,
      {$ENDIF}
      kbmMemTypes;

      /Kim

    • #55670
      alexeiyuz
      Participant

      Hi Kim,

      I’ve done that and now I have another error: “[dcc32 Fatal Error] kbmMWNullable.pas(779): F2084 Internal Error: URW1147”.

      • #55671
        kimbomadsen
        Keymaster

        Hi,

        Yes.. that are some of the issues with older compilers… they contain bugs, which this is one of, why I recommend XE5 or newer.

        /Kim

        • #55672
          alexeiyuz
          Participant

          Ok. Does kbmMW work with Delphi Community Edition 10.4.2?

          Thank you.

          • #55673
            kimbomadsen
            Keymaster

            Hi,

            Yes kbmMW Pro or Ent should compile fine with Delphi CE 10.4.2. Some database API’s are AFAIK not included in CE, so you would not enable support for those in kbmMW.

            /Kim

          • #55675
            alexeiyuz
            Participant

            Hi Kim,

            I installed Delphi CE 10.3.3. Then I removed and reinstalled kbmMemTable and kbmMW. Unfortunately the compile tool doesn’t compile itself with a message: “Build of C:\kbmMW\Source\CompileTool\CompileTool.dproj failed.”

          • #55724
            kimbomadsen
            Keymaster

            You need to make sure that the paths to kbmMemTable and kbmMW source is defined in the Library path for the compile tool to recompile itself. You should however not need to recompile the compiletool on your first install attempt.

            Install kbmmemTable using the already existing compile tool exe. Open and then close Delphi, to make sure Delphi itself updates a definition file that is needed for the command line compiler to operate correctly.

            Then install kbmMW using the already existing compile tool exe.

            Again open/close Delphi.

            Then you ought to be able to compile the compile tool by itself.

             

          • #55740
            alexeiyuz
            Participant

            Thank you Kim!

            It was the path problem.  Now it’s all installed.

Viewing 5 reply threads
  • You must be logged in to reply to this topic.