[fpc-devel] FPC and OpenSXCE/Illumos/Solaris 11

Mark Morgan Lloyd markMLl.fpc-devel at telemetry.co.uk
Wed May 13 10:13:49 CEST 2015


Mark Morgan Lloyd wrote:
> I'm taking a minimal look at OpenSXCE, which is a compilation of Illumos 
> (formerly Open Solaris 11 etc.) for SPARC. I've already got SPARC 
> Solaris 10 running, so am able to see what's different rather than being 
> confused by a completely unfamiliar platform.
> 
> With a fairly complete installation (i.e. including GNU binutils etc.) 
> and FPC 2.6.4 built on a Solaris 10 system, compiling a trivial program 
> results in
> 
> /usr/bin/gld:built in linker script:21: syntax error
> 
> I can see that there's been various discussion of this sort of thing 
> before, with truncated/missing linker scripts being implicated (i.e. 
> it's not really an FPC problem). In this case, it appears that none of 
> the linker script files are being opened, and I find that if I put an 
> explicit
> 
> -k-T/usr/gnu/sparc-sun-solaris2.11/lib/ldscripts/elf32_sparc.x
> 
> in /etc/fpc.cfg I can build simple test programs. If anybody understands 
> what's going on, can they confirm that this is an appropriate file to use?
> 
> Using FPC 2.6.4, if I try building 2.7.1 it runs most of the way through 
> provided that I put the above hack on the command line to accommodate 
> cases where fpc.cfg is not being used. However it eventually fails with
> 
> /usr/bin/gar: creating libpfpmake.a
> Linking fpmake
> /usr/bin/gld: internal error ldlang.c 4884
> fpmake.pp(49) Error: Error while linking
> 
> Can anybody suggest why fpmake is pushing gld into this kind of error, 
> and can it be disabled? (I note that 2.6.4 barfs on fastcgi earlier in 
> the build sequence because the -k-T hasn't been passed through, I 
> presume this has been fixed for 2.7.1.)
> 
> I was hoping to be able to investigate whether Lazarus would run on this 
> system, since gtk etc. is a much later version than the one with Solaris 
> 10 including more complete Unicode support etc. However in view of the 
> proprietary nature of both Solaris and SPARC I'm not proposing to put 
> much time into it- unless of course the existing problems turn out to be 
> trivial.

That particular machine self-destructed, so I don't have an adequate 
record of what versions of gld/ld were installed. A rebuilt system using 
the SunFreeware libraries etc. (which are for Solaris 10 rather than 11) 
appears to be OK, except that SunFreeware binutils installs ld (not gld) 
in /usr/local/bin which has the result that an older (buggy) version of 
gld is picked up by FPC before the correct one. Creating symlinks 
/usr/local/bin/gld etc. appears to fix the problem.

I'm currently trying to put some minor updates into 
http://wiki.lazarus.freepascal.org/Lazarus_on_Solaris in case anybody 
else is still interested.

-- 
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