Re: Problems building FreeBSD 9.2 on FreeBSD 10

From: Warner Losh <imp_at_bsdimp.com>
Date: Mon, 23 Jun 2014 18:57:15 -0600
On Jun 23, 2014, at 6:15 PM, Craig Rodrigues <rodrigc_at_FreeBSD.org> wrote:

> Hi,
> 
> OK, I think I see the issue.  I looked here:
> 
> http://svnweb.freebsd.org/base/stable/9/share/mk/bsd.prog.mk?view=log
> 
> and saw that dim_at_ MFC'd his EARLY_BUILD stuff in r257812.
> 
> That is why you can build stable/9 on a stable/10 host.
> 
> I am building FreeBSD 9.2 which doesn't have that change.
> 
> 
> bsd.prog.mk in stable/9
> ==============
> 
> .if defined(PROG_CXX) && !defined(EARLY_BUILD)
> 
> .if !empty(CXXFLAGS:M-stdlib=libc++)
> 
> echo ${PROG}: ${LIBCPLUSPLUS} >> ${DEPENDFILE}
> 
> .else
> 
> echo ${PROG}: ${LIBSTDCPLUSPLUS} >> ${DEPENDFILE}
> 
> .endif
> .endif
> 
> 
> bsd.prog.mk in 9.2
> ============
> .if defined(PROG_CXX)
> .if !empty(CXXFLAGS:M-stdlib=libc++)
>         echo ${PROG}: ${LIBCPLUSPLUS} >> ${DEPENDFILE}
> .else
>         echo ${PROG}: ${LIBSTDCPLUSPLUS} >> ${DEPENDFILE}
> .endif
> .endif
> 
> 
> bsd.prog.mk in CURRENT
> ================
> .if defined(PROG_CXX)
> .if ${COMPILER_TYPE} == "clang" && empty(CXXFLAGS:M-stdlib=libstdc++)
>         echo ${PROG}: ${LIBCPLUSPLUS} >> ${DEPENDFILE}
> .else
>         echo ${PROG}: ${LIBSTDCPLUSPLUS} >> ${DEPENDFILE}
> .endif
> .endif
> 
> 
> 
> So, I guess that stable/9 can build properly on a stable/10 box.
> For FreeBSD 9.2, there is no easy way out.

You’ll have to back port the patch then. We don’t guarantee forward compatibility like this since 9.2 is frozen in time now.

stable/9 builds fine on both stable/10 and current hosts.

Warner

> --
> Craig
> 
> 
> 
> 
> 
> On Mon, Jun 23, 2014 at 4:23 PM, Warner Losh <imp_at_bsdimp.com> wrote:
> 
> On Jun 23, 2014, at 5:19 PM, Craig Rodrigues <rodrigc_at_FreeBSD.org> wrote:
> 
> >
> >
> >
> > On Mon, Jun 23, 2014 at 4:13 PM, Warner Losh <imp_at_bsdimp.com> wrote:
> >
> > Which bombing out are you seeing (two or three have been sighted in this thread)? And is this a nanobsd build, or a straight buildworld?
> >
> > When building FreeNAS, with a hacked the nanobsd
> > script to does "make make buildworld", and the make.conf which I posted, I
> > am seeing this:
> >
> > --------------------------------------------------------------
> > >>> stage 1.2: bootstrap tools
> > --------------------------------------------------------------
> > cd /zroot/build/r/freenas2/FreeBSD/src; MAKEOBJDIRPREFIX=/zroot/build/r/freenas2/os-base/amd64/zroot/build/r/freenas2/FreeBSD/src/tmp  INSTALL="sh /zroot/build/r/freenas2/FreeBSD/src/tools/install.sh"  PATH=/zroot/build/r/freenas2/os-base/amd64/zroot/build/r/freenas2/FreeBSD/src/tmp/legacy/usr/sbin:/zroot/build/r/freenas2/os-base/amd64/zroot/build/r/freenas2/FreeBSD/src/tmp/legacy/usr/bin:/zroot/build/r/freenas2/os-base/amd64/zroot/build/r/freenas2/FreeBSD/src/tmp/legacy/usr/games:/zroot/build/r/freenas2/os-base/amd64/zroot/build/r/freenas2/FreeBSD/src/tmp/legacy/bin:/sbin:/bin:/usr/sbin:/usr/bin  WORLDTMP=/zroot/build/r/freenas2/os-base/amd64/zroot/build/r/freenas2/FreeBSD/src/tmp  VERSION="9.3-ALPHA"  MAKEFLAGS="-m /zroot/build/r/freenas2/FreeBSD/src/tools/build/mk  -j 9 .MAKE.LEVEL.ENV=MAKELEVEL NO_CLEAN=1 SRCCONF=/dev/null __MAKE_CONF=/zroot/build/r/freenas2/os-base/amd64/make.conf.build -m /zroot/build/r/freenas2/FreeBSD/src/share/mk TARGET=amd64 TARGET_ARCH=amd64"  COMPILER_TYPE=clang /zroot/build/r/freenas2/os-base/amd64/zroot/build/r/freenas2/FreeBSD/src/make.amd64/make  -f Makefile.inc1  DESTDIR=  BOOTSTRAPPING=1100022  SSP_CFLAGS=  -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN  -DNO_PIC -DWITHOUT_PROFILE -DNO_SHARED  -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD bootstrap-tools
> > ===> gnu/usr.bin/gperf (obj,depend,all,install)
> > ===> gnu/usr.bin/gperf/doc (obj)
> > ===> gnu/usr.bin/gperf/doc (depend)
> > make: don't know how to make /usr/lib/libstdc++.a. Stop
> > *** [bootstrap-tools] Error code 2
> > 1 error
> > *** [_bootstrap-tools] Error code 2
> > 1 error
> > *** [buildworld] Error code 2
> >
> > make[1]: stopped in /zroot/build/r/freenas2/FreeBSD/src
> > 1 error
> >
> > make[1]: stopped in /zroot/build/r/freenas2/FreeBSD/src
> > ===================================================================
> > ERROR: build FAILED; see above or log file here: /zroot/build/r/freenas2/os-base/amd64/_.bw
> > *** Error code 2
> >
> > Stop.
> > make: stopped in /zroot/build/r/freenas2
> >
> >
> >
> >
> >
> > And I specifically was doing my testing on -current, not 10.x. I haven’t back ported much of anything I’ve done to the build system, and if anybody else has, then it is on them to make it work in the 10.x environment. While it has usually worked, 9 on 10 isn’t in the supported matrix we’ve traditionally had in this project.
> >
> > I reproduced the same problem using a CURRENT build host ( 11.0-CURRENT FreeBSD 11.0-CURRENT #1 r267305 ).
> >
> 
> I wonder how this could possibly happen on stable-10, since EARLY_BUILD is still there to preclude the line being added.
> 
> I’ll have to re-run my test WITHOUT_CLANG. I just used the defaults.
> 
> Any chance you can narrow the number of options required to trigger this?
> 
> Warner
> 
> 


Received on Mon Jun 23 2014 - 22:57:17 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:50 UTC