Recent

Author Topic: Cross Compile MSDOS 8086 From Lazarus Win 64  (Read 1550 times)

elabuc

  • Newbie
  • Posts: 2
Cross Compile MSDOS 8086 From Lazarus Win 64
« on: May 08, 2024, 06:13:01 pm »
Anyone being successful doing so ?

I tried many option but each time I have error message
Fatal: Can't find unit system

8086 cross compiler is only working with FPC win32, so I installed it on a separate directory and I am able to run ppcross8086.exe from the command line.

But I can't find a a way to set it up properly in Lazarus Win64. I tried to change the paths in the compiler option but it didn't work as Lazarus is still using FPC 64 bits associated to the other builds
I tried fpcupdeluxe or manual install but each time the same error

Is the only option Lazarus 32 bits ? (or the Linux 64bit one with the Linux msdos cross compiler)

Maybe it could be working using a specific cfg file for such projects but I am not that expert in FCP to do so ...   

PascalDragon

  • Hero Member
  • *****
  • Posts: 5541
  • Compiler Developer
Re: Cross Compile MSDOS 8086 From Lazarus Win 64
« Reply #1 on: May 09, 2024, 10:11:59 pm »
Move/copy the ppcross8086.exe to the same directory as the ppcx64.exe and move/copy all the units from your i8086 installation's units directory to your x86_64 installation, then you can select the i8086-msdos target from within Lazarus. (It doesn't matter that the ppcross8086.exe is 32-bit, cause it's just the Lazarus IDE calling the executable and MS-DOS programs won't grow that big that the 32-bit boundary is a problem anyway...)

elabuc

  • Newbie
  • Posts: 2
Re: Cross Compile MSDOS 8086 From Lazarus Win 64
« Reply #2 on: May 14, 2024, 02:20:59 am »
Hello Pascal Dragon, thanks for feedback
I tried that but in this case I have another error message
Verbose: PPU Invalid Version 207
Looking at the system.ppu file I see version 207 in the header and it looks that it is looking for 208 version.
Here is the best way I found to get it working without too much hassle:
- install a 32 bit version of FPC with x64 and 8086 cross compilers in sourceforge to another directory
- change Lazarus 64bit setting (tools ->Environment -> files -> update FCP path to use this win32 version instead). I suspect I will have to do that again after each upgrade
Thanks to cross compilers this way it is possible to manage 16bit, 32bit and 64bit build with Lazarus x64 version
If need to come back to the FPC 64 bit version for any reason it is easy to switch back
Likely there are more elegant ways but that's the only one I found working for now
« Last Edit: May 14, 2024, 02:26:24 am by elabuc »

PascalDragon

  • Hero Member
  • *****
  • Posts: 5541
  • Compiler Developer
Re: Cross Compile MSDOS 8086 From Lazarus Win 64
« Reply #3 on: May 14, 2024, 10:41:17 pm »
I tried that but in this case I have another error message
Verbose: PPU Invalid Version 207

Then you had some mixup, cause as long as the ppcross8086.exe can find the units that had been delivered with it, then there will be no version mismatch. So this means that it didn't find the correct units.

 

TinyPortal © 2005-2018