Recent

Author Topic: Error installing package into IDE  (Read 6494 times)

jonneve

  • New Member
  • *
  • Posts: 11
    • CopyCat Replication Engine
Error installing package into IDE
« on: February 20, 2015, 03:11:02 pm »
Hello,

I'm porting our commercial third-party Delphi component library to Lazarus, and I have been able to get it to compile (with very little difficulty!).

I'm having a hard time getting it to install into the IDE however. I get the following error when recompiling Lazarus:

Warning: Recompiling CcReplicator, checksum changed for Dialogs {impl}
Fatal: Can't find unit CcReplicator used by CcConflictMgr

I can't make sense of the message. I copied the full error message, and I get this:

make: Entering directory `C:/lazarus'
C:/lazarus/fpc/2.6.4/bin/i386-win32/make -C ide idepkg
make[1]: Entering directory `C:/lazarus/ide'
../tools/svn2revisioninc.exe .. revision.inc
C:/lazarus/fpc/2.6.4/bin/i386-win32/make --assume-new=lazarus.pp lazarus.exe OPT=' -WG @C:\Users\Christopher\AppData\Local\lazarus\idemake.cfg -vbq -FUC:\lazarus\units\i386-win32\win32'
make[2]: Entering directory `C:/lazarus/ide'
C:/lazarus/fpc/2.6.4/bin/i386-win32/fpc.exe -gl -Sci -dlclwin32 -Fu../designer -Fu../debugger -Fu../debugger/frames -Fu../converter -Fu../packager -Fu../packager/frames -Fu../components/custom -Fuinclude/win -Fuframes -Fu. -Fiinclude -Fiinclude/win32 -Fi../images -FE.. -FU../units/i386-win32/win32 -WG @C:\Users\Christopher\AppData\Local\lazarus\idemake.cfg -vbq -FUC:\lazarus\units\i386-win32\win32 -di386 lazarus.pp
Free Pascal Compiler version 2.6.4 [2015/02/14] for i386
Copyright (c) 1993-2014 by Florian Klaempfl and others
(1002) Target OS: Win32 for i386
(3104) Compiling lazarus.pp
(10001) PPU Loading C:\Projects\copycat\lib\i386-win32\CcReplicator.ppu
(10011) PPU Source: CcReplicator.pas not found
(10011) PPU Source: CC.INC not found
(10028) Recompiling CcReplicator, checksum changed for Dialogs {impl}
C:\lazarus\ide\CcReplicator.pas(72,12) Fatal: (10022) Can't find unit CcReplicator used by CcConflictMgr
Fatal: (1018) Compilation aborted
Error: C:\lazarus\fpc\2.6.4\bin\i386-win32\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled)
make[2]: *** [lazarus.exe] Error 1
make[2]: Leaving directory `C:/lazarus/ide'
make[1]: *** [idepkg] Error 2
make[1]: Leaving directory `C:/lazarus/ide'
make: *** [idepkg] Error 2
make: Leaving directory `C:/lazarus'

I can't understand why it's having a hard time finding CcReplicator.pas, as it's in the same directory as the package, and the package compiled fine.

I'm using Lazarus 1.4RC1 by the way.

Thanks in advance,
Jonathan Neve
http://www.copycat.fr

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4467
  • I like bugs.
Re: Error installing package into IDE
« Reply #1 on: February 20, 2015, 03:26:09 pm »
Maybe you defined search paths for library code like Delphi people often do, instead of package dependencies.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

Leledumbo

  • Hero Member
  • *****
  • Posts: 8757
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Error installing package into IDE
« Reply #2 on: February 20, 2015, 05:13:26 pm »
The somewhat human translation of:
(10028) Recompiling CcReplicator, checksum changed for Dialogs {impl}
is: The compiler needs to recompile CcReplicator, due to implementation changes in Dialogs (which is one of CcReplicator's dependencies). However, it's only given path to compiled units*, so it can't recompile the unit and abort the whole compilation.

*) see the various -Fu here:
C:/lazarus/fpc/2.6.4/bin/i386-win32/fpc.exe -gl -Sci -dlclwin32 -Fu../designer -Fu../debugger -Fu../debugger/frames -Fu../converter -Fu../packager -Fu../packager/frames -Fu../components/custom -Fuinclude/win -Fuframes -Fu. -Fiinclude -Fiinclude/win32 -Fi../images -FE.. -FU../units/i386-win32/win32 -WG @C:\Users\Christopher\AppData\Local\lazarus\idemake.cfg -vbq -FUC:\lazarus\units\i386-win32\win32 -di386 lazarus.pp
This could happen if your package depends on LCL units, but gets built before LCL. I notice one weird thing, though:
C:\lazarus\ide\CcReplicator.pas
Did you put the unit source in ide directory?

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9867
  • Debugger - SynEdit - and more
    • wiki
Re: Error installing package into IDE
« Reply #3 on: February 20, 2015, 05:43:22 pm »
This error can happen if
- uses are in implementation (circular uses)
- inline is used (there are 1 or 2 other things, but I do not rememberer.
  (something that changes the implementation from what it was expected according to implementation // could be additional modifiers in declaration)


Quote
(10028) Recompiling CcReplicator, checksum changed for Dialogs {impl}

"impl" => afaik: the checksum for the implementation changed.


There was an in detail explanation on the fpc mail list. Sorry I do not have the link



engkin

  • Hero Member
  • *****
  • Posts: 3112
Re: Error installing package into IDE
« Reply #4 on: February 20, 2015, 10:05:33 pm »
Make sure your source code does *not* have a unit called Dialogs. I had seen it before.

jonneve

  • New Member
  • *
  • Posts: 11
    • CopyCat Replication Engine
Re: Error installing package into IDE
« Reply #5 on: March 23, 2015, 11:28:43 am »
Thanks all for your help. I got it to install correctly by removing the Dialogs unit from CcReplicator.pas (turns out it wasn't needed in FPC). However, I get the following error messages when restarting the IDE:

Package: "copycat.0.0"
lpk file: "c:\projects\copycat\copycat.lpk"
Can't save components with no unit (translated from French)

Any idea what it's talking about? The funny thing is that the components actually show up correctly in the component palette in spite of the error message.

Also, how do I go about attaching component icons to the components?

Thanks in advance,
Jonathan

jonneve

  • New Member
  • *
  • Posts: 11
    • CopyCat Replication Engine
Re: Error installing package into IDE
« Reply #6 on: March 23, 2015, 11:39:09 am »
FWIW, I just switched my IDE to English, and the exact message is: "Cannot register components without unit"

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11452
  • FPC developer.
Re: Error installing package into IDE
« Reply #7 on: March 23, 2015, 12:01:34 pm »
Does your package (in the project inspector) contain units? Or do you let the compiler just find them? 

jonneve

  • New Member
  • *
  • Posts: 11
    • CopyCat Replication Engine
Re: Error installing package into IDE
« Reply #8 on: March 23, 2015, 03:03:13 pm »
Does your package (in the project inspector) contain units? Or do you let the compiler just find them?

Yes.

jonneve

  • New Member
  • *
  • Posts: 11
    • CopyCat Replication Engine
Re: Error installing package into IDE
« Reply #9 on: March 31, 2015, 10:29:23 am »
I'm still getting this problem. The funny thing is that it actually works anyway, and my components are successfully installed into the IDE and they're usable, but I get the "cannot register components without unit" message every time I open the IDE.

Any ideas?

parcel

  • Full Member
  • ***
  • Posts: 143
Re: Error installing package into IDE
« Reply #10 on: March 31, 2015, 10:41:18 am »
I got also similar problem building with fpcup.
I soved compiling with "--only fpc,fpccrosswin32-64" switch, and rebuilding lazarus IDE later.


jonneve

  • New Member
  • *
  • Posts: 11
    • CopyCat Replication Engine
Re: Error installing package into IDE
« Reply #11 on: March 31, 2015, 10:51:28 am »
What does that option do, and where do I set it? I tried adding it to the Custom options on the Other page of the compiler options, but it doesn't recognize it.

howardpc

  • Hero Member
  • *****
  • Posts: 4144
Re: Error installing package into IDE
« Reply #12 on: March 31, 2015, 10:55:12 am »
parcel was writing about a command-line switch you can use with the third-party fpcup tool.

jonneve

  • New Member
  • *
  • Posts: 11
    • CopyCat Replication Engine
Re: Error installing package into IDE
« Reply #13 on: March 31, 2015, 12:04:43 pm »
Oh I see, thanks I'll try.

 

TinyPortal © 2005-2018