Hi Francesco,

It looks like you are missing a reference to libsup++.a. It must be missing from your cxxlibs. You can add it with something like the following:

CXXLIBS += $(shell $(CXX) -print-file-name=libsupc++.a)

It should already be there however and the fact that it isn't is a bit of a worry.

What version of the uClinux dist are you using?
What version of the arm compiler are you using?
What arch are you building for?

I have been testing on 20070130 version of the uClinux-dist on an arm platform (not armnommu). If you are not using this version then your mileage may vary.

Here is my compiler:

Reading specs from /usr/local/lib/gcc/arm-linux/3.4.4/specs
Configured with: ../configure --target=arm-linux --disable-shared -- prefix=/usr/local --with-headers=/home/gerg/new-wave.ixdp425/ linux-2.4.x/include --with-gnu-as --with-gnu-ld --enable-multilib
Thread model: posix
gcc version 3.4.4

Also I noticed you are using -lpthread. I am not sure if this is going to work. STLport appears to link against the wrong pthreads at the moment, and I haven't had a chance to fix it yet.

Cheers

Matt


On 08/02/2007, at 8:29 PM, Francesco Lodi wrote:

Alle 00:32, giovedì 8 febbraio 2007, Matthew Natalier ha scritto:

These should show how to set up build lines for building c++ apps
with STLport (which is the standard C library used in the uClinux-
dist). But these are broken at the moment - I'll send a patch in later.
I didn't knew nothing about STL...
I was thinking c++ support was in uClibc and that some features like string
was simply missing... now all is a bit more clear...

This is what you need to do.

Step 1
[...]

I have followed the steps, selected STLport to compile, make a lib_clean and
lib_only and modified my app Makefile.
But now I have a lot of linking error about the following undefined reference:

ucfront-g++
arm-linux-g++ -L/home/francesco/DataRec/uClinux-dist/lib/STLport/ lib -o
datarec datarec.o modbus.o led.o
gestione_seriale.o -lpthread -lm -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
datarec.o: In function `DataRec::ControllaUSB()':
/home/francesco/DataRec/uClinux-dist/include/STLport/stl/_new.h:92: undefined
reference to `operator delete(void*)'

datarec.o: In function `std::__node_alloc<false, 0>::_S_chunk_alloc (unsigned
int, int&)':
/home/francesco/DataRec/uClinux-dist/include/STLport/stl/_new.h:91: undefined
reference to `operator new(unsigned int)'

/home/francesco/DataRec/uClinux-dist/lib/libstdc++.a(dll_main.o): In function
`std::__Named_exception::~__Named_exception()':
dll_main.cpp:(.text+0x1c): undefined reference to
`std::exception::~exception()'

/home/francesco/DataRec/uClinux-dist/lib/libstdc++.a(dll_main.o): In function
`std::__stl_throw_overflow_error(char const*)':
dll_main.cpp:(.text+0x6f4): undefined reference to `__cxa_allocate_exception' dll_main.cpp:(.text+0x740): undefined reference to `operator delete (void*)'
dll_main.cpp:(.text+0x760): undefined reference to `__cxa_throw'

/home/francesco/DataRec/uClinux-dist/lib/libstdc++.a(dll_main.o): In function
`.L606':
dll_main.cpp:(.text+0x794): undefined reference to `__gxx_personality_sj0'

/home/francesco/DataRec/uClinux-dist/lib/libstdc++.a(dll_main.o):
(.gnu.linkonce.d._ZTISt17__Named_exception+0x0): undefined reference to
`vtable for __cxxabiv1::__si_class_type_info'

/home/francesco/DataRec/uClinux-dist/lib/libstdc++.a(dll_main.o):
(.gnu.linkonce.d._ZTISt17__Named_exception+0x8): undefined reference to
`typeinfo for std::exception'

Also the examples in cxxtest fail with the same linker errors.

Maybe there is a particular way to compile the STL lib? I have read the README in /lib/STLport but I didn't found any usefull hint. I have also seen that there are many config file in stlport/config but I can't figure out how to
use them.

Any help is obvioulsy appreciated! :-D

Best regards
Francesco
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


---
WorkWare Systems Pty Ltd
W: www.workware.net.au
P: +61 434 916 185
F: +61 7 3102 9221
E: [EMAIL PROTECTED]



_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to