LongDirtyAnimAlf / fpcupdeluxe

A GUI based installer for FPC and Lazarus
504 stars 94 forks source link

Wrong code page is used for execution log on Windows #481

Open the-Arioch opened 2 years ago

the-Arioch commented 2 years ago

See the error messages. Either you should enforce English-only messages, something like export LC_ALL=C on Linux. Or you should use proper codepage to convert from (see GetOEMCP() in MSDN, dunno if the LCL GUI is using UTF-8 or Windows GetACP() as the target codepage)

2022-01-08 01_49_22-FPCUPdeluxe V2 2 0h for i386-win32-win32

P.S. Meanwhile i still can not install Laz 2.2 over Lax 2.0 keeping the packagees and using fpcupdeluxe. OPM requires Laz-VTV and Laz-VTV seems to break Laz 2.2 (or maybe fpcupdeluxe can not detect and update laz-VTV).

I probably can install using clean slate, but that would be losing OPM and other selected and installed packages...

the-Arioch commented 2 years ago

I wish there was an option to have single-CPU install, to see the exact sequence leading to the ocmpilation error...

the-Arioch commented 2 years ago

as for LazBuild,exe it has the --language=en option, but it might be not enough for ppc/make/linker or other tools, and generaly for Windows (OS) error messages those tools can channel into stdout/stderr

resistancelion commented 2 years ago

See the error messages. Either you should enforce English-only messages, something like export LC_ALL=C on Linux. Or you should use proper codepage to convert from (see GetOEMCP() in MSDN, dunno if the LCL GUI is using UTF-8 or Windows GetACP() as the target codepage)

2022-01-08 01_49_22-FPCUPdeluxe V2 2 0h for i386-win32-win32

P.S. Meanwhile i still can not install Laz 2.2 over Lax 2.0 keeping the packagees and using fpcupdeluxe. OPM requires Laz-VTV and Laz-VTV seems to break Laz 2.2 (or maybe fpcupdeluxe can not detect and update laz-VTV).

I probably can install using clean slate, but that would be losing OPM and other selected and installed packages...

See the error messages. Either you should enforce English-only messages, something like export LC_ALL=C on Linux. Or you should use proper codepage to convert from (see GetOEMCP() in MSDN, dunno if the LCL GUI is using UTF-8 or Windows GetACP() as the target codepage)

2022-01-08 01_49_22-FPCUPdeluxe V2 2 0h for i386-win32-win32

P.S. Meanwhile i still can not install Laz 2.2 over Lax 2.0 keeping the packagees and using fpcupdeluxe. OPM requires Laz-VTV and Laz-VTV seems to break Laz 2.2 (or maybe fpcupdeluxe can not detect and update laz-VTV).

I probably can install using clean slate, but that would be losing OPM and other selected and installed packages...

It relies on encoding, so works well on the old Windows version, on the newer one FPC.exe refuses to understand non-ANSI characters even in directory names. Must be a (most)minor issue

the-Arioch commented 2 years ago

FPC.exe refuses to understand non-ANSI characters even in directory names.

Does your language have the same or different codepages for GUI(ANSI) or TUI(OEM) applications? Your GetACP() and GetOEMCP() values ?

LongDirtyAnimAlf commented 2 years ago

Thanks for your extensive investigation of this issue. What is important now: is this a fpcupdeluxe issue ? (might also be a limitation of FPC.exe itself, as you mentioned) And, if the answer is yes: how can this be solved ?