Root > Recompilation (Enterprise) > Recompilation > Rebuilding for different IDE build

Rebuilding for a different IDE build

Previous pageReturn to chapter overviewNext page   

A single EurekaLog installer supports a wide range of IDEs - starting with Delphi 5 and all the way up to latest RAD Studio version. However, sometimes a single IDE may have different builds (patches). For example, Delphi 7 and Delphi 7.1, RAD Studio 10.3 and 10.3.1, 10.3.2, 10.3.3. All of these different builds is the "same IDE", so one can not have all these minor versions installed on the same machine at the same time. E.g. you can not have Delphi 7 and Delphi 7.1 installed simultaneously. That is why each EurekaLog installer is built only against latest IDE patches (latest available at the release time).


Unfortunately, sometimes IDE patches introduce binary incompatibilities. If you attempt to install/use EurekaLog which was build for a different version of the IDE - you may get errors like "The procedure entry point could not be located", "Unit was compiled with different version", "Could not compile used unit", etc.


1. Customers with EurekaLog editions without source code can:
a. Download older EurekaLog's installers which were built for older IDE patches. For example, EurekaLog 7.8 is the latest EurekaLog version that was build for 10.3.2, EurekaLog was build for 10.3.1, EurekaLog was build for 10.3, EurekaLog was build for 10.3 BETA.
b. Or install latest available patches for IDE. E.g. upgrade 10.3.1 to 10.3.3, etc.
2. Customers with EurekaLog editions with source code can additionally download latest version of EurekaLog and rebuild (recompile) it for their older version of IDE. For example, download EurekaLog 7.8.1 (build for 10.3.3) and recompile it for 10.3.1.


This article explains how to recompile EurekaLog for your IDE. This is a brief "how-to" manual, for a detailed explanation on building EurekaLog from sources - see this article.



How to recompile EurekaLog manually (Enterprise edition only)

EurekaLog Enterprise comes with full source code, which you can use to recompile EurekaLog. EurekaLog Enterprise contains additional \Projects\ folder, which contains project files to compile EurekaLog. There are project files for run-time package, design-time packages (IDE expert, component registration) and command-line compiler (ecc32/emake). There are no special projects for EurekaLog itself, because EurekaLog is not application, but a library.



Step 0: [optional] allow modifications to EurekaLog

First, you must allow changes to EurekaLog's files. EurekaLog is installed to Program Files folder by default. This folder allows read-only access for non-admin users. If you are going to recompile EurekaLog from normal user account - you would need to alter permission settings.


The easiest way would be:

1. Run "Start" / "Programs" / "EurekaLog" / "Manage EurekaLog in IDEs" tool from admin account;
2. Click on your IDE to expand available options;
3. Click on "Register EurekaLog for development" button.

This will make all necessary modifications.


Note: don't close the tool yet, you will need it soon: see step 2 below.


Alternatively, you may manually edit permissions for C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\ folder in Explorer. Add write permissions for normal users.


Finally, you may simply run your IDE under administrative account - without any need to alter permissions.



Step 1: determinate your IDE number

Please, refer to this table to determinate number for your IDE. For example, all versions of RAD Studio 10.3 Rio (that is: 10.3, 10.3.1, 10.3.2, 10.3.3) would be 26 (and would be located in Studio26 folders).



Step 2: unregister installed EurekaLog from IDE

1. Run "Start" / "Programs" / "EurekaLog" / "Manage EurekaLog in IDEs" tool from admin account;
2. Click on your IDE to expand available options;
3. Click on "Unregister EurekaLog" button.


This will:

