AndrewHoward 0 Posted May 18, 2022 (edited) Hi, I'm using Delphi 10 Seattle & I'm trying to install JEDI VCL but I'm getting this error: Compiling JediIncCheck... Using Embarcadero RAD Studio 10 Seattle Using search path: C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\win32\release Embarcadero Delphi for Win32 compiler version 32.0 Copyright (c) 1983,2016 Embarcadero Technologies, Inc. JediIncCheck.dpr(2) Fatal: F2048 Bad unit format: 'C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\win32\release\System.dcu' - Expected version: 32.0, Windows Unicode(x86) Found version: 30.0, Windows Unicode(x86) An error occured while compiling the installer. Installation aborted. This error isn't specific to JEDI as I had a similar error when I was trying to install another third party compoent. I got this error when I run the install.bat. I get something similar when I try to install using the Delphi GetIt manager. What causes the error & how to fix it? Thanks Edited May 18, 2022 by AndrewHoward Made it clearer Share this post Link to post
Stompie 2 Posted May 19, 2022 It looks like you are using Delphi 10.2 Tokyo to install Jedi. Compiler Version 32.0 is Delphi 10.2, Delphi 10 has compiler version 30.0 Share this post Link to post
AndrewHoward 0 Posted May 19, 2022 I'm definately using Delphi 10 and not 10.2. I think something else is confustion Delphi. I think error is related to library paths or platform variable or BDSLIB variable. Share this post Link to post
AndrewHoward 0 Posted May 19, 2022 I found out that version 32.0 comes from this command which needs to be executed when you run Install.bat: "C:\Program Files (x86)\Embarcadero\Studio\17.0\bin\dcc32.exe" -q -w -E..\bin -I..\source\include JediIncCheck.dpr If you run dcc32, this is what you get: C:\Program Files (x86)\Embarcadero\Studio\17.0\bin>dcc32 Embarcadero Delphi for Win32 compiler version 32.0 Copyright (c) 1983,2016 Embarcadero Technologies, Inc. I still don't know what's causing my error! Can anyone help ? Thanks Share this post Link to post
corneliusdavid 214 Posted May 23, 2022 I think @Stompieis right. Even though you're running it from the Studio 17.0 (Delphi 10 Seattle) folder, it might be picking up the path for the newer version of Delphi instead. On my main development machine, I have only Delphi 10.4 and 11 installed. I ran dcc32 --version from both the "21.0" and "22.0" folders: And it picked the same one, the Delphi 11 version, both times. It used to be that Windows would look in the current folder first to run an application but I think it now looks through the PATH environment variable first. A reference sheet I keep handy shows the relationship between the compiler version, the product name, the Delphi version, and the Studio version: VER300 - Delphi 10 Seattle (Delphi 23, Studio 17.0) VER310 - Delphi 10.1 Berlin (Delphi 24, Studio 18.0) VER320 - Delphi 10.2 Tokyo (Delphi 25, Studio 19.0) VER330 - Delphi 10.3 Rio (Delphi 26, Studio 20.0) VER340 - Delphi 10.4 Sydney (Delphi 27, Studio 21.0) VER350 - Delphi 11 Alexandria (Delphi 28, Studio 22.0) When I ran the folder-specific version of dcc32, it used the correct one: Share this post Link to post
Pat Foley 51 Posted May 23, 2022 (edited) 4 hours ago, corneliusdavid said: And it picked the same one, the Delphi 11 version, both times. It used to be that Windows would look in the current folder first to run an application but I think it now looks through the PATH environment variable first. Typing where dcc*.exe at the command line shows all Delphi pathed. only 10.4 and 11 pathed on my machine. I wonder why Delphi needs the system path set, wouldn't the registry be more modern pathing? Edited May 23, 2022 by Pat Foley crossed out wrong turn Share this post Link to post
corneliusdavid 214 Posted May 23, 2022 3 hours ago, Pat Foley said: I wonder why Delphi needs the system path set, wouldn't the registry be more modern pathing? It's not Delphi that needs the path set--it's Windows. Windows doesn't use the registry to find and launch the application--dcc32.exe in this case. The first instance of dcc32.exe that Windows finds in the PATH is the one that runs. And by default, the last version of Delphi installed will be the version of dcc32 that automatically launches because installing Delphi prepends the system path with bin folder of that version of Delphi. Share this post Link to post