[Pkg-pascal-devel] Bug#823706: Bug#823706: lazarus opengl

Michalis Kamburelis michalis.kambi at gmail.com
Tue Nov 8 23:49:08 UTC 2016


2016-11-08 21:37 GMT+01:00 Paul Gevers <elbrus at debian.org>:
> Hi all,
>
> On 07-11-16 17:26, Michalis Kamburelis wrote:
>> The need for user to compile stuff inside Lazarus sources normally
>> occurs only for packages (which may be needed by user's applications
>> or other packages), not for applications (*.lpi).
>
> So I am still struggling with this packages stuff. One of the failures is:
>
> paul at testavoira ~ $ HOME=/tmp lazbuild -B
> /usr/lib/lazarus/1.6/components/lazdebuggers/lazdebuggerfp/lazdebuggerfp.lpk
>
>  < snip >
> /usr/lib/lazarus/1.6/components/lazdebuggers/lazdebuggerfp/fpdebugdebugger.pas(15,3)
> Fatal: (10022) Can't find unit FpDbgClasses used by FpDebugDebugger
>
> However, FpDbgClasses are defined in components/fpdebug and
> lazdebuggerfp.lpk properly mentions that it depends on fpdebug:
> paul at testavoira ~ $ grep -B2 \"fpdebug\"
> /usr/lib/lazarus/1.6/components/lazdebuggers/lazdebuggerfp/lazdebuggerfp.lpk
>
>     <RequiredPkgs Count="3">
>       <Item1>
>         <PackageName Value="fpdebug"/>
>
> Where does this go wrong?
>

Things to check:

1. Is the fpdbgclasses compiled correctly? You should see it in
components/fpdebug/lib/<arch>-linux/ , as fpdbgclasses.{o,ppu} files.

2. Is it on the search path? When you run "lazbuild
.../components/lazdebuggers/lazdebuggerfp/lazdebuggerfp.lpk", look at
the lines like

  Info: (lazarus) Param[XXX]="-Fu/..."

  One of them should the full path to the directory you checked above, like

  Info: (lazarus)
Param[12]="-Fu/home/michalis/sources/lazarus/trunk/components/fpdebug/lib/x86_64-linux"

3. One of the things you could try is to compile fpdebug.lpk first
manually, by explicit "lazbuild ..../components/fpdebug/fpdebug.lpk".

  The names of dependencies (like "fpdebug") are recorded in the .lpk
/ .lpi files. But where to find them -- is not. E.g. when compiling
Castle Game Engine applications, before compiling any .lpi example
program, you have to compile once the castle_*.lpk packages. In new
"lazbuild" version, there's even a command-line option
--add-package-link to add a package to the "known" group without
compiling it.

  However, it seems that for internal packages this should not be
needed. At least it's not needed on my system, and with Lazarus from
trunk and FPC 3.0.0. I don't know the exact reason though. Is it
searching inside <lazarus-dir>/components/ automatically? All I know
is that it always seems to find the internal packages (in components/)
magically, without the need to register them first.

  Even if I remove my configuration ("rm -Rf ~/.lazarus") first, I
only need to provide the --lazarusdir parameter and it will pick up
the internal components automatically. So it seems that the internal
packages get some special treatment -- at least in my case, and with
newest Lazarus version.

  Since you start from a clean slate (I guess you do "rm -Rf
/tmp/.lazarus" earlier?:) you may also try adding
--lazarusdir=/usr/lib/lazarus/1.6/ . I am not sure is
"/usr/lib/lazarus/1.6/" searched automatically.

I hope that some of this information helps:)

Regards,
Michalis



More information about the Pkg-pascal-devel mailing list