https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112959

            Bug ID: 112959
           Summary: install.tex needs updates on FreeBSD
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
                CC: andreast at gcc dot gnu.org, gerald at pfeifer dot com
  Target Milestone: ---
              Host: x86_64-unknown-freebsd14.0
            Target: x86_64-unknown-freebsd14.0
             Build: x86_64-unknown-freebsd14.0

I've recently tried a trunk bootstrap on FreeBSD 14.0/amd64, which was quite an
unpleasant experience:

* With the default, /usr/bin/ld, libgcc_s.so.1 doesn't link:

  PR target/112745      stage 1 libgcc_s.so fails to link on FreeBSD

* Ada bootstrap proved to be a hellhole: the packaged gnat12 didn't work to
  compile GCC 11.4.0:

error:
("/usr/local/gnat12/lib/gcc/x86_64-portbld-freebsd14.0/12.2.0/adalib/s-aotase.ali"
is obsolete and read-only)
error:
("/usr/local/gnat12/lib/gcc/x86_64-portbld-freebsd14.0/12.2.0/adalib/s-atoope.ali"
is obsolete and read-only)
error:
("/usr/local/gnat12/lib/gcc/x86_64-portbld-freebsd14.0/12.2.0/adalib/s-atopri.ali"
is obsolete and read-only)
error:
("/usr/local/gnat12/lib/gcc/x86_64-portbld-freebsd14.0/12.2.0/adalib/i-c.ali"
is obsolete and read-only)

  I cannot tell if this is due to trying to build with a newer version of GNAT
  or just a packaging error.

  I then tried to build lang/gcc6-aux from the ports tree, but that also failed
  compiling various instances of obstack.c.  Those could be hacked around, but
  when I later gave up on this.

  Fortunately I could successfully use GNAT 6.4.1 from
/usr/ports/distfiles/ada-bootstrap.x86_64.freebsd.120.tar.bz2.

  Not really a pleasant experience, especially if you have to figure this out
  on your own.

* libgo doesn't compile, as has been known for years.  Again, a totally waste
  of time having to rediscover this all on your own.

* Neither libada nor libphobos build with the default multilib configuration:

  PR d/112957   [13/14 regression] src/std/math/exponential.d doesn't compile
on 32-bit FreeBSD/x86
  PR ada/112958 [14 regression] s-exnllf.ads etc. don't compile on 32-bit
FreeBSD/x86

In the end, the only way to have a successful build with --disable-multilib
and Go disabled.

It would be extremely helpful if install.texi would document some of the
common quirks of the target, so regular developers won't have to go down
this route all by themselves.

Reply via email to