I have had a report of i386 darwin10 failing to build gcc 4.4.6 in fink 
which I've reproduced
myself. The failure looks quite odd...

/usr/bin/install -c -m 644 ./libiberty.a 
/sw/src/fink.build/root-gcc44-4.4.6-1001/sw/lib/gcc4.4/lib/`/sw/src/fink.build/gcc44-4.4.6-1001/darwin_objdir/./gcc/xgcc
 -B/sw/src/fink.build/gcc44-4.4.6-1001/darwin_objdir/./gcc/ 
-B/sw/lib/gcc4.4/i386-apple-darwin10.8.0/bin/ 
-B/sw/lib/gcc4.4/i386-apple-darwin10.8.0/lib/ -isystem 
/sw/lib/gcc4.4/i386-apple-darwin10.8.0/include -isystem 
/sw/lib/gcc4.4/i386-apple-darwin10.8.0/sys-include -g -O2   
-print-multi-os-directory`/./libiberty.an
mkdir /sw/src/fink.build/root-gcc44-4.4.6-1001/sw/lib/gcc4.4/share/locale/zh_TW
mkdir 
/sw/src/fink.build/root-gcc44-4.4.6-1001/sw/lib/gcc4.4/share/locale/zh_TW/LC_MESSAGES
libtool: install: /usr/bin/install -c .libs/libssp.0.dylib 
/sw/src/fink.build/root-gcc44-4.4.6-1001/sw/lib/gcc4.4/lib/x86_64/libssp.0.dylib
libtool: install: (cd 
/sw/src/fink.build/root-gcc44-4.4.6-1001/sw/lib/gcc4.4/lib/x86_64 && { ln -s -f 
libssp.0.dylib libssp.dylib || { rm -f libssp.dylib && ln -s libssp.0.dylib 
libssp.dylib; }; })
libtool: install: /usr/bin/install -c .libs/libssp.lai 
/sw/src/fink.build/root-gcc44-4.4.6-1001/sw/lib/gcc4.4/lib/x86_64/libssp.la
libtool: install: /usr/bin/install -c .libs/libssp.a 
/sw/src/fink.build/root-gcc44-4.4.6-1001/sw/lib/gcc4.4/lib/x86_64/libssp.a
( cd /sw/src/fink.build/root-gcc44-4.4.6-1001/sw/lib/gcc4.4/lib/`gcc -g -O2 
-print-multi-os-directory` ; chmod 644 ./libiberty.an ;ranlib ./libiberty.an )
libtool: install: chmod 644 
/sw/src/fink.build/root-gcc44-4.4.6-1001/sw/lib/gcc4.4/lib/x86_64/libssp.a
ranlib: file: ./libiberty.an is not an archive
libtool: install: ranlib -c 
/sw/src/fink.build/root-gcc44-4.4.6-1001/sw/lib/gcc4.4/lib/x86_64/libssp.a
make[2]: *** [install_to_libdir] Error 1
make[1]: *** [install-libiberty] Error 2
make[1]: *** Waiting for unfinished jobs....

and only occurs with parallel builds. Is it possible that the command...

/usr/bin/install -c -m 644 ./libiberty.a 
/sw/src/fink.build/root-gcc44-4.4.6-1001/sw/lib/gcc4.4/lib/`/sw/src/fink.build/gcc44-4.4.6-1001/darwin_objdir/./gcc/xgcc
 -B/sw/src/fink.build/gcc44-4.4.6-1001/darwin_objdir/./gcc/ 
-B/sw/lib/gcc4.4/i386-apple-darwin10.8.0/bin/ 
-B/sw/lib/gcc4.4/i386-apple-darwin10.8.0/lib/ -isystem 
/sw/lib/gcc4.4/i386-apple-darwin10.8.0/include -isystem 
/sw/lib/gcc4.4/i386-apple-darwin10.8.0/sys-include -g -O2   
-print-multi-os-directory`/./libiberty.an

could be in a race condition with the later command...

( cd /sw/src/fink.build/root-gcc44-4.4.6-1001/sw/lib/gcc4.4/lib/`gcc -g -O2 
-print-multi-os-directory` ; chmod 644 ./libiberty.an ;ranlib ./libiberty.an )

if so what can be done about this. So far the only work around I've found is to 
use the --disable-java-multilib patch ala redhat
which seems to cause this issue to go latant again. Any ideas?
              Jack

Reply via email to