Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Oct 2012 13:27:59 -0400
From:      Eitan Adler <lists@eitanadler.com>
To:        Volodymyr Kostyrko <c.kworr@gmail.com>
Cc:        Dimitry Andric <dimitry@andric.com>, stable@freebsd.org
Subject:   Re: Missing lib on linking libc WITH_LIBCPLUSPLUS
Message-ID:  <CAF6rxgkGyHRwCgGxcRnwTOhJ7kfeuBvrBPNfjUWNFZ6zYP_fjg@mail.gmail.com>
In-Reply-To: <506B0FF5.5050505@gmail.com>
References:  <506A9D89.80303@gmail.com> <506AB019.70501@andric.com> <506B0FF5.5050505@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2 October 2012 12:01, Volodymyr Kostyrko <c.kworr@gmail.com> wrote:
> 02.10.2012 12:12, Dimitry Andric wrote:
>>
>> On 2012-10-02 09:53, Volodymyr Kostyrko wrote:
>>>
>>> When enabling WITH_LIBCPLUSPLUS libc build fails with:
>>>
>>> /usr/local/libexec/ccache/clang++  -O2 -pipe -march=native
>>> -I/usr/src/lib/libc++/../../contrib/libc++/include
>>> -I/usr/src/lib/libc++/../../contrib/libcxxrt -nostdlib -DLIBCXXRT
>>> -Qunused-arguments -fstack-protector -Wno-empty-body
>>> -Wno-string-plus-int -Wno-tautological-compare -Wno-unused-value
>>> -Wno-parentheses-equality -Wno-unused-function -Wno-conversion
>>> -Wno-switch -Wno-switch-enum -Wno-parentheses -std=c++0x -c
>>> cxxrt_guard.cc -o cxxrt_guard.o
>>> building shared library libc++.so.1
>>> FreeBSD clang version 3.1 (branches/release_31 156863) 20120523
>>> Target: x86_64-unknown-freebsd9.0
>>> Thread model: posix
>>>    "/usr/bin/ld" --eh-frame-hdr -Bshareable -o libc++.so.1
>>> /usr/lib/crti.o /usr/lib/crtbeginS.o -L/usr/lib -x --fatal-warnings
>>> --warn-shared-textrel -soname libc++.so.1 valarray.So utility.So
>>> typeinfo.So strstream.So regex.So random.So iostream.So debug.So
>>> chrono.So bind.So algorithm.So hash.So thread.So future.So exception.So
>>> locale.So mutex.So memory.So ios.So condition_variable.So
>>> system_error.So string.So stdexcept.So new.So -lcxxrt -lgcc --as-needed
>>> -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed
>>> /usr/lib/crtendS.o /usr/lib/crtn.o
>>> /usr/bin/ld: cannot find -lcxxrt
>>> clang: error: linker command failed with exit code 1 (use -v to see
>>> invocation)
>>>
>>> This lib was already built:
>>>
>>> # find /usr/obj -name libcxxrt.so
>>> /usr/obj/usr/src/tmp/usr/lib/libcxxrt.so
>>> /usr/obj/usr/src/lib/libcxxrt/libcxxrt.so
>>>
>>> But this error is only fixed after:
>>>
>>> # cd /usr/src/lib/libcxxrt ; make install
>>
>>
>> Are you getting this error as part of buildworld, or when you build
>> libc++ by hand?
>
>
> As part of the buildworld. I feel that it looks for the lib in the system
> skipping /usr/obj.
>
>
>> Also, an obvious question is: does it work when you disable ccache?
>
>
> Bingo. Yes, disabling ccache makes everything work.

please ping the ccache folk about this. It *shouldn't* matter. :)



-- 
Eitan Adler



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