Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jul 2008 14:05:55 -0400 (EDT)
From:      Daniel Eischen <deischen@freebsd.org>
To:        Unga <unga888@yahoo.com>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: undefined reference to SYS_cpuset
Message-ID:  <Pine.GSO.4.64.0807281350350.13373@sea.ntplx.net>
In-Reply-To: <217498.53801.qm@web57001.mail.re3.yahoo.com>
References:  <217498.53801.qm@web57001.mail.re3.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 28 Jul 2008, Unga wrote:

> --- On Mon, 7/28/08, Daniel Eischen <deischen@freebsd.org> wrote:
>
>> Your problem is that you don't have an up-to-date
>> kernel src
>> (src/sys) directory with includes in your build
>> environment.
>
> I have nothing to do with src/sys. I link against FreeBSD libs for a 
> long time, it just today onwards did not work. That's all.

I don't care that *you* have nothing to do with src/sys, but
libc (and other base libs and utilities) do care.

>> Your libc is being built against an old set of includes, so
>> it is up to you how to want to modify your build
>> environment
>> to account for this.
>>
>
> I install FreeBSD includes from /usr/src/include and libs from 
> /usr/src/lib. From the today onwards if the make in /usr/src/include 
> does not install all the headers required for libs building that 
> should be clearly documented and notified prominently, that I don't 
> see it in UPDATING or any where.
>
> FYI, my libc is build against the **latest** set of includes installed 
> by the make in the /usr/src/include and nothing but that, ie, there 
> are no other headers in /mypath/include, the compilation and 
> installation of libc goes **without** any error. So that "Your libc is 
> being built against an old set of includes" is just pure nonsense, and 
> stupid statement made without knowing what people are doing.

It's not nonsense, it is the truth.  "old set of includes" includes
/usr/include and everything under it (/usr/include/sys, 
/usr/include/machine, etc), with sys and machine notably being
part of src/sys.  The files in /usr/src/include are not the complete
set of includes, and a 'make install' from there does not install
all the includes.

Depending on what you are doing and what you require, you need
to at least setup an include directory that includes the files
from /usr/src/include, /usr/src/sys/sys (as <sys/*.h> and
/usr/src/sys/<arch>/include (as <machine/*.h>).  You should
do a 'ls -1F /usr/include | grep /' and see just what you
are missing by only relying on /usr/src/include.

-- 
DE



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.64.0807281350350.13373>