Error building linux-hosted compiler for solaris: "sed: optio n requires an argument"

Hamilton Chris-cham chris.hamilton@freescale.com
Mon Jul 19 19:51:00 GMT 2004


Sadly, I'm still stuck on this problem.  Can anyone suggest where else I might turn for a bit of help?  I'd very much appreciate any hints or pointers.

Thanks!
Chris

> -----Original Message-----
> From: Hamilton Chris-cham 
> Sent: Friday, July 16, 2004 1:34 PM
> To: 'gcc-help@gcc.gnu.org'
> Cc: Hamilton Chris-cham
> Subject: Error building linux-hosted compiler for solaris: 
> "sed: option requires an argument"
> 
> 
> Hi,
> 
> I'm trying to build a gcc 3.4.1 cross-compiler that is hosted 
> on i686-pc-linux and generates
> binaries for sparc-sun-solaris2.8.  During the build, I'm new 
> seeing errors involving "sed"
> in the step that fixes up headers.
> 
> This is what I've done (all on the linux host):
> 
> INSTALL_PREFIX=/_TOOLS_/dist/gnu-gcc-3.4.1-binutils-2.15-sparc
> 64-elf/i686-pc-linux2.4
> 
> 1. Configure/build/install binutils:
>     --prefix=$INSTALL_PREFIX
>     --disable-nls
>     --enable-64-bit-bfd
>     --target=sparc64-elf
> 
> 2. On Solaris machine, create tarball of /usr/include/* 
> (recursive); then on linux
>    box, unpack tarball to 
> /home/cham/sparc-sun-solaris2.8-sys-include/usr/include
> 
> 3. Configure/build gcc:
>     --prefix=$INSTALL_PREFIX
>     
> --with-headers=/home/cham/sparc-sun-solaris2.8-sys-include/usr/include
>     --enable-threads
>     --enable-shared
>     --with-ld=${INSTALL_PREFIX}/bin/sparc64-elf-ld
>     --with-as=${INSTALL_PREFIX}/bin/sparc64-elf-as
>     --with-nm=${INSTALL_PREFIX}/bin/sparc64-elf-nm
>     --enable-languages=c,c++
>     --disable-nls
>     --target=sparc64-elf
> 
> This is the result (truncated):
> 
> -------------------------------- OUTPUT BEGINS 
> ----------------------------------------
> rm -rf ./libgcc.a
> ` if [ -f 
> /proj/ppctools/new_space/cham/gcc-3.4.1-cross/gcc-3.4.1/_build
> /gcc/../binutil
> s/ar ] ; then echo 
> /proj/ppctools/new_space/cham/gcc-3.4.1-cross/gcc-3.4.1/_build/gcc/.
> ./binutils/ar ; else if [ "i686-pc-linux-gnu" = 
> "sparc64-sun-solaris2.8" ] ; then echo 
> ar; else t='s,^,sparc64-sun-solaris2.8-,;'; echo ar | sed -e  
> ; fi; fi`  rc ./libgcc.a 
> libgcc/./_muldi3.oS libgcc/./_negdi2.oS libgcc/./_lshrdi3.oS 
> libgcc/./_ashldi3.oS libgc
> c/./_ashrdi3.oS libgcc/./_cmpdi2.oS libgcc/./_ucmpdi2.oS 
> libgcc/./_floatdidf.oS libgcc/
> ./_floatdisf.oS libgcc/./_fixunsdfsi.oS 
> libgcc/./_fixunssfsi.oS libgcc/./_fixunsdfdi.oS
>  libgcc/./_fixdfdi.oS libgcc/./_fixunssfdi.oS 
> libgcc/./_fixsfdi.oS libgcc/./_fixxfdi.oS
>  libgcc/./_fixunsxfdi.oS libgcc/./_floatdixf.oS 
> libgcc/./_fixunsxfsi.oS libgcc/./_fixtf
> di.oS libgcc/./_fixunstfdi.oS libgcc/./_floatditf.oS 
> libgcc/./_clear_cache.oS libgcc/./
> _trampoline.oS libgcc/./__main.oS libgcc/./_absvsi2.oS 
> libgcc/./_absvdi2.oS libgcc/./_a
> ddvsi3.oS libgcc/./_addvdi3.oS libgcc/./_subvsi3.oS 
> libgcc/./_subvdi3.oS libgcc/./_mulv
> si3.oS libgcc/./_mulvdi3.oS libgcc/./_negvsi2.oS 
> libgcc/./_negvdi2.oS libgcc/./_ctors.o
> S libgcc/./_ffssi2.oS libgcc/./_ffsdi2.oS libgcc/./_clz.oS 
> libgcc/./_clzsi2.oS libgcc/.
> /_clzdi2.oS libgcc/./_ctzsi2.oS libgcc/./_ctzdi2.oS 
> libgcc/./_popcount_tab.oS libgcc/./
> _popcountsi2.oS libgcc/./_popcountdi2.oS 
> libgcc/./_paritysi2.oS libgcc/./_paritydi2.oS 
> libgcc/./_divdi3.oS libgcc/./_moddi3.oS libgcc/./_udivdi3.oS 
> libgcc/./_umoddi3.oS libgc
> c/./_udiv_w_sdiv.oS libgcc/./_udivmoddi4.oS 
> libgcc/./_eprintf.oS libgcc/./__gcc_bcmp.oS
> sed: option requires an argument -- e
> 
> Usage: sed [OPTION]... {script-only-if-no-other-script} 
> [input-file]...
> 
>   -n, --quiet, --silent
>                  suppress automatic printing of pattern space
>   -e script, --expression=script
>                  add the script to the commands to be executed
>   -f script-file, --file=script-file
>                  add the contents of script-file to the 
> commands to be executed
>       --help     display this help and exit
>   -V, --version  output version information and exit
> 
> If no -e, --expression, -f, or --file option is given, then the first
> non-option argument is taken as the sed script to interpret.  All
> remaining arguments are names of input files; if no input files are
> specified, then the standard input is read.
> 
> E-mail bug reports to: bug-gnu-utils@gnu.org .
> Be sure to include the word ``sed'' somewhere in the 
> ``Subject:'' field.
> /bin/sh: rc: command not found
> make[3]: *** [libgcc.a] Error 127
> make[3]: Leaving directory 
> `/proj/.ppc_22/cham/gcc-3.4.1-cross/gcc-3.4.1/_build/gcc'
> make[2]: *** [stmp-multilib] Error 2
> make[2]: Leaving directory 
> `/proj/.ppc_22/cham/gcc-3.4.1-cross/gcc-3.4.1/_build/gcc'
> make[1]: *** [stage1_build] Error 2
> make[1]: Leaving directory 
> `/proj/.ppc_22/cham/gcc-3.4.1-cross/gcc-3.4.1/_build/gcc'
> make: *** [bootstrap] Error 2
> --------------------------------- OUTPUT ENDS 
> ------------------------------------------
> 
> There are actually quite a few of these errors that occur 
> back to back just before
> the build attempt dies with the error exit.  Searching the 
> digital hairball above for
> 'sed', I see the broken command embedded in the middle of a 
> backquoted 'if' block:  
> 
>    "echo ar | sed -e    ;"
>                      ^^
>                      Shouldn't there be something useful here?
> 
> Can anyone help me figure out what I've done wrong?  Has 
> anyone seen this kind of 
> error before?   Is there a workaround?  
> 
> Desperate for a hint...
> Chris
> 
> 



More information about the Gcc-help mailing list