public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jonathan Wakely <jwakely.gcc@gmail.com>
To: "Matthew R. Wilson" <mwilson@mattwilson.org>
Cc: gcc-help <gcc-help@gcc.gnu.org>
Subject: Re: Error when building gcc w/ Go language on Solaris
Date: Sat, 16 Apr 2022 07:33:57 +0100	[thread overview]
Message-ID: <CAH6eHdT4FCDgvPA2T9jvQwnjchw24S7n2NKobwhdXp5O_wr6iQ@mail.gmail.com> (raw)
In-Reply-To: <20220416053920.4hj6vcnqqlscile7@mattwilson.org>

On Sat, 16 Apr 2022, 06:40 Matthew R. Wilson, <mwilson@mattwilson.org>
wrote:

> Hello,
>
> I am revisiting my attempts to build GCC with Go language support on
> Solaris/SPARCv9.
>
> The error I get when I make is:
>
> /export/home/mwilson/gcc-build/gcc-11.2.0/host-sparcv9-sun-solaris2.11/gcc/gccgo
> -B/export/home/mwilson/gcc-build/gcc-11.2.0/host-sparcv9-sun-solaris2.11/gcc/
> -B/opt/mrwgcc/sparcv9-sun-solaris2.11/bin/
> -B/opt/mrwgcc/sparcv9-sun-solaris2.11/lib/ -isystem
> /opt/mrwgcc/sparcv9-sun-solaris2.11/include -isystem
> /opt/mrwgcc/sparcv9-sun-solaris2.11/sys-include   -g -O2 -I
> ../sparcv9-sun-solaris2.11/libgo  -L ../sparcv9-sun-solaris2.11/libgo -L
> ../sparcv9-sun-solaris2.11/libgo/.libs -o go
> ../.././gotools/../libgo/go/cmd/go/alldocs.go
> ../.././gotools/../libgo/go/cmd/go/go11.go
> ../.././gotools/../libgo/go/cmd/go/main.go
> ../sparcv9-sun-solaris2.11/libgo/libgotool.a
> ../.././gotools/../libgo/go/cmd/go/main.go:10:16: error:
> /export/home/mwilson/gcc-build/gcc-11.2.0/host-sparcv9-sun-solaris2.11/gcc/context.o
> exists but does not contain any Go export data
>
> ...followed by many errors about import files (starting with 'context')
> not found.
>
> This is when trying to build GCC 11.2, but I had the same problem over
> many attempts to build GCC 11.1 a while ago.
>
> (I've gotten the same error when I get this far when trying to build on
> AIX/ppc64, but we'll just stay focused on Solaris here.)
>
> It must be possible to build gccgo support on this platform, because the
> latest Solaris 11.4 update includes it.
>
> With the gcc that is included in Solaris, I can run `gcc -v` and see:
>
> Configured with:
> /builds2/ulhg/mrcarson-trunk_111/components/gcc11/gcc-11.2.0/configure
> --prefix=/usr/gcc/11 --mandir=/usr/gcc/11/share/man
> --bindir=/usr/gcc/11/bin --sbindir=/usr/gcc/11/sbin
> --libdir=/usr/gcc/11/lib --infodir=/usr/gcc/11/share/info
> --libexecdir=/usr/gcc/11/lib --enable-languages=ada,c,c++,fortran,go,objc
> --enable-shared --enable-initfini-array --disable-rpath --with-system-zlib
> --with-build-config=no --without-gnu-ld --with-ld=/usr/bin/ld --with-gnu-as
> --with-as=/usr/gnu/bin/as --disable-bootstrap 'BOOT_CFLAGS=-g -O2'
> sparcv9-sun-solaris2.11
>
> To try to build my own from scratch, I have done the following on
> Solaris 11.4.42.111.0:
>
> 1) build the latest gnu binutils and installed at prefix /opt/mrwgcc
>     (building gcc w/ go seems to *require* objcopy be present)
>
> 2) renamed the binutils-provided "ld" to "gnuld" just to make sure it
> isn't picked up by anything in preference to the Solaris ld. (The GCC
> platform notes for Solaris recommend using the Solaris ld.)
>
> 3) Set my PATH to: /opt/mrwgcc:/usr/bin:/usr/sbin
>
> 4) configured gcc 11.2 with a similar set of options as the
> Solaris-provided gcc:
>
> ./configure --prefix=/opt/mrwgcc \
>         --enable-languages=c,c++,go  --enable-shared \
>         --enable-initfini-array \
>         --disable-rpath --with-system-zlib --with-build-config=no \
>         --without-gnu-ld --with-ld=/usr/bin/ld \
>         --with-gnu-as --with-as=/opt/mrwgcc/bin/as sparcv9-sun-solaris2.11
>
> Despite using what appear to be the same options (in particular, using
> the Solaris ld and not binutils ld) as the working gccgo that comes with
> Solaris, I can't get my build to work. I hit that "/context.o exists but
> does not contain any Go export data" error no matter what I try.
>
> A build with only --enable-languages=c,c++ works fine.
>
> I'm thinking there must be something else about my environment that
> differs from the package build environment, but I don't know what the
> magic needed to build gccgo is.
>
> If anyone has any suggestions, I'd appreciate them.
>


Just a guess, but maybe the Go build uses sed or another command like that,
and relies on the POSIX-conforming version in /usr/xpg4/bin rather than the
/usr/bin one. Try putting /usr/xpg4/bin in your path, just after
/opt/mrwgcc/bin



>
>

  reply	other threads:[~2022-04-16  6:34 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-16  5:39 Matthew R. Wilson
2022-04-16  6:33 ` Jonathan Wakely [this message]
2022-04-16 19:24   ` Matthew R. Wilson
2022-04-16 19:41     ` Jonathan Wakely
2022-04-16 19:47       ` Marc Glisse
2022-04-16 23:17         ` Jonathan Wakely
2022-04-17  0:38       ` Ian Lance Taylor
2022-04-17  8:23         ` Jonathan Wakely
2022-04-19 13:36           ` Jonathan Wakely
2022-04-19 19:50             ` Ian Lance Taylor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAH6eHdT4FCDgvPA2T9jvQwnjchw24S7n2NKobwhdXp5O_wr6iQ@mail.gmail.com \
    --to=jwakely.gcc@gmail.com \
    --cc=gcc-help@gcc.gnu.org \
    --cc=mwilson@mattwilson.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).