Installer cannot compile for 64bit

Issue #400 invalid
Merula Alba created an issue

The installer cannot install for D11 Win 64 Release. I have tried it from inside the IDE, from a Build Group and I get the same problem

From the IDE I get:

[dcc32 Fatal Error] Spring.Services.pas(35): E2213 Bad packaged unit format: C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\Spring.Base.dcp.Spring - Expected version: 35.0, Windows Unicode(x64) Found version: 35.0, Windows Unicode(x86)

If I manually delete all the DCUs BPLs and DCPs and build again, it works. Then the second time I try to build, it fails again.

I have Delphi 11.3

_________________

I know how to reproduce it now: if you compile for 64bit, before 32bit, it works. But once you compiled for 32 bit, the 64bit will always fail.
Look at the log files (in the 1,2,3 order).

Comments (15)

  1. Merula Alba reporter

    I think, when compiling on 64bit, the compiler looks into the “22.0\Dcp\” instead of the “22.0\Dcp\Win64” folder.

  2. Merula Alba reporter

    The Clean will not delete the DCPs/BPLs
    like c:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\Spring.Core.Delphi11.bpl

    so it will fail.

  3. Stefan Glienke repo owner

    Something is misconfigured in your Delphi installation - as you correctly pointed out in the log file it passes C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp in several places (such as for -I, -O, -R, and -U). However this is not something that is misconfigured in Spring but in your compiler settings somewhere.

    Of course, before you compile the 32-bit projects there are no dcps in that folder that can interfere. But after compiling Win32 the 32bit dcp files reside in that directory - the 64bit files belong into the subfolder Win64.

    It can very well be that you did not do that yourself but that some other third-party installer messed something up.

    Also Clean from the Build.exe (which just calls the Clean.bat) only cleans within the Spring4d folder thus it does not remove any bpls that are outside of that directory.

  4. Merula Alba reporter

    but in your compiler settings somewhere

    Hi. Where I can find these compiler settings in the IDE (or anywhere else)?
    I compared my current registry (\\\Registry\HKEY_CURRENT_USER\Software\Embarcadero\BDS\) with the original registry from a backup. All seems fine.

  5. Merula Alba reporter

    Hi Stefan! Even though I don’t use “Enable runtime packages” and I have Delphi 11.3 (see the screenshot I just posted) it seems that I am plagued by that bug or a very similar version of it.

  6. Merula Alba reporter

    I applied the fix they describe in the bug report and now I get another dumb Delphi behavior. The Core package cannot find its own file (Spring.Services.pas). But when I double clickit in “Projects”, the IDE can open the file. The file is there!

    Toghether with some other bugs we have related to compiling/using packages, Delphi 11 (a version supposed to concentrate on bug fixes and quality) really screwed up. I never had this issues until D11.

    The thing is that my work place does no use packages. I was the one to poropose to switch to packages. Now everything is a pain. I have to make them work. My ass is on the line! :(

  7. Merula Alba reporter

    And I also hit this bug: https://quality.embarcadero.com/browse/RSP-40811

    But your Spring4D does not use “debug DCUs”.

    At this point, I think, D11 is just showing off how many cool random error messages it can display :)

    I think it is happening only with your library because it is large enough to give the D11 compiler a chance to screew up something.

    Emabarcadero, can you please stop fulling arround for a bit and deliver a compiler that does work? We had so many releases that were supposed to be “focused on quality”.
    Packages worked before D11.

  8. Stefan Glienke repo owner

    Closing this as this is not an issue in Spring.

    I could reproduce your wrong behavior when I removed the $(Platform) from the Win64 library path entry as was the bug in 11 at some point. Adding it removed the issue.

    I suggest you do a uninstallation of your Delphi 11, then make sure there are no remains in the installation directory and do a clean installation of 11.3 and apply the 11.3 hotfix from GetIt. You can save and restore your settings via the Migration Tool (see https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Exporting_Settings_to_a_Migration_File) but be aware that some of the settings might be the culprit of an issue so if you reapply them after the reinstallation things might be bad again.

    Also please direct any complaining about Embarcadero products to them and not to me, thank you.

  9. Merula Alba reporter

    Closing this as this is not an issue in Spring

    Yes. In the new light, we can definitivelly say this is not related to Spring4D.
    I will do a reinstall also to see if this fixes anything…

  10. Merula Alba reporter

    FIX
    Setting all Spring packages to “Explicit rebuild” fixed the “RTL must recompile” issue (Cargo Cult warning: I don’t have an explanation for why it works…).
    Once this issue was fixed, the second one (“SpringBase not found”) went away also.

  11. Log in to comment