[Lazarus] Can't start lazarus trunk

Martok listbox at martoks-place.de
Tue Jan 8 16:29:36 CET 2019


Am 06.01.2019 um 21:11 schrieb Joost van der Sluis via lazarus:
> That's more a coincidence. Because all executables are installed into 
> the same location.
For some values of "coincidence"...

On Windows, fpc lives in the Lazarus dir:
Lazarus\fpc\$FPCVer\bin\$HostCPU-$HostOS\
  - fpc.exe
  - fpmkcfg.exe
  - fppkg.exe
  - ppc whose $TargetCPU-$TargetOS is $HostCPU-$HostOS
  - possibly crosscompilers and their binutils
Lazarus\fpc\$FPCVer\units\$TargetCPU-$TargetOS\
  - .o and .ppu for any possible target

One may have other host compilers, although the only useful combination is using
native win64 and native win32 compilers in parallel. Both will have their own
non-cross-binutils etc. Both paths will have their own fpc.exe -- it's basically
having done "make install" with different prefixes.

> That won't work here, because pkgoptions is part of the fppkg-library. 
> In this particular case it will retrieve the path of the Lazarus-executable.
Huh? Then can't it just get the Lazarus configured compiler path?
I thought that part was in the fppkg binary.

> That sounds strange, it should use the normal configuration that is used 
> by fpc to allow cross-platform setups? But I'm not sure exactly how the 
> configuration files look like if they are generated this way on Windows.
Ah, sorry, I was unclear.
If it worked, fppkg would put its configuration in %appdata%\FreePascal\fppkg\,
whereas Lazarus would be in %appdata%\lazarus\. On Windows, the FPC installation
"belongs to" the Lazarus installation and will be removed/replaced on updates.
There may also be more than one of these. I would expect Lazarus to tell fppkg
what paths to use when it needs it to rebuild something, because only the
running Lazarus instance can know what setup it was told to work with.

-- 
Regards,
Martok



More information about the lazarus mailing list