lzma support in `stable' has potential issues

Garrett Cooper yaneurabeya at gmail.com
Mon May 24 16:15:59 UTC 2010


On May 24, 2010, at 8:20 AM, Jeremy Chadwick wrote:

> On Mon, May 24, 2010 at 03:47:44AM -0700, Jeremy Chadwick wrote:
>> FreeBSD testbox.home.lan 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:02:08 UTC 2009 root at mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
>> 
>> csup'd from cvsup10.freebsd.org, RELENG_8 of course.  make -j2
>> buildworld is currently running.
> 
> Sorry I didn't get back to you on this issue sooner.  Here's the
> current state of affairs:
> 
> - buildworld completed successfully  (make -j2 buildworld)
> - buildkernel completed successfully  (make -j2 buildkernel)
> - reboot into single-user, mount -a
> - mergemaster -p  (pulled in changes for group and master.passwd)
> - installworld completed successfully (make installworld)
> - yes | make delete-old  (due to ipfilter and kerberos removal)
> - mergemaster  (craploads of changes)
> - reboot into multi-user
> - reboot complained about some IPv6-related stuff, then I remembered
>  that the kernel is GENERIC w/out INET6 removal, doh.  :-)  Oh well,
>  unrelated to this problem
> - Verify /usr/include/lzma exists and is populated:
> 
> testbox# ls -l /usr/include/lzma
> total 162
> -r--r--r--  1 root  wheel  22112 May 24 01:10 base.h
> -r--r--r--  1 root  wheel   2628 May 24 01:10 bcj.h
> -r--r--r--  1 root  wheel  20032 May 24 01:10 block.h
> -r--r--r--  1 root  wheel   4255 May 24 01:10 check.h
> -r--r--r--  1 root  wheel  16341 May 24 01:10 container.h
> -r--r--r--  1 root  wheel   1865 May 24 01:10 delta.h
> -r--r--r--  1 root  wheel  16164 May 24 01:10 filter.h
> -r--r--r--  1 root  wheel   2141 May 24 01:10 hardware.h
> -r--r--r--  1 root  wheel  22807 May 24 01:10 index.h
> -r--r--r--  1 root  wheel   3903 May 24 01:10 index_hash.h
> -r--r--r--  1 root  wheel  13531 May 24 01:10 lzma.h
> -r--r--r--  1 root  wheel   8357 May 24 01:10 stream_flags.h
> -r--r--r--  1 root  wheel   6646 May 24 01:10 subblock.h
> -r--r--r--  1 root  wheel   3497 May 24 01:10 version.h
> -r--r--r--  1 root  wheel   6601 May 24 01:10 vli.h
> 
> - uname -a just as a posterity point:
> 
> testbox# uname -a
> FreeBSD testbox.home.lan 8.1-PRERELEASE FreeBSD 8.1-PRERELEASE #0: Mon May 24 06:09:23 PDT 2010 root at testbox.home.lan:/usr/obj/usr/src/sys/GENERIC  amd64
> 
> Sorry Garrett, can't reproduce.  :-(

No worries. Here's what I did to actually reproduce the issue (just to provide more data):

- Install 8.0-RELEASE amd64 with minimal from sysinstall.
- pkg_add -r subversion vim-lite
- cd /usr/src && svn co svn://svn.freebsd.org/base/head .
- Add the following bits to make.conf:

CFLAGS+=		-O2 -fno-strict-aliasing
CXXFLAGS+=	-O2 -fno-strict-aliasing

CFLAGS+=		-save-temps
CXXFLAGS+=	-save-temps

CPUTYPE=		nocona

- make -j4 buildworld && make -j4 buildkernel # bombed at ncurses with termcap error
- make -j2 buildworld && make -j4 buildkernel # bombed at ncurses with termcap error
- make buildworld buildkernel # bombed at ncurses with termcap error
- make kernel-toolchain # passed
- make buildworld # bombed at rescue/rescue
- make -C release/release depend # bombed with lzma
- make -C lib/lzma depend installincludes # bombed because /usr/include/lzma was missing
- mkdir -p /usr/include/lzma
- make -C lib/lzma installincludes # passed
- make -C rescue/rescue depend all # still bombed ; set WITHOUT_RESCUE in src.conf
- make buildworld buildkernel # passed

-save-temps seems to unroot some race conditions in the GNU toolchain as it barfed a lot with -j greater than 1 with some ASM related errors, but for whatever reason binutils was getting cranky and failing a lot with missing ncurses symbols, which kind of got me into this spiraling build failure cycle.

Hopefully that helps better describe what I did to get to the failing state. As I said earlier, I'll try to reproduce and characterize the situation further before filing a bug report.

Thanks,
-Garrett


More information about the freebsd-stable mailing list