Problems building FreeBSD 9.2 on FreeBSD 10

Warner Losh imp at bsdimp.com
Tue Jun 24 00:57:17 UTC 2014


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20140623/a8e2e076/attachment.sig>


More information about the freebsd-current mailing list