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