undefined reference to SYS_cpuset

Daniel Eischen deischen at freebsd.org
Mon Jul 28 18:05:57 UTC 2008


On Mon, 28 Jul 2008, Unga wrote:

> --- On Mon, 7/28/08, Daniel Eischen <deischen at 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


More information about the freebsd-stable mailing list