The following packages have unmet dependencies: fpc : Depends: fpc-3.0.0 (= 3.0.0+dfsg-2) but it is not going to be installed Recommends: fp-utils-3.0.0 but it is not installableE: Unable to correct problems, you have held broken packages.

$ sudo apt-get install lazarus

The following packages have unmet dependencies: lazarus : Depends: lazarus-1.6 but it is not going to be installedE: Unable to correct problems, you have held broken packages.

I am a little unsure just what you are trying to install on. PPC64LE ? A PowerPC64 docker image ? Some IBM hardware perhaps ?

If thats the case, you may have a problem, its possible precompiled binaries may not be available.

First problem, dependencies, - a bad idea to proceed to next step if an early step fails. If you can get FPC on, then you may be able to build Lazarus from source. It looks like a prebuild FPC is available but not the fp-utils ? Thats strange. Maybe try and install utils first ?

apt install fp-utils <enter>

I'd hate to encourage anyone to 'force' apt, but it might come to that....

PPC64LE is linux on IBM power system but little-endian. (PPC64 is big-endian)

Oh, interesting. Are you saying that the hardware is big-endian but you have a linux that converts it to little-endian ? That sounds crazy to me ...

Anyway, even though its little-endian, its not machine code compatible with Intel/AMD so you may well have problems finding pre-compiled binaries for everything. And, yep, to compile FPC, first you must have FPC installed (yeah, that sounds crazy too doesn't it ?).

I'd have a look at it at least. I am currently away from home and with limited bandwidth so don't want to download just to see whats in there...If that does not look right, go up a directory or two and see some alternatives.

OVERRIDEVERSIONCHECK=1 is use at your own risk: there are times that a trunk from an older trunk revision can not compile the latest trunk revision. This will happen every so often and is not a bug...In principle the only starting compiler is the latest release version, not trunk.So be warned: OVERRIDEVERSIONCHECK=1 does not always work. There are many examples of this scenario on the bug tracker, always resolved as no change required.

OVERRIDEVERSIONCHECK=1 is used here as an unsupported stop-gap for lazy people.It should be: build 3.0.4 with 3.0.2, maybe 3.0.2 with 3.0.0 and even first 3.0.0 with 2.6.4 and so on. If there is a missing binary you can restore this from the last compiler known to your system and repeat until 3.0.4. is correctly compiled. Then build trunk. This scenario is fully supported. You do not need everything from a standard distribution, usually just compiler sources and rtl from the next version after your compiler version.

{ default to little endian either when compiling with -dppc64le, or when

compiling on a little endian ppc64 platform }

{$if defined(ppc64le) or (defined(cpupowerpc64) and defined(FPC_LITTLE_ENDIAN))}

system_powerpc64_linux_info.endian:=endian_little;

system_powerpc64_linux_info.abi:=abi_powerpc_elfv2;

{$endif}

RegisterImport(system_powerpc64_linux,timportliblinux);

RegisterExport(system_powerpc64_linux,texportliblinux);

RegisterTarget(system_powerpc64_linux_info);

{$endif powerpc64}

Again, you could try to use fpcupdeluxe to install an isolated trunk version of FPC and Lazarus on your normal Linux system. Followed by an installation (also by fpcupdeluxe) of a cross-compiler towards PPC64(LE).