[ECOS] Re: ompile error using 3.2 MIPS using std name spaces

Jonathan Larmour jifl@eCosCentric.com
Mon Jan 27 04:45:00 GMT 2003


Tim Michals wrote:
> 
> Problem:
> Compiling the posix, I'm getting this general error:
> make: Leaving directory `/ecos-c/mips/acacia/ecos/applib/applib_build'
> <internal>: In function `void* mq_open(const char*, int, ...)':
> <internal>:305: too many arguments to function `void* operator new(unsigned
> int)'
> /ecos-c/mips/ecos/packages/compat/posix/current/src/mqueue.cxx:305: at this
> point in file
> /ecos-c/mips/ecos/packages/compat/posix/current/src/mqueue.cxx:685:26:
> warning: multi-line string literals are deprecated
> /ecos-c/mips/ecos/packages/compat/posix/current/src/mqueue.cxx:772:26:
> warning: multi-line string literals are deprecated
> make[1]: *** [src/mqueue.o.d] Error 1
> make: *** [build] Error 2

That multi-line string warning is fixed in current CVS.

  This is in reguards to In mqueue.cxx: line 82
> #include <new>                       // C++ new
> Not finding the correct name space?
> 
> 
> c/mips/ecos/packages/compat/posix/current/tests -I. -I/ecos-c/mips/ecos/pack
> ages/compat/posix/current/src/ -mips32 -msoft-float -Wall -Wpointer-arith -W
> strict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-se
> ctions -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority
>  -G0 -Wp,-MD,src/mqueue.tmp -o src/compat_posix_mqueue.o
> /ecos-c/mips/ecos/packages/compat/posix/current/src/mqueue.cxx
> make[1]: Leaving directory
> `/ecos-c/mips/acacia/ecos/applib/applib_build/compat/posix/current'
> /ecos-c/mips/ecos/packages/compat/posix/current/src/mqueue.cxx:82:48: new:
> No such file or directory
> make: Leaving directory `/ecos-c/mips/acacia/ecos/applib/applib_build'
> <internal>: In function `void* mq_open(const char*, int, ...)':
> <internal>:305: too many arguments to function `void* operator new(unsigned
> int)'
> /ecos-c/mips/ecos/packages/compat/posix/current/src/mqueue.cxx:305: at this
> point in file
> /ecos-c/mips/ecos/packages/compat/posix/current/src/mqueue.cxx:685:26:
> warning: multi-line string literals are deprecated
> /ecos-c/mips/ecos/packages/compat/posix/current/src/mqueue.cxx:772:26:
> warning: multi-line string literals are deprecated
> make[1]: *** [src/mqueue.o.d] Error 1
> make: *** [build] Error 2

To use eCos with GCC 3.2.1 unfortunately you have to build GCC with newlib 
and libstdc++.

Download newlib 1.11, and in your gcc _source_ tree, put a soft link to 
the newlib and libgloss directories in the gcc source tree at the top 
level (in line with gcc, libstdc++, config, etc.).

Rebuild your gcc, configuring with --enable-languages=c,c++ and make it 
with "make -w all install", rather than all-gcc.

Jifl
-- 
eCosCentric       http://www.eCosCentric.com/       <info@eCosCentric.com>
--[ "You can complain because roses have thorns, or you ]--
--[  can rejoice because thorns have roses." -Lincoln   ]-- Opinions==mine


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss



More information about the Ecos-discuss mailing list