Iain,
Any idea why this isn't failing universally? On all of the
machines tested here with 'make bootstrap', the linkage of libcc1.so
finds
the necessary libstdc++ from the set of flags...
-L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/libstdc++-v3/src
-L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/libstdc++-v3/src/.libs
-L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/libstdc++-v3/libsupc++/.libs
as I posted earlier in this thread. Why wouldn't Dominique be getting
those emitted in his build and shouldn't they suffice?
Jack
On Sat, Nov 8, 2014 at 4:03 PM, Iain Sandoe <[email protected]> wrote:
>
> On 8 Nov 2014, at 15:41, Jakub Jelinek wrote:
>
>> On Sat, Nov 08, 2014 at 04:31:28PM +0100, Dominique d'Humières wrote:
>>> I am still unable to bootstrap darwin14 without revision r216964 reverted.
>>> Executing the simplified command
>>>
>>> /opt/gcc/build_w/gcc/xg++ -B/opt/gcc/build_w/gcc/
>>> -L/opt/gcc/build_w/x86_64-apple-darwin14.0.0/libstdc++-v3/src/.libs -o
>>> .libs/libcc1.0.so .libs/findcomp.o -static-libstdc++ -static-libgcc
>>>
>>> I get
>>>
>>> ld: file not found: libstdc++.a
>>> collect2: error: ld returned 1 exit status
>>>
>>> while I see
>>>
>>> [Book15] build_w/libcc1% ls -l
>>> /opt/gcc/build_w/x86_64-apple-darwin14.0.0/libstdc++-v3/src/.libs/libstdc++.a
>>> -rw-r--r-- 1 dominiq staff 9118792 Nov 8 15:30
>>> /opt/gcc/build_w/x86_64-apple-darwin14.0.0/libstdc++-v3/src/.libs/libstdc++.a
>>>
>>>
>>> What am I missing?
>>
>> That is for somebody familiar with all the Mach-O weirdnesses to look at,
>> I don't see anything wrong with the above g++ invocation.
>> Rerun with -v to see how ld is invoked, strace (if Darwin has anything like
>> that) it to see why it doesn't find that libstdc++.a ?
>
> This is not really mach-o related, but a consequence of the way in which GCC
> specs substitution works.
>
> Unless the libstdc++-v3/.libs and libsupc++/.libs are visible as -Bxxxxx,
> spec substitution will not work (it's not enough to provide -L).
>
> This is done elsewhere (e.g. gnattools), it just needs an appropriate
> addition to the libcc1/Makefile.in
>
> (will try and take a look later in the week, if no-one else gets to it first).
>
> Iain
>