Simple answer, that's a bug in the build system. It is using gcc for linking (see above) which is wrong for c++ as they need some libs that gcc does not consider. The following should work:
Index: mk/prog.mk
RCS file: /home/cvs/l4/mk/prog.mk,v retrieving revision 1.19 diff -u -r1.19 prog.mk --- mk/prog.mk 11 Oct 2004 12:12:28 -0000 1.19 +++ mk/prog.mk 18 May 2005 21:01:36 -0000 @@ -95,9 +95,15 @@
DEPS += $(foreach file,$(TARGET), $(dir $(file)).$(notdir $(file)).d)
+# Link C++ programs with g++ (esp. in l4linux mode) +LINK_PROGRAM := $(CC) +ifneq ($(SRC_CC),) +LINK_PROGRAM := $(CXX) +endif
$(TARGET): $(OBJS) $(LIBDEPS) $(CRT0) $(CRTN) @$(LINK_MESSAGE)
- $(VERBOSE)$(call MAKEDEP,$(INT_LD_NAME)) $(CC) -o $@ $(CRT0) $(OBJS) $(LDFLAGS) $(CRTN)
- $(VERBOSE)$(call MAKEDEP,$(INT_LD_NAME)) $(LINK_PROGRAM) -o $@ $(CRT0) $(OBJS) $(LDFLAGS) $(CRTN) @$(BUILT_MESSAGE)
endif # architecture is defined, really build
Adam
ok... thanks for the patch... In the meanwhile i've hammered a solution... linking with the libstdc++ works out... the problem it was that i didn't noticed that i wasn't running the program in L4Linux... thats the problem of working on the deadline :). But the patch is cool, so that people can develop code to use my server without the need to know the libstdc++ port to L4.
Tiago