Making C++11 a hard requirement for FreeBSD

Nathan Whitehorn nwhitehorn at freebsd.org
Mon Dec 18 23:15:19 UTC 2017



On 10/20/17 21:38, Nathan Whitehorn wrote:
> On 10/10/17 06:49, John Baldwin wrote:
> [...]
>>>> Let's focus on #1, the largest if not the only major problem. If I 
>>>> build,
>>>> say, a ppc64 system with an external toolchain right now, it boots 
>>>> and runs
>>>> fine. But the system is completely unusable since:
>>>> - There are no binary packages built for PPC64, because of project 
>>>> policy
>>>> preventing the use of native build systems
>>>>
>>>>
>>>> System is still usable w/o packages. People can still fire up custom
>>>> poudrier repos. We could also change project policy. This is is a 
>>>> specific
>>>> wrinkle for powerpc64 it seems.
>>> How would I do that? We can't run these natively, because the system
>>> ships without a compiler. And we can't cross-compile, because the ports
>>> tree does not support that.
>> The base/ ports _do_ cross-compile.  See /usr/ports/base/README.  You 
>> have to
>> build a world image using the external toolchain that can then be 
>> used as a
>> --sysroot with the external toolchain to build binutils and gcc 
>> packages.
>> These packages should then be able to be installed.  To be clear, you 
>> would
>> build a world on an amd64 host with the foo-xtoolchain-gcc toolchain, 
>> install
>> it to some 'rootfs' directory, then build the base/ packages on the same
>> amd64 host but the generated packages can be installed on the target via
>> pkg install.  In particular, we could automate building of the base/ 
>> packages
>> in the cluster and publish repositories that contain just binutils 
>> and gcc.
>>
>
> Has anyone managed to have this work recently? GCC seems to play quite 
> poorly with our libc++ and I haven't managed to get base/gcc to build 
> at all despite trying for a few days. I did get base/binutils and pkg 
> to cross-compile after some tweaks, but base/gcc just won't go.
> -Nathan
> _______________________________________________
> freebsd-arch at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe at freebsd.org"
>

I eventually managed to get the ports to build. It would be great if a 
ports committer could look through this PR, which is enough to get 
base/binutils, base/gcc, and ports-mgmt/pkg to cross-compile:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224217
-Nathan


More information about the freebsd-arch mailing list