Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jul 2008 10:58:22 -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.0807281051390.12364@sea.ntplx.net>
In-Reply-To: <557751.50935.qm@web57011.mail.re3.yahoo.com>
References:  <557751.50935.qm@web57011.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:
>
>> From: Daniel Eischen <deischen@freebsd.org>
>> Subject: Re: undefined reference to SYS_cpuset
>> To: "Unga" <unga888@yahoo.com>
>> Cc: ps@freebsd.org, brooks@freebsd.org, freebsd-stable@freebsd.org, jhb@freebsd.org
>> Date: Monday, July 28, 2008, 10:26 PM
>> On Mon, 28 Jul 2008, Unga wrote:
>>
>>> --- On Mon, 7/28/08, Daniel Eischen
>> <deischen@freebsd.org> wrote:
>>>
>>>> From: Daniel Eischen <deischen@freebsd.org>
>>>> Subject: Re: undefined reference to SYS_cpuset
>>>> To: "Unga" <unga888@yahoo.com>
>>>> Cc: freebsd-stable@freebsd.org
>>>> Date: Monday, July 28, 2008, 9:19 PM
>>>> On Mon, 28 Jul 2008, Unga wrote:
>>>>
>>>>> Hi all
>>>>>
>>>>> Today (28th July) I upgraded the FreeBSD
>> sources
>>>> (/usr/src) using
>>>>> cvsup and when try to compile a test C program
>> I get
>>>> following:
>>>>>
>>>>> echo 'main(){}' > dummy.c
>>>>> cc dummy.c -v -Wl,--verbose
>>>>>
>>>>> /usr/lib/libc.so: undefined reference to
>>>> `SYS_cpuset_getaffinity'
>>>>> /usr/lib/libc.so: undefined reference to
>>>> `SYS_cpuset'
>>>>> /usr/lib/libc.so: undefined reference to
>>>> `SYS_cpuset_setaffinity'
>>>>> /usr/lib/libc.so: undefined reference to
>>>> `SYS_cpuset_getid'
>>>>> /usr/lib/libc.so: undefined reference to
>>>> `SYS_cpuset_setid'
>>>>> /usr/lib/libc.so: undefined reference to
>>>> `SYS_setfib'
>>>>> collect2: ld returned 1 exit status
>>>>>
>>>>> I can see in logs following programs compiled
>> without
>>>> any error:
>>>>> cpuset_getaffinity.S
>>>>> cpuset.S
>>>>> cpuset_setaffinity.S
>>>>> cpuset_getid.S
>>>>> cpuset_setid.S
>>>>> setfib.S
>>>>>
>>>>> What's gone wrong now? Am I in the middle
>> of a
>>>> FreeBSD update? or have
>>>>> I made some mistake? or multiple routing
>> tables update
>>>> on 20080724
>>>>> broken something? Any ideas?
>>>>
>>>> Did you build and install the kernel first?
>>>>
>>>
>>> I have compiled and installed **only** following to a
>> separate location:
>>> - FreeBSD Headers
>>> - lib/csu
>>> - lib/libc
>>> - lib/msun
>>> - lib/libc_r
>>>
>>> And tested with a simple script whether I can compile
>> and link against new libs successfully before I can proceed
>> with my project. That test, as mentioned in the original
>> post, failed to link against the new C libraries. That is,
>> it looks to me, the libc is now broken.
>>>
>>> Of course, the system I'm running is old, uname -a
>> shows May 25. I don't think I have  to run the latest
>> kernel for me to separately link against a different copy
>> of libc, do I?
>>>
>>> If there a fix or a patch, I can apply against the
>> libc and let you guys know the result.
>>
>> The only supported way is to buildkernel and buildworld.
>> You're on your
>> own if you choose not to go along with the procedure in
>> src/UPDATING.
>>
>
> That may the only way you know how build FreeBSD :(

No, it's not the only way *I* know how to, but if you aren't
going to follow UPDATING, then *you* are expected to figure
it out :-)

Your problem is that you don't have an up-to-date kernel src
(src/sys) directory with includes in your build environment.
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.

-- 
DE



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