Remove EurekaLog BPL packages from Windows\System32 folder (that's why admin account is required);
Unregister EurekaLog BPL packages (IDE expert and component) from IDE;
Remove EurekaLog paths from IDE's library search paths.


This will not remove/uninstall any of EurekaLog files from C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\ installation folder.


See also for more details: EurekaLog IDE setup



Step 3: [optional] remove existing precompiled files

While it is not strictly necessary, we recommend to remove existing precompiled files before compiling EurekaLog. This will make diagnostic easier if you made a mistake during compilation. (Mistakes like mixing old an new files).


Delete, move, or rename all files in the following folders:

C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Packages\<IDE>\ (including \Win64\ subfolder)
C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Lib\<PLATFORM>\<CONFIG>\<IDE>\


Adjust paths as necessary. <IDE> is folder for your IDE, which you have found out on step 1 above. <PLATFORM> is platform name like Win32 / Win64. <CONFIG> is build configuration name like Debug / Release. Typically there would be 6 folders with all possible combinations for a single IDE.


Note: you may keep ecc32.exe and ecc32speed.exe untouched if you will not recompile it. ecc32 does not depend on IDE, so it is not necessary to recompile it.


See also for more details: EurekaLog files layout.



Step 4: actual recompilation

Launch your IDE and open EurekaLogGroup.groupproj file from corresponding subfolder in C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Projects\ folder. The subfolder name was determined on step 1 above. Build all projects:

1. You will have to build EurekaLogCore package for each combination of platform (Win32/Win64) and config (Release/Debug);
2. Build IDE packages (expert and component) for one combination only (we recommend to use Debug build configuration);
3. Be sure to build EurekaLogCore and IDE packages for the same build configuration (e.g. do not compile EurekaLogCore as Release, and then compile IDE packages as Debug). For that reason we recommend to compile EurekaLogCore as Release first (both Win32/Win64), then compile it for Debug (both Win32/Win64), then compile IDE packages for Debug (Win32 only);
4. "W1033 Unit 'XYZ' implicitly imported into package 'EurekaLogExpert'" warnings are expected, you can ignore them;
5. You may skip compilation of ecc32. ecc32 does not depend on IDE, so it is not strictly necessary to recompile it.


Note: EurekaLog contains only Delphi source code (.pas). C++ Builder support is implemented as compilation of Delphi files with C++ Builder. There are no .cpp/.hpp files. All shipped .obj/.o/.hpp/.lib/.a/.bpi files are auto-generated from .pas files. All EurekaLog projects have "Generate C++ files" option turned on. EMake is the same file as ecc32. In fact, ecc32 is the same file for all IDEs.



Step 5: [optional] check that files were created

If you have removed old files on step 3 - now you can check that all of the mentioned folders has been populated with new compiled files.



Compilation will create some files that you did not see in old files on step 3 (such as *.map, or *.lib files for IDE packages). This is normal. Those files are not needed for EurekaLog to work, that's why those files are not shipped with EurekaLog installer. You can either delete or ignore them.
File sizes will be noticeable different between old and new files. That is because old files (shipped with EurekaLog installer) were post-processed by EurekaLog itself to allow internal crash reporting. This is not needed for EurekaLog to work. You don't need to do anything else.


Important Note: some old IDEs have bugs related to output folders (especially for C++ Builder files). Check that files were created in the correct location. Compare to old layout. Move files if necessary:

1. *.bpl and *.bpi should go to IDE subfolder in C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Packages\;
2. *.dcu, *.hpp, *.lib, *.a, *.obj, *.o files should go to corresponding subfolders in C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Lib\;
3. Make sure there are no new files in C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Source\ folder.



Step 6: register recompiled EurekaLog in IDE

1. Run "Start" / "Programs" / "EurekaLog" / "Manage EurekaLog in IDEs" tool from admin account;
2. Click on your IDE to expand available options;
3. Click on "Register EurekaLog (recommended)" button.


This will register new recompiled files in your IDE. Now you can use EurekaLog.



See also:

Send feedback... Build date: 2022-03-28
Last edited: 2022-01-06
The documentation team uses the feedback submitted to improve the EurekaLog documentation. We do not use your e-mail address for any other purpose. We will remove your e-mail address from our system after the issue you are reporting has been resolved. While we are working to resolve this issue, we may send you an e-mail message to request more information about your feedback. After the issues have been addressed, we may send you an email message to let you know that your feedback has been addressed.

Permanent link to this article: