Building binaries for L4Linux with IPC
Tiago Jorge
tjpj at lasige.di.fc.ul.pt
Wed May 18 13:13:27 CEST 2005
hello...
I am trying now to do IPC to my server from L4Linux.
I'm not doing a Lib. I'm picking up the client code generated from dice,
build encapsulation code and i'm trying to use it in a simple program.
I've made the makefile that looks like this:
###########################################
PKGDIR ?= ../..
L4DIR ?= $(PKGDIR)/../..
TARGET = WOO_test
SRC_CC = WOO_test.cc encap.cc WOO-client.cc
MODE = l4linux
include $(L4DIR)/mk/prog.mk
###########################################
but the files are in c++. They compile right but when the link the give
the following error:
###################################################
==> Linking WOO_test
LD_PRELOAD=/home/tiago/l4/tool/gendep/libgendep.so
GENDEP_TARGET=WOO_test GENDEP_BINARY=ld gcc -o WOO_test WOO_test.o
encap.o WOO-client.o -L../../../../../lib/x86_586/l4v2
-L/home/tiago/drops/lib/x86_586/l4v2 -L../../../../../lib/x86_586
-L/home/tiago/drops/lib/x86_586 -L../../../../../lib
-L/home/tiago/drops/lib -L/home/tiago/drops/lib -ldm_generic -ldm_mem
-lnames -ll4util -lrmgr -lloaderif -ll4env -ll4env_err -lslab -ll4sys
WOO_test.o(.text+0x17e): In function `std::vector<long long,
std::allocator<long long>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<long long*,
std::vector<long long, std::allocator<long long> > >, long long const&)':
/usr/include/c++/3.3/bits/stl_alloc.h:232: undefined reference to
`std::__default_alloc_template<(bool)1, (int)0>::allocate(unsigned)'
WOO_test.o(.text+0x21a):/usr/include/c++/3.3/bits/stl_alloc.h:232:
undefined reference to `std::__default_alloc_template<(bool)1,
(int)0>::deallocate(void*, unsigned)'
WOO_test.o(.text+0x24e):/usr/include/c++/3.3/bits/stl_alloc.h:232:
undefined reference to `std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string[in-charge](char const*,
std::allocator<char> const&)'
WOO_test.o(.text+0x2f8):/usr/include/c++/3.3/bits/stl_alloc.h:232:
undefined reference to `std::__default_alloc_template<(bool)1,
(int)0>::deallocate(void*, unsigned)'
WOO_test.o(.text+0x306):/usr/include/c++/3.3/bits/stl_alloc.h:232:
undefined reference to `std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)'
WOO_test.o(.text+0x388):/usr/include/c++/3.3/bits/stl_alloc.h:232:
undefined reference to `std::__default_alloc_template<(bool)1,
(int)0>::deallocate(void*, unsigned)'
WOO_test.o(.text+0x3ae):/usr/include/c++/3.3/bits/stl_alloc.h:232:
undefined reference to `std::__default_alloc_template<(bool)1,
(int)0>::deallocate(void*, unsigned)'
WOO_test.o(.text+0x3d9):/usr/include/c++/3.3/bits/stl_alloc.h:232:
undefined reference to `std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)'
WOO_test.o(.gnu.linkonce.t._ZNSt6vectorIxSaIxEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPxS1_EERKx+0xf3):
In function `std::vector<long long, std::allocator<long long>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<long long*,
std::vector<long long, std::allocator<long long> > >, long long const&)':
/usr/include/c++/3.3/bits/stl_iterator.h:642: undefined reference to
`std::__default_alloc_template<(bool)1, (int)0>::deallocate(void*,
unsigned)'
WOO_test.o(.gnu.linkonce.t._ZNSt6vectorIxSaIxEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPxS1_EERKx+0x107):
In function `std::vector<long long, std::allocator<long long>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<long long*,
std::vector<long long, std::allocator<long long> > >, long long const&)':
/usr/include/c++/3.3/bits/stl_alloc.h:232: undefined reference to
`std::__default_alloc_template<(bool)1, (int)0>::allocate(unsigned)'
WOO_test.o(.eh_frame+0x12): In function `std::vector<long long,
std::allocator<long long>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<long long*,
std::vector<long long, std::allocator<long long> > >, long long const&)':
/usr/include/c++/3.3/bits/vector.tcc:224: undefined reference to
`__gxx_personality_v0'
encap.o(.text+0x430): In function `WOO_decide(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >)':
/usr/include/c++/3.3/bits/char_traits.h:127: undefined reference to
`std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_Rep::_S_terminal'
encap.o(.eh_frame+0x11): In function `check_server()':
/home/tiago/l4/pkg/WOO/examples/client/encap.cc:20: undefined reference
to `__gxx_personality_v0'
###################################################
what do i need to link to use c++ in l4linux? i can not link stdlibc++
because it's not intended to use in L4linux...
the lack of __gxx_personality_v0 is not due to linking with gcc because
i link my server with gcc... and i use c++.
How can i make this link with the correct c++ stdlib?
Thanks
Tiago
More information about the l4-hackers
mailing list