This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Testsuite failures due to Makefile issue
- From: "Ulrich Weigand" <weigand at i1 dot informatik dot uni-erlangen dot de>
- To: libstdc++ at gcc dot gnu dot org, gcc at gcc dot gnu dot org
- Date: Tue, 23 Sep 2003 23:41:42 +0200 (CEST)
- Subject: Testsuite failures due to Makefile issue
Hello,
when running the g++ and libstdc++ testsuites in parallel,
I'm getting spurious failures of g++ test cases. This is
because running the libstdc++ 'make check' target causes
the libstdc++.so library to be rebuilt every time.
During this rebuild the library file is missing or invalid
for some time, and g++ test cases that run at this time
will fail because of the missing library.
Now, 'make check' should obviously not rebuild the library.
It happens because of the dependency:
libstdc___la_DEPENDENCIES = libstdc++-symbol.ver $(libstdc___la_LIBADD)
on the libstdc++-symbol.ver target. If this file does not
exist, make will think libstdc++.so is out of date.
However, if GLIBCXX_BUILD_VERSIONED_SHLIB is not set (which
it appears not to be in my environment), the libstdc++-symbol.ver
file will never be created. While there is a dummy make rule
libstdc++-symbol.ver:
this rule only serves to prevent make from aborting due to
the missing file, it does not prevent make from rebuilding
the library every time.
What would you suggest as best way to fix this? I guess
something like this should work:
if GLIBCXX_BUILD_VERSIONED_SHLIB
libstdc___la_DEPENDENCIES = libstdc++-symbol.ver $(libstdc___la_LIBADD)
else
libstdc___la_DEPENDENCIES = $(libstdc___la_LIBADD)
endif
(B.t.w. is GLIBCXX_BUILD_VERSIONED_SHLIB supposed to be set
on a Linux build or not?)
Bye,
Ulrich
--
Dr. Ulrich Weigand
weigand@informatik.uni-erlangen.de