Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Jan 2015 10:01:34 -0800
From:      Kevin Oberman <rkoberman@gmail.com>
To:        =?UTF-8?Q?Trond_Endrest=C3=B8l?= <Trond.Endrestol@fagskolen.gjovik.no>
Cc:        FreeBSD stable <freebsd-stable@freebsd.org>, Xin Li <delphij@delphij.net>
Subject:   Re: Upgrading from stable/8 to stable/9 blocked by file 5.21 (r276416)
Message-ID:  <CAN6yY1uNb-r5s4i9tdya5NS0Nmrc16=e4MWQ=vQNHGLiATvXxg@mail.gmail.com>
In-Reply-To: <alpine.BSF.2.11.1501051036160.1551@mail.fig.ol.no>
References:  <alpine.BSF.2.11.1501041830030.1551@mail.fig.ol.no> <54A9A853.2000208@delphij.net> <alpine.BSF.2.11.1501051036160.1551@mail.fig.ol.no>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 5, 2015 at 1:49 AM, Trond Endrest=C3=B8l <
Trond.Endrestol@fagskolen.gjovik.no> wrote:

> On Sun, 4 Jan 2015 12:53-0800, Xin Li wrote:
>
> > On 1/4/15 09:41, Trond Endrest=C3=B8l 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.
>
> =3D=3D=3D> lib/libmagic (obj,build-tools)
> gcc -O2 -pipe -DMAGIC=3D'"/usr/share/misc/magic"' -DHAVE_CONFIG_H
> -I/usr/src/lib/libmagic -I/usr/src/lib/libmagic/../../contrib/file/src
> -std=3Dgnu99   -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@gmail.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAN6yY1uNb-r5s4i9tdya5NS0Nmrc16=e4MWQ=vQNHGLiATvXxg>