lint errors in stable/11

Rick Miller vrwmiller at gmail.com
Fri May 11 18:32:06 UTC 2018


On Thu, May 10, 2018 at 11:27 AM Ian Lepore <ian at freebsd.org> wrote:

> On Thu, 2018-05-10 at 14:40 +0000, Rick Miller wrote:
> > On Thu, May 10, 2018 at 8:23 AM Dimitry Andric <dim at freebsd.org> wrote:
> >
> > >
> > > On 10 May 2018, at 12:47, Rick Miller <vrwmiller at gmail.com> wrote:
> > > >
> > > >
> > > > On Thu, May 10, 2018 at 6:35 AM Rick Miller <vrwmiller at gmail.com>
> wrote:
> > > ...
> > > >
> > > > >
> > > > > Performing a release build via release/release.sh in r331337 of
> > > stable/11
> > > >
> > > > >
> > > > > errors citing the lack of lint. It’s understood lint was removed
> from
> > > > > stable/11 so src.conf includes WITHOUT_LINT, but errors persist.
> As the
> > > > > code review alludes to[1], lint is irrelevant here. It seems
> > > WITHOUT_LINT
> > > >
> > > > >
> > > > > may not be the only thing I’m looking for. What is the best
> approach for
> > > > > mitigating these errors?
> > > > >
> > > > >
> > > > Here’s the error w/o email munging:
> > > >
> > > > ===> usr.bin/xlint/xlint (all)
> > > > /data/dists/11.1.9.0-amd64-md/usr/src/contrib/apr/atomic/uni
> > > > x/builtins.c:71:53:
> > > > warning: passing 'const void *' to parameter of type 'volatile void
> *'
> > > > discards
> > > > qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
> > > >
> > > >    return (void*) __sync_val_compare_and_swap(mem, cmp, with);
> > > >
> > > >                                                    ^~~
> > > >
> > > > 1 warning generated.
> > > >
> > > > ===> usr.bin/xlint/llib (all)
> > > >
> > > > sh: lint: not found
> > > Are you building on a -CURRENT host?  If so, see the previous mail
> > > thread about this:
> > >
> > >
> > >
> https://lists.freebsd.org/pipermail/freebsd-stable/2017-November/088092.html
> > >
> > > and https://bugs.freebsd.org/223892.
> > >
> > > No, the build system is stable/11 r331337 building releng/11.1. The
> build
> > system doesn’t include ‘lint’:
> >
> > # echo $PATH
> > /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
> > # which lint
> > lint: Command not found.
> >
> > The mail thread and bug refer to building stable/11 on current where this
> > case is building releng/11.1 on stable/11. They also do not appear to
> > provide actionable information on mitigating errors though the code
> > commit[1] suggests installing a lint will resolve. Ports doesn’t seem to
> > contain a suitable replacement however. Can lint still be installed on
> the
> > build system from the stable/11 source? If so, how is that accomplished?
> >
> > Do WITH/WITHOUT_LINT have any impact here? The source has been built with
> > WITH_LINT and WITHOUT_LINT to the same result except that xlint either
> > builds or doesn’t depending on the option.
> >
> > This all seems to originate with llib’s dependency on lint as described
> in
> > the email thread. It is in building llib where the error occurs.
> >
> > [1] https://reviews.freebsd.org/D13799
> >
> > -Rick
>
> Releng/11.1 is cast in stone; as I understand it, only security fixes
> can get merged into release branches, so the fix I did that added
> WITH/WITHOUT_LINT isn't on that branch and never will be. That means
> lint has to exist on the build system. If your build system is 11-
> stable, then add WITH_LINT=yes to your /etc/src.conf, build and install
> world, then that 11-stable system should be able to build the releng
> branch. Unfortunately, no such option exists for people trying to build
> on 12, because lint was removed completely (although it might be
> possible to install a lint port, I'm not sure about that).
>

Thanks for the information!

src.conf now includes WITH_LINT=“YES” and buildworld succeeds and produces
the ‘xlint’ that ultimately is installed via installworld:

# grep LINT /etc/src.conf
WITH_LINT="YES"
# pwd
/usr/obj/usr/src/usr.bin
# find . -name '*lint' -type f
./xlint/xlint/xlint
#

Observe below in this error where ‘xlint’ is installed as /usr/bin/lint,
but installworld still fails citing lint is not found. Creating symlink
/usr/bin/lint to /usr/bin/true seemed to have no impact on results.

===> usr.bin/xlint (install)
===> usr.bin/xlint/lint1 (install)
install  -s -o root -g wheel -m 555   lint1 /usr/libexec/lint1
install  -o root -g wheel -m 444  lint1.debug /usr/lib/debug/usr/libexec/lin
t1.debug
install  -o root -g wheel -m 444 lint.7.gz  /usr/share/man/man7/
===> usr.bin/xlint/lint2 (install)
install  -s -o root -g wheel -m 555   lint2 /usr/libexec/lint2
install  -o root -g wheel -m 444  lint2.debug
/usr/lib/debug/usr/libexec/lint2.debug

===> usr.bin/xlint/xlint (install)
install  -s -o root -g wheel -m 555   xlint /usr/bin/lint
install  -o root -g wheel -m 444  lint.debug /usr/lib/debug/usr/bin/lint.de
bug
install  -o root -g wheel -m 444 lint.1.gz  /usr/share/man/man1/
===> usr.bin/xlint/llib (install)
lint -cghapbx -I/usr/obj/usr/src/tmp/usr/include -Cposix
/usr/src/usr.bin/xlint/llib/llib-lposix
make[6]: exec(lint) failed (No such file or directory)
*** Error code 1

Stop.
make[6]: stopped in /usr/src/usr.bin/xlint/lib
*** Error code 1

-Rick

-- 
Take care
Rick Miller


More information about the freebsd-stable mailing list