Hi Christian, The following very simple program will break it for me. Note without the string decl everything is ok.
#include <base/printf.h> #include <base/sleep.h> #include <string>
int main() {
std::string foobar;
Genode::sleep_forever(); return 0; }
TARGET = genode-test SRC_CC = main.cc LIBS = env thread libc libc_log stdcxx
Attached is the build log.
Daniel
On 08/25/2011 01:38 AM, Christian Helmuth wrote:
Hallo Daniel,
unfortunately I could not reproduce your issue. Could you please send a simple test case/program? What I did was just editing the target.mk of a simple libc program:
-LIBS = cxx env libm libc libc_log +LIBS = cxx env libm libc libc_log stdcxx
I also discovered that both - libstdc++.a and libsupc++.a - contain the vterminate.o object. This leads to your linking problem if libstdc++.a(vterminate.o) is used instead of the variant from libsupc++ - maybe due to command-line argument order. Our cxx library includes libsupc++ with some private symbols including stderr.
So, a "make VERBOSE= VERBOSE_MK=" build log may also help.
Regards