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
 

Reply via email to