[fpc-devel] FPC on SPARC Linux

Mark Morgan Lloyd markMLl.fpc-devel at telemetry.co.uk
Tue Dec 30 19:12:57 CET 2014


I'm having another of my periodic sessions building on minority 
architectures, I've been rather off this for several months due to 
various issues- mostly blown computers- at this end.

Running on Debian "Sqeeze" for SPARC, trunk fails if I tell it to add 
debugging capability to the FP IDE. Building with

make GDB_V607=1 OPT='-V2.6.4 -O- -gl' all

in multiple places I note

fpmake.pp(49) Warning: "crtbegin.o" not found, this will probably cause 
a linking failure
fpmake.pp(49) Warning: "crtend.o" not found, this will probably cause a 
linking failure

and

Warning: Unable to determine the libgcc path.

although things generally continue until I get to

-----8<-----
./fpmake compile --localunitdir=.. --globalunitdir=../packages 
--os=linux --cpu=sparc -o -Ur -o -Xs -o -O2 -o -n -o 
-Fu/usr/local/src/fpc/trunk/rtl/units/sparc-linux -o 
-Fu/usr/local/src/fpc/trunk/packages/paszlib/units/sparc-linux -o 
-Fu/usr/local/src/fpc/trunk/packages/fcl-process/units/sparc-linux -o 
-Fu/usr/local/src/fpc/trunk/packages/hash/units/sparc-linux -o 
-Fu/usr/local/src/fpc/trunk/packages/libtar/units/sparc-linux -o 
-Fu/usr/local/src/fpc/trunk/packages/fpmkunit/units/sparc-linux -o 
-V2.6.4 -o -O- -o -gl -o -vt -o -dRELEASE 
--compiler=/usr/local/src/fpc/trunk/compiler/ppcsparc -bu
Start compiling package ide for target sparc-linux.
LibGDB was found, build IDE with debugger support
Warning: Unable to determine the libgcc path.
        Compiling compiler/compunit.pas
        Compiling /usr/local/src/fpc/trunk/compiler/ppheap.pas
        Compiling /usr/local/src/fpc/trunk/compiler/cutils.pas
..
        Compiling /usr/local/src/fpc/trunk/compiler/dbgstabs.pas
        Compiling /usr/local/src/fpc/trunk/compiler/dbgdwarf.pas
        Compiling /usr/local/src/fpc/trunk/compiler/browcol.pas
Warning: Unable to determine the libgcc path.
        Compiling fp.pas
        Compiling fpcatch.pas
        Compiling fpcompil.pas
..
        Compiling fpcodcmp.pas
        Compiling fpcodtmp.pas
        Compiling fptemplt.pas
        Linking bin/sparc-linux/fp
