stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: Stdcxx building
Date Tue, 18 Oct 2005 15:43:09 GMT
Anton Pevtsov wrote:
> Hi Martin,
> 
> We have tried to build two versions of the stdcxx library (the
> downloaded snapshot 4.1.2 and the last version from svn - named "svn
> version" below in this document) and its environment (examples, tests,
> etc). We use SuSe Linux 9.1 and GNU make 3.80. 
> 
> The results are: the stdcxx library and examples were built successfully
> for both versions using the master-make file with specified BUILDDIR
> parameter

That's good to hear! :)

> (without it the make falls into the infinite loop), but the
> other projects have problems.

Yes, there are a number of tests that are known to fail to compile,
link, or fail at runtime. Examples should build with no problems,
except on some platforms (such as MSVC 6).

> 
> 1. The svn version building goes successfully until it reached the
> target "$(CATFILE) : $(MSGFILES)" in makefile.rules. But there are no
> MSGFILES is specified and the command "gencat .../rwstdmessages.cat"
> switches to manual input - the build process stops. This cause of this
> issue is the new way of the ALLFILES variable (MSGFILES depends on it)
> initialization. This problem is absent in the snapshot version. So, the
> question is: which ALLFILES variable is correct and what shall we do
> with the CATFILE tagret? 

There are few platforms where the gencat invocation fails or hangs
(I think IRIX is one of them). But what you're describing sounds
like a new problem introduced probably in rev 292348.

> 
> To continue the building we have just commented the $(CATFILE) rules out
> locally in our svn version.

Okay. Let me look into fixing the regression.

> 
> 2. The GNUmakefile.bin doesn't work in the svn version. Any target from
> this make file couldn't be achieved. The problem is in the dependency
> files generation: there is no rule to generate them in the
> makefile.rules file. But there is one in the snapshot version (line
> 198): $(DEPENDDIR)/%.d : %.cpp $(makedep). Also, the dependency files
> (with suffix ".d") are not generated neither for library nor for
> examples in the svn version (in the snapshot version they are
> generated), but this doesn't result in errors. The question is: should
> the dependency files be generated at all and, if not, how the
> GNUmakefile.bin should operate without them?

They should be generated. I noticed this in my builds as well but
haven't investigated it yet. This is also a regression that I need
to look into.

> 
> 3. Both versions have problems with the tests building. The tests
> require the librwtest.a library. In the snapshot version it couldn't be
> build due to incorrect include path (in GNUmakefile.rwt, line 21):
> RWTESTDIR = $(TOPDIR)/../rwtest. In the svn version the librwtest.a is
> generated, but it seems to be incorrect: the error "undefined reference:
> __rw::__rw_memattr(...) ..." appears when the linker is trying to use
> the library to link any test. The question is: what is incorrect in the
> librwtest.a and how we can fix the problem without affecting other
> platforms?

__rw_memattr is defined in the stdcxx library, not in librwtest.
Is the order of the libraries on the link line correct? (I.e.,
it should be like this: object.o -lrwtest -lstd

Martin

Mime
View raw message