Thanks. That fixed the cxxtest apps. I'm still somewhat confused on iperf though as iperf is built using configure. Shouldn't configure and ucfront* take care of setting up the linker flags (among other things) for me?
Thanks, Lance Matthew Natalier wrote: > Hi Lance, > > There are some pieces missing from the test c++ apps. Find attached a > patch. Dave/Gerg would you mind applying this to the tree. > > The problem with iperf is that you are not linking against pthread. > > I haven't tried building iperf, but I do notice that your link line > does not include pthreads and you will need to add this. Adding > $(SLIBPTHREAD) to your link line should fix the problem. > > Cheers > > Matt > > On 21/02/2007, at 4:46 AM, Lance Spaulding wrote: > >> Thanks Matt. With that change I can now build and run some C++ apps. I >> am still seeing a couple issues though (with both the gcc 3.4.4 >> toolchain from snapgear and with a 4.1.2 toolchain I built): >> >> When building cxxtest I get the following errors: >> >> ucfront-g++ arm-linux-g++ -msoft-float -c -O1 -pipe -fno-common >> -fno-builtin -Wall -Dlinux -D__linux__ -Dunix -DEMBED -nostdinc++ -o >> stdm++.o stdm++.cxx >> stdm++.cxx:1:18: stdm++: No such file or directory >> stdm++.cxx:4: error: `MATT' has not been declared >> stdm++.cxx:4: error: expected constructor, destructor, or type >> conversion before '(' token >> stdm++.cxx:4: error: expected `,' or `;' before '(' token >> stdm++.cxx:21: error: `MATT' has not been declared >> stdm++.cxx:21: error: expected constructor, destructor, or type >> conversion before '::' token >> stdm++.cxx:21: error: expected `,' or `;' before '::' token >> stdm++.cxx:34: error: `MATT' has not been declared >> stdm++.cxx:35: error: `int operator<<(char*)' must have an argument of >> class or enumerated type >> stdm++.cxx:35: error: `int operator<<(char*)' must take exactly two >> arguments >> stdm++.cxx: In function `int operator<<(char*)': >> stdm++.cxx:36: error: invalid use of `this' in non-member function >> stdm++.cxx:36: error: `fprintf' undeclared (first use this function) >> stdm++.cxx:36: error: (Each undeclared identifier is reported only once >> for each function it appears in.) >> stdm++.cxx: At global scope: >> stdm++.cxx:41: error: `MATT' has not been declared >> stdm++.cxx:41: error: expected constructor, destructor, or type >> conversion before "MATT" >> stdm++.cxx:41: error: expected `,' or `;' before "MATT" >> make[6]: *** [stdm++.o] Error 1 >> make[5]: *** [libs] Error 2 >> >> And if I try to build iperf I get the following: >> >> ucfront-g++ arm-linux-g++ -msoft-float -O1 -pipe -fno-common >> -fno-builtin -Wall -Dlinux -D__linux__ -Dunix -DEMBED -nostdinc++ -g >> -fno-common -fno-builtin -o iperf -O1 -pipe -fno-common -fno-builtin >> -Wall -Dlinux -D__linux__ -Dunix -DEMBED -DHAVE_CONFIG_H Client.o >> Extractor.o Launch.o List.o Listener.o Locale.o PerfSocket.o ReportCSV.o >> ReportDefault.o Reporter.o Server.o Settings.o SocketAddr.o gnu_getopt.o >> gnu_getopt_long.o main.o service.o sockets.o stdio.o tcp_window_size.o >> ../compat/libcompat.a -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic >> /usr/local/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/lib/soft-float/libsupc++.a >> >> ../compat/libcompat.a(Thread.o): In function `thread_start': >> Thread.c:(.text+0xc0): undefined reference to `pthread_create' >> ../compat/libcompat.a(Thread.o): In function `thread_run_wrapper': >> Thread.c:(.text+0x208): undefined reference to `pthread_detach' >> /usr/local/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/lib/soft-float/libsupc++.a(eh_alloc.o):(.rodata._ZZ18__gthread_active_pvE20__gthread_active_ptr+0x0): >> >> undefined reference to `pthread_create' >> /usr/local/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/lib/soft-float/libsupc++.a(eh_alloc.o): >> >> In function `__cxa_allocate_exception': >> ../../../../../libstdc++-v3/libsupc++/eh_alloc.cc:139: undefined >> reference to `pthread_create' >> /usr/local/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/lib/soft-float/libsupc++.a(eh_alloc.o): >> >> In function `__cxa_free_exception': >> ../../../../../libstdc++-v3/libsupc++/eh_alloc.cc:162: undefined >> reference to `pthread_create' >> /usr/local/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/lib/soft-float/libsupc++.a(eh_globals.o):(.rodata._ZZ18__gthread_active_pvE20__gthread_active_ptr+0x0): >> >> undefined reference to `pthread_create' >> /usr/local/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/lib/soft-float/libsupc++.a(eh_globals.o): >> >> In function `__cxa_get_globals': >> ../../../../../libstdc++-v3/libsupc++/eh_globals.cc:123: undefined >> reference to `pthread_create' >> /usr/local/lib/gcc/arm-linux/3.4.4/soft-float/libgcc.a(unwind-sjlj.o):unwind-sjlj.c:(.text+0xbc): >> >> more undefined references to `pthread_create' follow >> collect2: ld returned 1 exit status >> make[7]: *** [iperf] Error 1 >> >> Do these two apps build correctly for you with the Snapgear toolchain? >> If so what vendor/platform are you using so I can compare the settings? >> >>> >>> >>> >>> _______________________________________________ >>> uClinux-dev mailing list >>> uClinux-dev@uclinux.org >>> http://mailman.uclinux.org/mailman/listinfo/uclinux-dev >>> This message was resent by uclinux-dev@uclinux.org >>> To unsubscribe see: >>> http://mailman.uclinux.org/mailman/options/uclinux-dev >>> >> >> _______________________________________________ >> uClinux-dev mailing list >> uClinux-dev@uclinux.org >> http://mailman.uclinux.org/mailman/listinfo/uclinux-dev >> This message was resent by uclinux-dev@uclinux.org >> 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 uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev