Discussion:
sed error when called with -i option
(too old to reply)
Koppert, Zachery
2014-09-15 20:49:43 UTC
Permalink
[***@rt66_s00 eldk-5.5_download]# ./install.sh -r lsb-dev -d /proj/eta/r66tools/eldk-5.5 armv7a
*** Installing ./targets/armv7a/eldk-eglibc-i686-arm-toolchain-gmae-5.5.sh
into /proj/eta/r66tools/eldk-5.5/armv7a
sed: invalid option -- i
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-***@gnu.org .
Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.
find: /opt/eldk-5.5/armv7a/sysroots/i686-eldk-linux/lib: No such file or directory

Zachery Koppert
Software Design Engineer
Phone: 503.627.6938
www.tektronix.com<http://www.tektronix.com/>
Bob Proulx
2014-09-17 06:12:17 UTC
Permalink
Post by Koppert, Zachery
sed: invalid option -- i
It appears you have a very old version of sed on your target system.
You will likely need to update to a newer version that supports the -i
option in order to get your installation script to work.

What version of sed are you using? Use --version to report it.

sed --version

It seems you have run into a problem trying to port software developed
to run on one system over to a different system. The two systems not
being the same you have run into a classic operating system porting
problem. This is the way it always used to be in the old days. POSIX
has helped a lot. But for example the -i option is not a POSIX
standardized feature. This is not a bug in sed. The install script
is simply trying to use a feature that appears in newer GNU sed but
does not exist on your system which has an older GNU sed.

It looks like you are using an ARM system. Is that right? (Which is
awesome by the way.) What is the origination of the operating system?
A software distribution? Or a self compiled collection? I can
imagine that whoever provided the system may need to update at least
some of the components of it. Given your email address I can imagine
the environment and when I worked in a similar environment I often
needed to compile my own updated versions of system software. You
might want to compile a newer sed for that system.

Alternatively the installation script you are using may need to avoid
using features that are not available on your older software
platform.

If neither are possible then you could modify the script to avoid the
-i option. I often needed to modify installation scripts in order to
port them to a different system.

Bob
Koppert, Zachery
2014-09-17 17:26:43 UTC
Permalink
Thank you Bob. I have taken your advice of building a newer version of sed. That did correct the issue. Thanks again for your time.

Zachery Koppert | Software Design Engineer | Phone: 503.627.6938 | www.tektronix.com


-----Original Message-----
From: Bob Proulx [mailto:***@proulx.com]
Sent: Tuesday, September 16, 2014 11:12 PM
To: Koppert, Zachery
Cc: bug-gnu-***@gnu.org
Subject: Re: sed error when called with -i option
Post by Koppert, Zachery
sed: invalid option -- i
It appears you have a very old version of sed on your target system.
You will likely need to update to a newer version that supports the -i option in order to get your installation script to work.

What version of sed are you using? Use --version to report it.

sed --version

It seems you have run into a problem trying to port software developed to run on one system over to a different system. The two systems not being the same you have run into a classic operating system porting problem. This is the way it always used to be in the old days. POSIX has helped a lot. But for example the -i option is not a POSIX standardized feature. This is not a bug in sed. The install script is simply trying to use a feature that appears in newer GNU sed but does not exist on your system which has an older GNU sed.

It looks like you are using an ARM system. Is that right? (Which is awesome by the way.) What is the origination of the operating system?
A software distribution? Or a self compiled collection? I can imagine that whoever provided the system may need to update at least some of the components of it. Given your email address I can imagine the environment and when I worked in a similar environment I often needed to compile my own updated versions of system software. You might want to compile a newer sed for that system.

Alternatively the installation script you are using may need to avoid using features that are not available on your older software platform.

If neither are possible then you could modify the script to avoid the -i option. I often needed to modify installation scripts in order to port them to a different system.

Bob

Loading...