Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Dec 2011 12:36:03 +0200
From:      Volodymyr Kostyrko <c.kworr@gmail.com>
To:        Dimitry Andric <dim@FreeBSD.org>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: minor regression after patching
Message-ID:  <4EF99F93.9000405@gmail.com>
In-Reply-To: <4EF92639.8070903@FreeBSD.org>
References:  <4EF88D7B.4040600@gmail.com> <CAE-mSOJx51E%2BcMGy_UytDtDBdujnzM2ZEXBBqFRTgC2VCaucng@mail.gmail.com> <4EF8E21E.10401@gmail.com> <4EF92639.8070903@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
27.12.2011 03:58, Dimitry Andric wrote:
>>>> ftpd.o: In function `pass':
>>>> /usr/src/libexec/ftpd/ftpd.c:(.text+0x2676): undefined reference to
>>>> `__FreeBSD_libc_enter_restricted_mode'
>>>> clang: error: linker command failed with exit code 1 (use -v to see
>>>> invocation)
>>>> *** Error code 1
>>>
>>> This means that linker has not found a mentioned symbol, i.e. likely
>>> you haven't updated your libc before trying to build ftpd.
>>> In this case you need to act the next order:
>>> 1) rebuild&& reinstall libc
>>> 2) rebuild&& reinstall ftpd
>>
>> Oh yes, I just remembered those sweet days I was sitting on HEAD. Each
>> build was a trial/error process.
>>
>> And I'm not seeing this when compiling world with stock gcc or on i386.
>> It looks like rather nasty clang regression.
>
> For me, stable/9 builds just fine with clang (or gcc), and the tinderbox
> isn't complaining either. Are you sure you are running buildworld,
> which is definitely necessary for this kind of upgrade?

Yes. I have set up a chrooted environment to retest. Config files are:

=== /etc/make.conf
# vim:set ft=make:

#CPUTYPE?=native
INSTALL:=install -C
KERNCONF?=MINIMAL
NO_CLEAN:=yes
WITHOUT_NOUVEAU:=yes
WRKDIRPREFIX=/tmp/ports

.if (empty(.CURDIR:N*/usr/src/*) || empty(.CURDIR:N*/usr/obj/*)) && 
!defined(NOCCACHE)
.  if !empty(TARGET:Mamd64)
   #CC=/usr/local/libexec/ccache/world-cc
   #CXX=/usr/local/libexec/ccache/world-c++
   CC:=${CC:C,^cc$,clang,1}
   CXX:=${CXX:C,^c\+\+$,clang++,1}
   CPP:=${CPP:C,^cpp$,clang -E,}
   NO_WERROR:=
   WERROR:=
.  else
   #CC=/usr/local/libexec/ccache/world/cc
   #CXX=/usr/local/libexec/ccache/world/c++
.  endif
.endif
====

=== /etc/src.conf
WITHOUT_ACCT='yes'
#WITHOUT_AMD='yes'
WITHOUT_ATM='yes'
WITHOUT_AUTHPF='yes'
#WITHOUT_BIND='yes'
WITHOUT_CTM='yes'
WITHOUT_FREEBSD_UPDATE='yes'
WITHOUT_HTML='yes'
WITHOUT_I4B='yes'
#WITHOUT_INFO='yes'
WITHOUT_IPFILTER='yes'
WITHOUT_IPFW='yes'
WITHOUT_IPX='yes'
#WITHOUT_JAIL='yes'
#WITHOUT_KERBEROS='yes'
WITHOUT_NDIS='yes'
#WITHOUT_NIS='yes'
WITHOUT_PMC='yes'
WITHOUT_PORTSNAP='yes'
#WITHOUT_PPP='yes'
WITHOUT_PROFILE='yes'
WITHOUT_QUOTAS='yes'
WITHOUT_RCMDS='yes'
#WITHOUT_RCS='yes'
WITHOUT_ROUTED='yes'
WITHOUT_SENDMAIL='yes'
WITHOUT_SLIP='yes'
WITHOUT_SYSINSTALL='yes'
WITHOUT_WIRELESS='yes'
====

No other changes was done to environment. Build was started with:

idprio 15 make -j2 buildworld

Also I found that there are files missing after successful buildworld so 
installworld fails at some points. Subsequent run of buildworld fixes that.

I'll start a new build from a scratch with one single job to catch all 
output.

-- 
Sphinx of black quartz judge my vow.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4EF99F93.9000405>