[Lazarus] Universal FontDialog for LCL

Jesus Reyes A. jesusrmx at gmail.com
Wed Mar 20 06:21:54 CET 2019


> Because 'it works'. At least, on my machine. ;)

:)

>
> The only way to catch all problems in the wild, is to release it into  
> the wild. I think it's viable to use trunk for that.
>
> Did you try to fix it?

Indeed.

> Does the initial-setup dialog show you the option to create a new fppkg  
> configuration? Does that work?

Yes but it doesn't work, the error message say:
"Problem with Fppkg Configuration"
"Failed to create a new fppkg configuration. You will
have to fix the configuration manually or reinstall
Free Pascal"

There is a message in the log: "Error: the configuration is corrupt."

> Is the prefix for the fpc-installation filled?

It is: C:\Users\Jesus\dev

> Are there any other paths in the drop-down?
>

No


Using the "browse" button I selected the install dir of my trunk compiler  
which according to the help text (the one that contains the fpmkinst dir)  
is "C:\Users\Jesus\dev\fpcbin", it makes not difference or perhaps the  
same message "Error: the configuration is corrupt." appears.


> And, after you have re-created the config-files, what does 'fppkg  
> listsettings' on the terminal show you? And 'fppkg list -d'?
>

Using fpc trunk:

(In the following:
APPDIR=C:\Users\Jesus\AppData\Local\FreePascal\fppkg
BINDIR=c:\Users\Jesus\dev\fpcbin\bin\i386-win32
)

BINDIR>fppkg listsettings
Warning: Configuration file is in an old format
Warning: Failed to write compiler-configuration file  
"APPDIR\config\default": Backup of file "APPDIR\config\default" to file  
"APPDIR\config\default.bak" failed.
Warning: Failed to write compiler-configuration file  
"APPDIR\config\default": Backup of file "APPDIR\config\default" to file  
"APPDIR\config\default.bak" failed.
Settings from configuration-files:
  Global-section:
   RemoteMirrorsURL:      http://www.freepascal.org/repository/mirrors.xml
   RemoteRepository:      auto
   LocalRepository:       "{AppConfigDir}" -> "APPDIR\"
   BuildDir:              "{LocalRepository}build\" -> "APPDIR\build\"
   ArchivesDir:           "{LocalRepository}archives\" -> "APPDIR\archives\"
   CompilerConfigDir:     "{LocalRepository}config\" -> "APPDIR\config\"
   DefaultCompilerConfig: "default"
   FPMakeCompilerConfig:  "default"
   Downloader:            lnet
  Commandline-section:
  -section:
   Name:             global
   Description:      "global"
   Dir:              "\" -> "\"
   Prefix:           "" -> ""
   InstallRepository:""
  -section:
   Name:             local
   Description:      "local"
   Dir:              "APPDIR\\" -> "APPDIR\\"
   Prefix:           "APPDIR\" -> "APPDIR\"
   InstallRepository:""
Using compiler configuration file "APPDIR\config\default":
  Compiler:         "BINDIR\fpc.exe"
  Target:           i386-win32
  Version:          3.3.1
  GlobalPrefix:     "" -> ""
  LocalPrefix:      "{LocalRepository}" -> "APPDIR\"
  GlobalInstallDir: "{GlobalPrefix}\" -> "\"
  LocalInstallDir:  "{LocalPrefix}\" -> "APPDIR\\"
  Options:          ""
Using fpmake-building compiler configuration file "APPDIR\config\default":
  Compiler:         "BINDIR\fpc.exe"
  Target:           i386-win32
  Version:          3.3.1
  GlobalPrefix:     "" -> ""
  LocalPrefix:      "{LocalRepository}" -> "APPDIR\"
  GlobalInstallDir: "{GlobalPrefix}\" -> "\"
  LocalInstallDir:  "{LocalPrefix}\" -> "APPDIR\\"
  Options:          ""


BINDIR>fppkg list -d
Start loading configuration file "APPDIR\fppkg.cfg"
Warning: Configuration file is in an old format
Loaded global configuration from "APPDIR\fppkg.cfg"
Settings from configuration-files:
  Global-section:
   RemoteMirrorsURL:      http://www.freepascal.org/repository/mirrors.xml
   RemoteRepository:      auto
   LocalRepository:       "{AppConfigDir}" -> "APPDIR\"
   BuildDir:              "{LocalRepository}build\" -> "APPDIR\build\"
   ArchivesDir:           "{LocalRepository}archives\" -> "APPDIR\archives\"
   CompilerConfigDir:     "{LocalRepository}config\" -> "APPDIR\config\"
   DefaultCompilerConfig: "default"
   FPMakeCompilerConfig:  "default"
   Downloader:            lnet
  Commandline-section:
