Forum > Other

SPARC64: compiling Lazarus for (Debian 10) Linux

(1/3) > >>

MarkMLl:
I'm posting here so that it appears adjacent to @Praetor's discussion of SPARC, even if subsequently moved to one of the other FPC or Lazarus topics by a moderator.

I've disinterred a SPARC system so that I can check the behaviour of some libraries on a big-endian system. I can compile and run simple programs using FPC 3.2.2 for SPARC64, hosted on Debian 10 without multiarch. For completeness, I note that I also had some success with FPC 3.2.2 for 32-bit SPARC.

When trying to compile Lazarus 2.2.0 I get this:


--- Code: Text  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---$ make LCL_PLATFORM=gtk2 allmake -C packager/registrationmake[1]: Entering directory '/usr/local/share/lazarus-2.2.0+3.2.2/packager/registration'/usr/bin/rm -f ../units/sparc64-linux/fcllaz.ppu/usr/bin/mkdir -p ../units/sparc64-linux/usr/local/bin/ppcsparc64 -MObjFPC -Scghi -O1 -g -gl -l -vewnhibq -Fu. -Fu/usr/local/lib/fpc/3.2.2/units/sparc64-linux/rtl -FE. -FU../units/sparc64-linux -Fl/usr/lib/gcc/sparc64-linux-gnu/8 -dsparc64 fcllaz.pasHint: (11030) Start of reading config file /etc/fpc.cfgHint: (11031) End of reading config file /etc/fpc.cfgNote: (11049) DWARF debug information cannot be used with smart linking with external assembler, disabling static library creation.Free Pascal Compiler version 3.2.2 [2021/05/29] for sparc64Copyright (c) 1993-2021 by Florian Klaempfl and others(1002) Target OS: Linux for SPARC64(3104) Compiling fcllaz.pas(3104) Compiling lazaruspackageintf.pas(9009) Assembling lazaruspackageintf(9009) Assembling fcllaz(1008) 124 lines compiled, 2.7 sec(1022) 2 hint(s) issued(1023) 1 note(s) issued/usr/bin/cp -f Makefile.compiled ../units/sparc64-linux/FCL.compiledmake[1]: Leaving directory '/usr/local/share/lazarus-2.2.0+3.2.2/packager/registration'make -C components/lazutils...(3104) Compiling lazloggerdummy.pas/usr/local/share/lazarus-2.2.0+3.2.2/components/lazutils/LazLoggerImpl.inc(11,3) Note: (6058) Call to subroutine "function GetDebugLogger:TLazLogger;" marked as inline is not inlined/usr/local/share/lazarus-2.2.0+3.2.2/components/lazutils/LazLoggerImpl.inc(156,1) Fatal: Internal error 200408203Fatal: (1018) Compilation abortedmake[1]: *** [Makefile:3294: lazutils.ppu] Error 1make[1]: Leaving directory '/usr/local/share/lazarus-2.2.0+3.2.2/components/lazutils'make: *** [Makefile:3714: lazutils] Error 2 
I attach complete output. This is not "mission critical" for me but I suspect is a combination of platform/compiler against which Lazarus isn't checked on a regular basis.

MarkMLl

AlexTP:
Free Pascal Compiler version 3.2.2 [2021/05/29] for sparc64
is too old, I guess...

MarkMLl:

--- Quote from: AlexTP on June 16, 2022, 01:05:40 pm ---Free Pascal Compiler version 3.2.2 [2021/05/29] for sparc64
is too old, I guess...

--- End quote ---

Possibly. But allowing that it's the current stable version and works adequately on other platforms I think I'd prefer something a bit more definite rather than simply flailing around.

MarkMLl

PascalDragon:

--- Quote from: MarkMLl on June 16, 2022, 12:19:55 pm ---I attach complete output. This is not "mission critical" for me but I suspect is a combination of platform/compiler against which Lazarus isn't checked on a regular basis.

--- End quote ---

Can you try to reduce this problem? Judging from the internal error it has to do with some call preparation.

MarkMLl:

--- Quote from: PascalDragon on June 17, 2022, 09:10:21 am ---Can you try to reduce this problem? Judging from the internal error it has to do with some call preparation.

--- End quote ---

I'm not sure, but I'm interested in helping out because I think having at least one viable big-endian target (possibly also with alignment requirements) is valuable. I'd rather not run this machine for too long though, even though small it's noisy and hot.

So far I've been able to compile various "ordinary" programs without error, it was only a full Lazarus build that gave problems... suggestions would be appreciated.

Would it be worth moving to FPC trunk? I've only got 3.2.2 for SPARC64 which would mean I'd have to try the version override hack, I'd rather not get back into the cross-compilation rabbithole since I've got impending bookkeeping for which I've earmarked the weekend.

MarkMLl

Navigation

[0] Message Index

[#] Next page

Go to full version