You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Christian Brüssow (JIRA)" <ji...@apache.org> on 2017/06/09 09:47:19 UTC

[jira] [Updated] (KARAF-5190) start.sh fails in realpath function under Solaris 10

     [ https://issues.apache.org/jira/browse/KARAF-5190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian Brüssow updated KARAF-5190:
-------------------------------------
    Description: 
Trying to start Apache Karaf 4.0.9 under Solaris 10 (SPARC) the start-script exits with a syntax error:

/opt/test/karaf/bin/start: syntax error at line 22: `LINK=$' unexpected

I have investigated this and found, the script relies on a feature the standard awk for this plattform does not support - at least on our machine. The -F"-> " paramter will only use the dash "-" as the field separator. When using the XPG4 version of awk the script works.

Examples on the command line:

With XPG4 awk:
{code}
$ ls -l "$(basename ".bashrc")" | /usr/xpg4/bin/awk -F"-> " '{print $2}'

$ 
{code}

Empty output, which is fine as the file used is no link.


With the standard awk:
{code}
$ ls -l "$(basename ".bashrc")" | /usr/bin/awk -F"-> " '{print $2}'
rw
$
{code}

The "rw" is returned, because only the dash is used as a seperator to split
{code}
"ls -l" .bashrc, which looks like "-rw-r--r--   1 devel    other        392 Jun 30  2015 .bashrc"
{code}
in this case.


Sadly, under Solaris, one should not presume the awk in the PATH is a GNU or nawk. Some adminstrator will also not include the XPG4 "bin"-directory at the beginning of the PATH. So the script itfself must handle this.


  was:
Trying to start Apache Karaf 4.0.9 under Solaris 10 (SPARC) the start-script exits with a syntax error:

/opt/test/karaf/bin/start: syntax error at line 22: `LINK=$' unexpected

I have investigated this and found, the script relies on a feature the standard awk for this plattform does not support - at least on our machine. The -F"-> " paramter will only use the dash "-" as the field separator. When using the XPG4 version of awk the script works.

Examples on the command line:

With XPG4 awk:
$ ls -l "$(basename ".bashrc")" | /usr/xpg4/bin/awk -F"-> " '{print $2}'

$ 

Empty output, which is fine as the file used is no link.


With the standard awk:
$ ls -l "$(basename ".bashrc")" | /usr/bin/awk -F"-> " '{print $2}'
rw
$

The "rw" is returned, because only the "-" is used as a seperator to split "ls -l" .bashrc, which looks like "-rw-r--r--   1 devel    other        392 Jun 30  2015 .bashrc" in this case.


Sadly, under Solaris, one should not presume the awk in the PATH is a GNU or nawk. Some adminstrator will also not include the XPG4 "bin"-directory at the beginning of the PATH. So the script itfself must handle this.



> start.sh fails in realpath function under Solaris 10
> ----------------------------------------------------
>
>                 Key: KARAF-5190
>                 URL: https://issues.apache.org/jira/browse/KARAF-5190
>             Project: Karaf
>          Issue Type: Bug
>    Affects Versions: 4.0.9
>         Environment: SunOS 5.10 (aka Solaris 10) SPARC, awk from /usr/bin
>            Reporter: Christian Brüssow
>
> Trying to start Apache Karaf 4.0.9 under Solaris 10 (SPARC) the start-script exits with a syntax error:
> /opt/test/karaf/bin/start: syntax error at line 22: `LINK=$' unexpected
> I have investigated this and found, the script relies on a feature the standard awk for this plattform does not support - at least on our machine. The -F"-> " paramter will only use the dash "-" as the field separator. When using the XPG4 version of awk the script works.
> Examples on the command line:
> With XPG4 awk:
> {code}
> $ ls -l "$(basename ".bashrc")" | /usr/xpg4/bin/awk -F"-> " '{print $2}'
> $ 
> {code}
> Empty output, which is fine as the file used is no link.
> With the standard awk:
> {code}
> $ ls -l "$(basename ".bashrc")" | /usr/bin/awk -F"-> " '{print $2}'
> rw
> $
> {code}
> The "rw" is returned, because only the dash is used as a seperator to split
> {code}
> "ls -l" .bashrc, which looks like "-rw-r--r--   1 devel    other        392 Jun 30  2015 .bashrc"
> {code}
> in this case.
> Sadly, under Solaris, one should not presume the awk in the PATH is a GNU or nawk. Some adminstrator will also not include the XPG4 "bin"-directory at the beginning of the PATH. So the script itfself must handle this.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)