The installer encountered the following error:
External command "/usr/local/src/fpc/trunk/compiler/ppcsparc -Tlinux 
-FEbin/sparc-linux -FUunits/sparc-linux/ 
-Fu/usr/local/src/fpc/trunk/rtl/units/sparc-linux/ 
-Fu/usr/local/src/fpc/trunk/packages/rtl-extra/units/sparc-linux/ 
-Fu/usr/local/src/fpc/trunk/packages/fv/units/sparc-linux/ 
-Fu/usr/local/src/fpc/trunk/packages/rtl-console/units/sparc-linux/ 
-Fu/usr/local/src/fpc/trunk/packages/chm/units/sparc-linux/ 
-Fu/usr/local/src/fpc/trunk/packages/fcl-xml/units/sparc-linux/ 
-Fu/usr/local/src/fpc/trunk/packages/fcl-base/units/sparc-linux/ 
-Fu/usr/local/src/fpc/trunk/packages/fcl-res/units/sparc-linux/ 
-Fu/usr/local/src/fpc/trunk/packages/rtl-objpas/units/sparc-linux/ 
-Fu/usr/local/src/fpc/trunk/packages/iconvenc/units/sparc-linux/ 
-Fu/usr/local/src/fpc/trunk/packages/regexpr/units/sparc-linux/ 
-Fu/usr/local/src/fpc/trunk/packages/gdbint/units/sparc-linux/ -Fl -Ur 
-Xs -O2 -n -Fu/usr/local/src/fpc/trunk/rtl/units/sparc-linux 
-Fu/usr/local/src/fpc/trunk/packages/paszlib/units/sparc-linux 
-Fu/usr/local/src/fpc/trunk/packages/fcl-process/units/sparc-linux 
-Fu/usr/local/src/fpc/trunk/packages/hash/units/sparc-linux 
-Fu/usr/local/src/fpc/trunk/packages/libtar/units/sparc-linux 
-Fu/usr/local/src/fpc/trunk/packages/fpmkunit/units/sparc-linux -V2.6.4 
-O- -gl -vt -dRELEASE -Ur -dNOCATCH -dBrowserCol -dGDB -dsparc 
-Fu../compiler -Fu../compiler/sparc -Fu../compiler/targets 
-Fu../compiler/systems -Fi../compiler/sparc -Fi../compiler -Sg 
-Fl../libgdb/linux/sparc/ -Xd -viq fp.pas" failed with exit code 256. 
Console output:
Target OS: Linux for SPARC
Compiling fp.pas
fp.pas(27,2)  (2004) Start reading includefile globdir.inc
Compiling fpcatch.pas
fpcatch.pas(18,2)  (2004) Start reading includefile globdir.inc
Compiling fpcompil.pas
fpcompil.pas(15,2)  (2004) Start reading includefile globdir.inc
Compiling wutils.pas
Assembling wutils
Using assembler: /usr/bin/as
Compiling wviews.pas
wviews.pas(13,2)  (2004) Start reading includefile globdir.inc
Compiling wconsts.pas
wconsts.pas(12,2)  (2004) Start reading includefile globdir.inc
wconsts.pas(38,5)  (2004) Start reading includefile wconstse.inc
Writing Resource String Table file: wconsts.rsj
Assembling wconsts
Writing Resource String Table file: wviews.rsj
Assembling wviews
Compiling wcedit.pas
wcedit.pas(15,2)  (2004) Start reading includefile globdir.inc
Compiling weditor.pas
weditor.pas(15,2)  (2004) Start reading includefile globdir.inc
Compiling wcedit.pas
wcedit.pas(15,2)  (2004) Start reading includefile globdir.inc
Assembling wcedit
Assembling weditor
Compiling fpsymbol.pas
fpsymbol.pas(15,2)  (2004) Start reading includefile globdir.inc
Compiling fpviews.pas
fpviews.pas(17,2)  (2004) Start reading includefile globdir.inc
Compiling whelp.pas
Assembling whelp
Compiling whlpview.pas
Assembling whlpview
Compiling wansi.pas
Assembling wansi
Compiling fpconst.pas
Compiling whtmlhlp.pas
Compiling whtml.pas
whtml.pas(15,2)  (2004) Start reading includefile globdir.inc
Assembling whtml
Compiling wchmhwrap.pas
Assembling wchmhwrap
Compiling whtmlscn.pas
Assembling whtmlscn
Assembling whtmlhlp
Assembling fpconst
Compiling fpusrscr.pas
fpusrscr.pas(15,2)  (2004) Start reading includefile globdir.inc
Assembling fpusrscr
Compiling fpswitch.pas
Compiling fpvars.pas
fpvars.pas(15,2)  (2004) Start reading includefile globdir.inc
Compiling fpdebug.pas
fpdebug.pas(22,2)  (2004) Start reading includefile globdir.inc
Compiling fpredir.pas
Assembling fpredir
Compiling fpregs.pas
Compiling fpvars.pas
fpvars.pas(15,2)  (2004) Start reading includefile globdir.inc
Compiling fputils.pas
Compiling fpvars.pas
fpvars.pas(15,2)  (2004) Start reading includefile globdir.inc
Compiling fpcalc.pas
fpcalc.pas(15,2)  (2004) Start reading includefile globdir.inc
Writing Resource String Table file: fpcalc.rsj
Assembling fpcalc
Assembling fpvars
Assembling fputils
Assembling fpregs
Compiling fptools.pas
fptools.pas(15,2)  (2004) Start reading includefile globdir.inc
Compiling wini.pas
Assembling wini
Writing Resource String Table file: fptools.rsj
Assembling fptools
Compiling fpintf.pas
fpintf.pas(15,2)  (2004) Start reading includefile globdir.inc
Compiling fpcompil.pas
fpcompil.pas(15,2)  (2004) Start reading includefile globdir.inc
Compiling fpsymbol.pas
fpsymbol.pas(15,2)  (2004) Start reading includefile globdir.inc
Compiling fpide.pas
fpide.pas(25,2)  (2004) Start reading includefile globdir.inc
Compiling fpevalw.pas
Assembling fpevalw
Compiling fpkeys.pas
Assembling fpkeys
Compiling fpdpansi.pas
Assembling fpdpansi
Compiling wconsole.pas
Assembling wconsole
Compiling fpini.pas
fpini.pas(18,2)  (2004) Start reading includefile globdir.inc
Writing Resource String Table file: fpini.rsj
Assembling fpini
Compiling fpcompil.pas
fpcompil.pas(15,2)  (2004) Start reading includefile globdir.inc
Compiling fpdesk.pas
Compiling wresourc.pas
Assembling wresourc
Compiling fphelp.pas
Compiling woahelp.pas
Assembling woahelp
Compiling wnghelp.pas
Assembling wnghelp
Compiling wos2help.pas
Assembling wos2help
Compiling wvphelp.pas
Assembling wvphelp
Compiling wwinhelp.pas
Assembling wwinhelp
Assembling fphelp
make[2]: *** [all] Error 1
make[1]: *** [ide_all] Error 2
make: *** [build-stamp.sparc-linux] Error 2
Compiling fpcodcmp.pas
Assembling fpcodcmp
Compiling fpcodtmp.pas
Writing Resource String Table file: fpcodtmp.rsj
Assembling fpcodtmp
Assembling fpdesk
Writing Resource String Table file: fpcompil.rsj
Assembling fpcompil
Compiling fptemplt.pas
Assembling fptemplt
fpide.pas(1795,2)  (2004) Start reading includefile fpmfile.inc
fpide.pas(1797,2)  (2004) Start reading includefile fpmedit.inc
fpide.pas(1799,2)  (2004) Start reading includefile fpmsrch.inc
fpide.pas(1801,2)  (2004) Start reading includefile fpmrun.inc
fpide.pas(1803,2)  (2004) Start reading includefile fpmcomp.inc
fpide.pas(1805,2)  (2004) Start reading includefile fpmdebug.inc
fpide.pas(1807,2)  (2004) Start reading includefile fpmtools.inc
fpide.pas(1809,2)  (2004) Start reading includefile fpmopts.inc
fpide.pas(1811,2)  (2004) Start reading includefile fpmwnd.inc
fpide.pas(1813,2)  (2004) Start reading includefile fpmhelp.inc
fpide.pas(1815,2)  (2004) Start reading includefile fpmansi.inc
Writing Resource String Table file: fpide.rsj
Assembling fpide
Writing Resource String Table file: fpsymbol.rsj
Assembling fpsymbol
Assembling fpintf
Writing Resource String Table file: fpdebug.rsj
Assembling fpdebug
Assembling fpswitch
Writing Resource String Table file: fpviews.rsj
Assembling fpviews
Writing Resource String Table file: fpcatch.rsj
Assembling fpcatch
Writing Resource String Table file: fp.rsj
Assembling fp
Linking bin/sparc-linux/fp
/usr/bin/ld: warning: bin/sparc-linux/link.res contains output sections; 
did you forget -T?
/usr/bin/ld: cannot find -lgcc
fp.pas(582) Error: Error while linking
fp.pas(582) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted

make[2]: Leaving directory `/usr/local/src/fpc/trunk/ide'
make[1]: Leaving directory `/usr/local/src/fpc/trunk'
----->8-----

If I build with NOGDB=1 then things are generally OK. 2.6.4 built with 
libgdb, 2.6.2 and 2.6.0 failed (OK without debugger), older versions 
generally OK. I'm not at this point able to say which versions I've 
exercised the debugger with, above is build only.

I can live without a debugger, all I'm aiming for at the moment is to 
have a version of FPC which will work with a fairly recent Lazarus so 
that I can publish some stuff I've been working on.

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]



More information about the fpc-devel mailing list