Loading compiler configuration from "APPDIR\config\default"
Configuration file "APPDIR\config\default" is updated with new  
configuration settings
Creating Backup File "APPDIR\config\default.bak"
Warning: Failed to write compiler-configuration file  
"APPDIR\config\default": Backup of file "APPDIR\config\default" to file  
"APPDIR\config\default.bak" failed.
Using compiler configuration file "APPDIR\config\default":
  Compiler:         "BINDIR\fpc.exe"
  Target:           i386-win32
  Version:
  GlobalPrefix:     "" -> ""
  LocalPrefix:      "{LocalRepository}" -> "APPDIR\"
  GlobalInstallDir: "{GlobalPrefix}\" -> "\"
  LocalInstallDir:  "{LocalPrefix}\" -> "APPDIR\\"
  Options:          ""
Loading compiler configuration for fpmake building from  
"APPDIR\config\default"
Configuration file "APPDIR\config\default" is updated with new  
configuration settings
Creating Backup File "APPDIR\config\default.bak"
Warning: Failed to write compiler-configuration file  
"APPDIR\config\default": Backup of file "APPDIR\config\default" to file  
"APPDIR\config\default.bak" failed.
Using fpmake-buildingcompiler configuration file "APPDIR\config\default":
  Compiler:         "BINDIR\fpc.exe"
  Target:           i386-win32
  Version:
  GlobalPrefix:     "" -> ""
  LocalPrefix:      "{LocalRepository}" -> "APPDIR\"
  GlobalInstallDir: "{GlobalPrefix}\" -> "\"
  LocalInstallDir:  "{LocalPrefix}\" -> "APPDIR\\"
  Options:          ""
Loading available mirrors from "APPDIR\mirrors.xml"
Directory "\fpmkinst\i386-win32\" Not Found
Directory "\units\i386-win32\" Not Found
Directory "APPDIR\\fpmkinst\i386-win32\" Not Found
Directory "APPDIR\\units\i386-win32\" Not Found
Minimum version of hash is not installed, using internal fpmkunit with  
limited functionality
Minimum version of paszlib is not installed, using internal fpmkunit with  
limited functionality
Minimum version of fcl-process is not installed, using internal fpmkunit  
with limited functionality
Minimum version of libtar is not installed, using internal fpmkunit with  
limited functionality
Minimum version of fpmkunit is not installed, using internal fpmkunit with  
limited functionality
Directory "\fpmkinst\i386-win32\" Not Found
Directory "\units\i386-win32\" Not Found
Directory "APPDIR\\fpmkinst\i386-win32\" Not Found
Directory "APPDIR\\units\i386-win32\" Not Found
Loading available packages from "APPDIR\packages.xml"
[<currentdir>] Action: "list" start
Name                 Installed      Available
embweb               -              0.9.1-970
gecko                -              2.9.0-3
jquery               -              0.9.0-842
lazmkunit            -              0.9.3-1
lnet                 -              0.6.6-2613
webdesign            -              0.9.0-906
[<currentdir>] Action: "list" end

The fppkg.cfg file is:

[Defaults]
ConfigVersion=4
LocalRepository={AppConfigDir}
BuildDir={LocalRepository}build/
ArchivesDir={LocalRepository}archives/
CompilerConfigDir={LocalRepository}config/
RemoteMirrors=http://www.freepascal.org/repository/mirrors.xml
RemoteRepository=auto
CompilerConfig=default
FPMakeCompilerConfig=default
Downloader=lnet


I experimented with several Downloader settings, the important one, 'base'  
IIRC, doesn't work as it tries to download some files, it gets redirected  
to a https link that failes because there is no openssl support and it  
instructs to include some unit and recompile. This I found it by  
debugging, this is nowhere reported.

I noticed that it tries to download some files: mirrors.xml and  
packages.xml and someway I manually downloaded the files and put them  
where it supposed to find them, yet it will not work.

The first issue I found is that the setup dialog for fppkg doesn't look  
for a fppkg executable, it expects the install directory where is fpc  
supposed to be installed, I guess in order to use that for locating the  
right fppkg executable. I expect this to work as is only on released  
Lazarus because it tries to find the fpc executable by using the PATH  
environment dirs. This means that it doesn't matter what you choose in the  
setup Lazarus dialog as your desired compiler. I think this is the first  
thing that needs fixing. The rest should come after that.

Regards.

Jesus Reyes A.


More information about the lazarus mailing list