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? Thanks in advance, Lance Matthew Natalier wrote: > Hi Lance, > > You will need to build STLport statically at the moment using the gcc > 3.4.4 toolchain. > To do this customize your vendor/user settings, go in to 'Library > Configuration' and ensure that 'Build STL port as shared' is set to 'n'. > > The problem occurs because stl port is attempting to link against the > shared version of libgcc (libgcc_s.so). Building STLport statically > means that it will attempt to link against the static version - libgcc.a > > Cheers > > Matt > > On 16/02/2007, at 9:45 AM, Lance Spaulding wrote: > >> Hi all, >> >> I'm trying to locate an ARM toolchain that will correctly build C++ apps >> for MMU-enabled ARM cores. I tried the gcc 3.4.4 toolchain from the >> Snapgear site but it fails to build the STL due to a missing gcc_s >> library (someone else posted this problem a while back but no solution >> was given -- see >> http://mailman.uclinux.org/pipermail/uclinux-dev/2006-December/041363.html). >> >> I also built a gcc 4.1.2/glibc toolchain which works for c apps and can >> compile the STL but fails when trying to build c+ apps (such as during >> configure for iperf). I think this is a conflict between ucfront and >> this newer toolchain. Does anyone have a pointer to a (fairly current) >> toolchain that correctly builds c++ ARM apps? >> >> Thanks, >> Lance >> >> >> _______________________________________________ >> 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 > _______________________________________________ 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