Recent

Author Topic: Problem installing indy  (Read 8478 times)

Rave

  • Full Member
  • ***
  • Posts: 165
Problem installing indy
« on: February 05, 2014, 03:42:03 pm »
Log:
Code: [Select]
C:\lazarus\fpc\2.6.2\bin\i386-win32\make.exe: Entering directory `C:/lazarus'
C:/lazarus/fpc/2.6.2/bin/i386-win32/make.exe -C ide idepkg
make.exe[1]: Entering directory `C:/lazarus/ide'
../tools/svn2revisioninc.exe .. revision.inc
C:/lazarus/fpc/2.6.2/bin/i386-win32/make.exe --assume-new=lazarus.pp lazarus.exe OPT=' -WG @C:\Users\Darkhog\AppData\Local\lazarus\idemake.cfg -FUC:\lazarus\units\i386-win32\win32 -FEC:\lazarus'
make.exe[2]: Entering directory `C:/lazarus/ide'
C:/lazarus/fpc/2.6.2/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 -Fuframes -Fu. -Fiinclude -Fiinclude/win32 -Fi../images -FE.. -FU../units/i386-win32/win32 -WG @C:\Users\Darkhog\AppData\Local\lazarus\idemake.cfg -FUC:\lazarus\units\i386-win32\win32 -FEC:\lazarus -di386 lazarus.pp
Free Pascal Compiler version 2.6.2 [2013/11/16] for i386
Copyright (c) 1993-2012 by Florian Klaempfl and others
Target OS: Win32 for i386
Compiling lazarus.pp
PPU Loading C:\Users\Darkhog\indy-10.2.0.3\lazarus\IdStreamVCL.ppu
PPU Source: IdStreamVCL.pas not found
PPU Source: C:\Users\Darkhog\indy-10.2.0.3\lazarus\IdCompilerDefines.inc time 2007/10/26 14:54:16
Recompiling IdStreamVCL, checksum changed for IdGlobal
IdStreamVCL.pas(71,12) Fatal: Can not find IdStreamVCL used by IdStream, ppu=C:\Users\Darkhog\indy-10.2.0.3\lazarus\IdStreamVCL.ppu, package indylaz

It compiles fine, problem is when I try to install it. I've quad-checked paths and path where IdStreamVCL.pas is located is defined in Other unit files. Yet it can't fine.

taazz

  • Hero Member
  • *****
  • Posts: 5368
Re: Problem installing indy
« Reply #1 on: February 05, 2014, 04:03:37 pm »
that is because the search path of lazarus projects is dynamic each package defines its own path and extends the project's search path with it. The package adds only its output directory to the project's search path, unless told otherwise, and there is where this problem exists. You see the indy package does not included any source files other than the stubs required to pull in the correct files based on the defined IFDEFS to do a compile, alhtough the package has the source code dir in its search path it ............

Oh hell to wordy just look at the attachment.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

Rave

  • Full Member
  • ***
  • Posts: 165
Re: Problem installing indy
« Reply #2 on: February 08, 2014, 01:36:49 am »
Now it shows something about misconfiguration of package...

Cyrax

  • Hero Member
  • *****
  • Posts: 836
Re: Problem installing indy
« Reply #3 on: February 08, 2014, 02:45:09 am »
Grab latest Indy source code from here by using SVN : http://forums2.atozed.com/viewforum.php?f=7

And use attached file to patch it up.

taazz

  • Hero Member
  • *****
  • Posts: 5368
Re: Problem installing indy
« Reply #4 on: February 08, 2014, 03:45:05 am »
Now it shows something about misconfiguration of package...

Just select the options that says "I know what I'm doing stop whining" it does that for me too.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9874
  • Debugger - SynEdit - and more
    • wiki
Re: Problem installing indy
« Reply #5 on: February 08, 2014, 04:44:00 am »
Code: [Select]
[quote author=Rave link=topic=23528.msg140508#msg140508 date=1391611323]
Compiling lazarus.pp
PPU Loading C:\Users\Darkhog\indy-10.2.0.3\lazarus\IdStreamVCL.ppu
PPU Source: IdStreamVCL.pas not found
PPU Source: C:\Users\Darkhog\indy-10.2.0.3\lazarus\IdCompilerDefines.inc time 2007/10/26 14:54:16
Recompiling IdStreamVCL, checksum changed for IdGlobal
IdStreamVCL.pas(71,12) Fatal: Can not find IdStreamVCL used by IdStream, ppu=C:\Users\Darkhog\indy-10.2.0.3\lazarus\IdStreamVCL.ppu, package indylaz
[/quote]

Reminds me of a similar issue I once add.

It may work like this (but not tested)

- Open the package
- compile it
- compile it again / no cleaning / no build all / just plain compile
- Build Lazarus (but do NOT select any "clean" option)

What happens is

In the package is a circular ref, and most likely some "inline" declared function.

IdStreamVCL uses IDGlobal

IdGlobal has
- an inlined function
- IdStreamVCL in the uses in IMPLEMENTATION

when IdStreamVCL is compiled (called from that uses), the function is only declared, but its code not yet available. So it is NOT inlined

Then IDGlobal finishes. And that changes its checksum, when it does the code for the inlineable function.

Now when the IDE compiles, only ppu are in the path. So recompilation is not possible.
But it detects, that IdGlobal updated itself, and refuses the ppu of IdStreamVCL that was does before.


It is a limitation in the design of how compiling works in fpc.


Rave

  • Full Member
  • ***
  • Posts: 165
Re: Problem installing indy
« Reply #6 on: February 10, 2014, 01:45:27 pm »
Got it working. What I did was to copy content of fpc directory (component sources) to lazarus directory (package's directory). Dunno why they separated it that way, but it installed fine.

Thanks for all the replies.

 

TinyPortal © 2005-2018