Upgrading from stable/8 to stable/9 blocked by file 5.21 (r276416)

Kevin Oberman rkoberman at gmail.com
Mon Jan 5 18:01:35 UTC 2015


On Mon, Jan 5, 2015 at 1:49 AM, Trond Endrestøl <
Trond.Endrestol at fagskolen.gjovik.no> wrote:

> On Sun, 4 Jan 2015 12:53-0800, Xin Li wrote:
>
> > On 1/4/15 09:41, Trond Endrestøl wrote:
> > > Hi,
> > >
> > > I'm investigating how to convert my stable/8 systems to stable/9,
> > > and subsequently to stable/10.
> > >
> > [...]
> > > In file included from
> > > /usr/src/lib/libmagic/../../contrib/file/src/print.c:32:
> > > /usr/src/lib/libmagic/../../contrib/file/src/file.h:495: error:
> > > expected specifier-qualifier-list before 'locale_t' *** Error code
> > > 1 1 error *** Error code 2 1 error *** Error code 2 1 error ***
> > > Error code 2 1 error
> >
> > Looks like you are using -j -- have you tried building without -j?
>
> I did a test run on one of my stable/8 servers. That one's currently
> running stable/8 r276500 and it attempted to build stable/9 r276691
> single threaded. No such luck.
>
> Unless this problem is resolved, then those of us migrating from
> stable/8 to stable/{9,10} need a pit stop at stable/9 r276385.
>
> ===> lib/libmagic (obj,build-tools)
> gcc -O2 -pipe -DMAGIC='"/usr/share/misc/magic"' -DHAVE_CONFIG_H
> -I/usr/src/lib/libmagic -I/usr/src/lib/libmagic/../../contrib/file/src
> -std=gnu99   -I/usr/obj/usr/src/tmp/legacy/usr/include -DCOMPILE_ONLY
> -L/usr/obj/usr/src/tmp/legacy/usr/lib -o mkmagic
> /usr/src/lib/libmagic/../../contrib/file/src/apprentice.c
> /usr/src/lib/libmagic/../../contrib/file/src/cdf_time.c
> /usr/src/lib/libmagic/../../contrib/file/src/encoding.c
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c
> /usr/src/lib/libmagic/../../contrib/file/src/magic.c
> /usr/src/lib/libmagic/../../contrib/file/src/print.c  -lz -legacy
> In file included from
> /usr/src/lib/libmagic/../../contrib/file/src/apprentice.c:32:
> /usr/src/lib/libmagic/../../contrib/file/src/file.h:488:21: error:
> xlocale.h: No such file or directory
> In file included from
> /usr/src/lib/libmagic/../../contrib/file/src/apprentice.c:32:
> /usr/src/lib/libmagic/../../contrib/file/src/file.h:495: error: expected
> specifier-qualifier-list before 'locale_t'
> In file included from
> /usr/src/lib/libmagic/../../contrib/file/src/cdf_time.c:27:
> /usr/src/lib/libmagic/../../contrib/file/src/file.h:488:21: error:
> xlocale.h: No such file or directory
> In file included from
> /usr/src/lib/libmagic/../../contrib/file/src/cdf_time.c:27:
> /usr/src/lib/libmagic/../../contrib/file/src/file.h:495: error: expected
> specifier-qualifier-list before 'locale_t'
> In file included from
> /usr/src/lib/libmagic/../../contrib/file/src/encoding.c:35:
> /usr/src/lib/libmagic/../../contrib/file/src/file.h:488:21: error:
> xlocale.h: No such file or directory
> In file included from
> /usr/src/lib/libmagic/../../contrib/file/src/encoding.c:35:
> /usr/src/lib/libmagic/../../contrib/file/src/file.h:495: error: expected
> specifier-qualifier-list before 'locale_t'
> In file included from
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:27:
> /usr/src/lib/libmagic/../../contrib/file/src/file.h:488:21: error:
> xlocale.h: No such file or directory
> In file included from
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:27:
> /usr/src/lib/libmagic/../../contrib/file/src/file.h:495: error: expected
> specifier-qualifier-list before 'locale_t'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c: In function
> 'file_regcomp':
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:456: error:
> 'file_regex_t' has no member named 'c_lc_ctype'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:456: warning:
> implicit declaration of function 'newlocale'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:456: error:
> 'LC_CTYPE_MASK' undeclared (first use in this function)
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:456: error: (Each
> undeclared identifier is reported only once
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:456: error: for each
> function it appears in.)
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:457: error:
> 'file_regex_t' has no member named 'c_lc_ctype'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:458: error:
> 'file_regex_t' has no member named 'old_lc_ctype'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:458: warning:
> implicit declaration of function 'uselocale'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:458: error:
> 'file_regex_t' has no member named 'c_lc_ctype'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:459: error:
> 'file_regex_t' has no member named 'old_lc_ctype'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:463: error:
> 'file_regex_t' has no member named 'rc'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:463: error:
> 'file_regex_t' has no member named 'rx'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c: In function
> 'file_regexec':
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:470: error:
> 'file_regex_t' has no member named 'rc'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:471: error:
> 'file_regex_t' has no member named 'rx'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c: In function
> 'file_regfree':
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:477: error:
> 'file_regex_t' has no member named 'rc'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:478: error:
> 'file_regex_t' has no member named 'rx'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:480: error:
> 'file_regex_t' has no member named 'old_lc_ctype'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:481: warning:
> implicit declaration of function 'freelocale'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:481: error:
> 'file_regex_t' has no member named 'c_lc_ctype'
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c: In function
> 'file_regerror':
> /usr/src/lib/libmagic/../../contrib/file/src/funcs.c:490: error:
> 'file_regex_t' has no member named 'rx'
> In file included from
> /usr/src/lib/libmagic/../../contrib/file/src/magic.c:33:
> /usr/src/lib/libmagic/../../contrib/file/src/file.h:488:21: error:
> xlocale.h: No such file or directory
> In file included from
> /usr/src/lib/libmagic/../../contrib/file/src/magic.c:33:
> /usr/src/lib/libmagic/../../contrib/file/src/file.h:495: error: expected
> specifier-qualifier-list before 'locale_t'
> In file included from
> /usr/src/lib/libmagic/../../contrib/file/src/print.c:32:
> /usr/src/lib/libmagic/../../contrib/file/src/file.h:488:21: error:
> xlocale.h: No such file or directory
> In file included from
> /usr/src/lib/libmagic/../../contrib/file/src/print.c:32:
> /usr/src/lib/libmagic/../../contrib/file/src/file.h:495: error: expected
> specifier-qualifier-list before 'locale_t'
> *** Error code 1
>
> Stop in /usr/src/lib/libmagic.
> *** Error code 1
>
> Stop in /usr/src.
> *** Error code 1
>
> Stop in /usr/src.
> *** Error code 1
>
> Stop in /usr/src.
>
>
This still comes down to  he build of file (and specifically libmagick not
finding xlocale.h. the new header files should have been installed into
/usr/obj long before the build of file starts. the buildworld should always
run clean, obj, _includes, and depends before any of the actual builds
commence.

So the issue is whether the build of libmagic is failing to look for
xlocale.h in the right place or the _includes: target is failing to install
it there.

This can be checked by building without -j (to eliminate any possible
races) and, after the failure, look for xlocale.h in
/usr/obj/usr/src/tmp/usr/include. This is where all header files should be
installed in the /usr/obj tree so that they are available and used by the
buildworld.
One oddity of xlocale.h is that, unlike other header files, it is not
simply copied from /usr/src to /usr/obj/usr/src/tmp/usr/include. Instead,
it is created for a particular locale from the files in
/usr/src/include/xlocale/. This makes me a bit suspicious that this is
happening too late.

My "make" foo is limited, but I am about to kick off a buildworld while
recording the output to confirm when xlocale.h is actually built.
--
R. Kevin Oberman, Network Engineer, Retired
E-mail: rkoberman at gmail.com


More information about the freebsd-stable mailing list