[Cygwin] llvm-ranlib and 'make check' errors

Hi,

Got everything built but am now experiencing new errors on making the symbol tables and on ‘make check’.

Here’s the errors I am experiencing :-

Aaron Gray@AMD-LAPTOP-1 /usr/llvm-gcc/lib
$ ls
gcc libdummy.a libiberty.a libstdc++.a libsupc++.la
libc.a libgcc.a libm.a libstdc++.la libtrace.a
libcrtend.a libgcsemispace.a libprofile_rt.a libsupc++.a

Aaron Gray@AMD-LAPTOP-1 /usr/llvm-gcc/lib
$ llvm-ranlib libiberty.a
llvm-ranlib: Error opening archive file: libiberty.a

This is the same for all the library files.

And ‘make check’ :-

$ make check
make[1]: Entering directory /usr/build/llvm-gcc/gcc' (rootme=${PWDCMD-pwd}; export rootme; \ srcdir=cd /usr/cfrontend/src/gcc; ${PWDCMD-pwd} ; export srcdir ; \ cd testsuite; \ EXPECT=expect ; export EXPECT ; \ if [ -f ${rootme}/../expect/expect ] ; then \ TCL_LIBRARY=cd … ; cd /usr/cfrontend/src/gcc/…/tcl/library ; ${PWDCMD-pwd}
; \ export TCL_LIBRARY ; fi ; \ runtest --tool gcc ) runtest: not found make[1]: [check-gcc] Error 127 (ignored) (rootme=${PWDCMD-pwd}; export rootme; \ srcdir=cd /usr/cfrontend/src/gcc; ${PWDCMD-pwd} ; export srcdir ; \ cd testsuite; \ EXPECT=expect ; export EXPECT ; \ if [ -f ${rootme}/../expect/expect ] ; then \ TCL_LIBRARY=cd … ; cd /usr/cfrontend/src/gcc/…/tcl/library ; ${PWDCMD-pwd}
; \ export TCL_LIBRARY ; fi ; \ runtest --tool g++ ) runtest: not found make[1]: [check-g++] Error 127 (ignored) make[1]: Leaving directory/usr/build/llvm-gcc/gcc’
make[1]: Entering directory /usr/build/llvm-gcc/intl' make[1]: Nothing to be done for check’.
make[1]: Leaving directory /usr/build/llvm-gcc/intl' make[1]: Entering directory /usr/build/llvm-gcc/libiberty’
make[2]: Entering directory `/usr/build/llvm-gcc/libiberty/testsuite’
./test-demangle < /usr/cfrontend/src/libiberty/testsuite/demangle-expected
FAIL at line 2648, style gnu-v3:
in: _Z3fooIiFvdEiEvv
out: (null)
exp: void foo<int, void ()(double), int>()
FAIL at line 2672, style gnu-v3:
in: _ZngILi42EEvN1AIXplT_Li2EEE1TE
out: void operator-<(int)42>(A<((int)42)+((int)2)>::T)
exp: void operator-<42>(A<(42) + (2)>::T)
FAIL at line 2692, style gnu-v3:
in: _ZlsRSoRKSs
out: operator<<(std::basic_ostream<char, std::char_traits >&, std::basic_s
tring<char, std::char_traits, std::allocator > const&)
exp: operator<<(std::ostream&, std::string const&)
FAIL at line 2700, style gnu-v3:
in: U4_farrVKPi
out: _far int* restrict volatile const
exp: int* restrict volatile const _far
FAIL at line 2704, style gnu-v3:
in: _Z3fooILi2EEvRAplT_Li1E_i
out: void foo<(int)2>(int (&) [((int)2)+((int)1)])
exp: void foo<2>(int (&) [(2) + (1)])
FAIL at line 2708, style gnu-v3:
in: _Z1fM1AKFvvE
out: (null)
exp: f(void (A::)() const)
FAIL at line 2716, style gnu-v3:
in: 2CBIL_Z3foocEE
out: (null)
exp: CB<foo(char)>
FAIL at line 2720, style gnu-v3:
in: 2CBIL_Z7IsEmptyEE
out: (null)
exp: CB
FAIL at line 2728, style gnu-v3:
in: _ZZN1N1fEiEs
out: N::f(int)::string literal [#0]
exp: N::f(int)::string literal
FAIL at line 2748, style gnu-v3:
in: _Z1fKPFiiE
out: f(int (
)(int) const)
exp: f(int (* const)(int))
FAIL at line 2752, style gnu-v3:
in: _Z1fAszL_ZZNK1N1A1fEvE3foo_0E_i
out: f(int[ sizeof(N::a::f()::foo [# ])const1])
exp: f(int[sizeof(N::a::f() const::foo)])
FAIL at line 2756, style gnu-v3:
in: Z1fA37_iPS
out: f(int[37], int[37])
exp: f(int[37], int (
) [37])
FAIL at line 2760, style gnu-v3:
in: Z1fM1AFivEPS0
out: f(int (A::)(), int ()())
exp: f(int (A::)(), int ()())
FAIL at line 2764, style gnu-v3:
in: _Z1fPFPA1_ivE
out: f(int () [1] ()())
exp: f(int (()()) [1])
FAIL at line 2768, style gnu-v3:
in: _Z1fPKM1AFivE
out: f(int (A::)() const)
exp: f(int (A::* const*)())
FAIL at line 2772, style gnu-v3:
in: Z1jM1AFivEPS1
out: j(int (A::)(), int (A::)())
exp: j(int (A::
)(), int (A::)())
FAIL at line 2776, style gnu-v3:
in: Z1sPA37_iPS0
out: s(int () [37], int () [37])
exp: s(int (
) [37], int (
) [37])
FAIL at line 2780, style gnu-v3:
in: _Z3fooA30_A_i
out: foo(int[][30])
exp: foo(int[30][])
FAIL at line 2784, style gnu-v3:
in: _Z3kooPA28_A30_i
out: koo(int[30] () [28])
exp: koo(int (
) [28][30])
FAIL at line 2788, style gnu-v3:
in: ZlsRKU3fooU4bart1XS0
out: operator<<(foo bart X const&, bart X)
exp: operator<<(X bart foo const&, X bart)
FAIL at line 2792, style gnu-v3:
in: ZlsRKU3fooU4bart1XS2
out: operator<<(foo bart X const&, foo bart X const)
exp: operator<<(X bart foo const&, X bart foo const)
FAIL at line 2796, style gnu-v3:
in: _Z1fM1AKFivE
out: (null)
exp: f(int (A::)() const)
FAIL at line 2800, style gnu-v3:
in: _Z3absILi11EEvv
out: void abs<(int)11>()
exp: void abs<11>()
FAIL at line 2804, style gnu-v3:
in: _ZN1AIfEcvT_IiEEv
out: A::operator float()
exp: A::operator int()
FAIL at line 2816, style gnu-v3:
in: ZN5libcw5debug13cwprint_usingINS_9_private_12GlobalObjectEEENS0_17cwprint
using_tctIT_EERKS5_MS5_KFvRSt7ostreamE
out: (null)
exp: libcw::debug::cwprint_using_tctlibcw::_private_::GlobalObject libcw::debu
g::cwprint_usinglibcw::_private_::GlobalObject(libcw::private::GlobalObject
const&, void (libcw::private::GlobalObject::
)(std::ostream&) const)
FAIL at line 2836, style gnu-v3:
in: Z1fI1APS0_PKS0_EvT_T0_T1_PA4_S3_M1CS8
out: void f<A, A*, A const*>(A, A*, A const*, A const* () [4], A const () [4]
C::
)
exp: void f<A, A*, A const*>(A, A*, A const*, A const* () [4], A const (* C::*
) [4])
FAIL at line 2840, style gnu-v3:
in: Z3fooiPiPS_PS0_PS1_PS2_PS3_PS4_PS5_PS6_PS7_PS8_PS9_PSA_PSB_PSC
out: foo(int, int*, int**, int***, int****, int*****, int******, int*******, int
, int*, int**********, int***********, int************, int*****
, int*****, int**************)
exp: foo(int, int*, int**, int***, int****, int*****, int******, int*******, int
, int*, int**********, int***********, int************, int*****
, int******, int***************)
FAIL at line 2852, style gnu-v3:
in: ZNSt13_Alloc_traitsISbIcSt18string_char_traitsIcEN5libcw5debug9_private_17
allocator_adaptorIcSt24__default_alloc_templateILb0ELi327664EELb1EEEENS5_IS9_S7

Lb1EEEE15_S_instancelessE
out: std::_Alloc_traits<std::basic_string<char, std::string_char_traits, l
ibcw::debug::private::allocator_adaptor<char, std::__default_alloc_template<(b
ool)0, (int)327664>, (bool)1> >, libcw::debug::private::allocator_adaptor<std:
:basic_string<char, std::string_char_traits, libcw::debug::private::allo
cator_adaptor<char, std::__default_alloc_template<(bool)0, (int)327664>, (bool)1

, std::__default_alloc_template<(bool)0, (int)327664>, (bool)1> >::_S_instanc
eless
exp: std::_Alloc_traits<std::basic_string<char, std::string_char_traits, l
ibcw::debug::private::allocator_adaptor<char, std::__default_alloc_template<fa
lse, 327664>, true> >, libcw::debug::private::allocator_adaptor<std::basic_str
ing<char, std::string_char_traits, libcw::debug::private::allocator_adap
tor<char, std::__default_alloc_template<false, 327664>, true> >, std::_default
alloc_template<false, 327664>, true> >::_S_instanceless
FAIL at line 2856, style gnu-v3:
in: _GLOBAL__I__Z2fnv
out: (null)
exp: global constructors keyed to fn()
FAIL at line 2860, style gnu-v3:
in: Z1rM1GFivEMS_KFivES_M1HFivES1_4whatIKS_E5what2IS8_ES3
out: (null)
exp: r(int (G::)(), int (G::)() const, G, int (H::)(), int (G::)(), what<G c
, what2, int (G::*)() const)
FAIL at line 2866, style auto:
in: __CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15
EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std1
8list__tm__7_Z1ZZ2Z8iterator
out: _Z1ZZ2Z::__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q
2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFR
CQ3_3std18list__tm(iterator)
exp: __CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15
EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std1
8list__tm__7_Z1ZZ2Z8iterator
./test-demangle: 714 tests, 31 failures
make[2]: *** [check-cplus-dem] Error 1
make[2]: Leaving directory /usr/build/llvm-gcc/libiberty/testsuite' make[1]: *** [check-subdir] Error 2 make[1]: Leaving directory /usr/build/llvm-gcc/libiberty’
make: *** [check-libiberty] Error 2

Shame everything seemed to be going so well upto now.

I am hoping the problem is my environment and there is a relatively easy fix for this,

Aaron

Does not look like the demangle test worked anyway :frowning:

Aaron,

Could you send me the libiberty.a file? Please gzip it. I would like to
make sure this isn't an llvm-ranlib bug.

Thanks,

Reid.

Reid,

Here's the offending file, the other .a's produce the same error.

Aaron

libiberty.tar.gz (202 KB)

Okay, this I have no clue about. I've never done "make check" on llvm-
gcc. I thought you meant "make check" on LLVM. You're into "new
territory".

Reid.

Okay, that file checks out just fine using llvm-ranlib and llvm-ar on
Linux, so the file is not the problem, llvm-ranlib on cygwin is. I don't
know what the issue could be. If you feel like gdbing llvm-ranlib while
it tries to process that file and get some info on why it can't read the
file, that would be useful. This isn't critical btw, not having ranlib'd
archives will make your links slower, but not fail.

llvm-ar appears to be okay atleast the t and x operations work fine.

If no one else gives any feedback on llvm-ranlib then I may have a look at it.
It would be good if someone else could checkout the Cygwin build and llvm-ranlib.

Okay, this I have no clue about. I've never done "make check" on llvm-
gcc. I thought you meant "make check" on LLVM. You're into "new
territory".

That explains everything, I should be checking llvm, not the cfrontend, thanks :slight_smile:

Looks like the cfrontend checks were never completed.

Aaron

That's entirely possible.

Reid

Nor would I expect them to work, since they would expect to get
gcc-style output. LLVM's native code output will also differ from GCC,
so llvm/test/Regression/CFrontend is our "make check" for llvm-gcc.