It's all about the answers!

Ask a question

Command line tools fail to run after upgrade from 3.0.1.5 to 4.0.1 - mkroot problem?


Tim Bartley (2379) | asked Feb 27 '13, 1:12 a.m.
After upgrading the from 3.0.1.5 to 4.0.1 I'm unable to run the command line tools without setting SCM_ALLOW_INSECURE environment variable.

When I run them I see:

$ lscm status
Could not create directory /home/tbartley/.jazz-scm with appropriate permissions:
Cannot secure configuration directory because mkroot script cannot be found. Either set the environment variable SCM_ALLOW_INSECURE to allow insecure startup, or set one of PRGPATH or RTC_SCRIPT_BASE to point to ancestor of mkroot.
If I modify the lscm script and provide an explicit definition for RTC_SCRIPT_BASE to /opt/IBM/SDP/scmtools/eclipse/scripts/unix (where mkroot is installed to my system) still no look.

I can execute mkroot directly from the same shell I'm running lscm from so this doesn't appear to be a permission problem as has been reported in other posts.

Is there a workaround for this? What's the risk associated with setting SCM_ALLOW_INSECURE?

Cheers,

Tim

3 answers



permanent link
Andrew Niefer (7035) | answered Feb 28 '13, 12:12 p.m.
JAZZ DEVELOPER
It looks like that error message can result from a failure of the mkroot script and not only just because the script could not be found.

You could try and set the environment variable "trace_permission_utils" which will cause the scm tool to output tracing/debugging status to stderr.  Perhaps this output would give more indication of what is going wrong.

You might want to use "scm" while debugging this, I'm not entirely sure where the lscm error output is going.

I'm not really sure what the impact of SCM_ALLOW_INSECURE is.

permanent link
Tim Bartley (2379) | answered Mar 01 '13, 4:36 p.m.
Hmm. scm works. This is what I see with trace_permission_utils set:

$ export trace_permission_utils=1
$ lscm status
basePath: /opt/IBM/SDP/scmtools/eclipse/scripts/unix
full path: "/opt/IBM/SDP/scmtools/eclipse/scripts/unix/unix/mkfile"
basePath: /opt/IBM/SDP/scmtools/eclipse/scripts/unix
full path: "/opt/IBM/SDP/scmtools/eclipse/scripts/unix/unix/mkroot"
mkFile: null
mkRoot: null
No script: null
Could not create directory /home/tbartley/.jazz-scm with appropriate permissions:
Cannot secure configuration directory because mkroot script cannot be found. Either set the environment variable SCM_ALLOW_INSECURE to allow insecure startup, or set one of PRGPATH or RTC_SCRIPT_BASE to point to ancestor of mkroot.
So it looks like it's doubling the "unix" element in the path.

# cd /opt/IBM/SDP/scmtools/eclipse/scripts/unix
# ln -s . unix

successfully works around the issue.



Comments
Dale Newby commented Mar 26 '13, 7:27 p.m.

I'm a little uncomfortable with your solution due to potential side effects.  A process that walks the directory tree could get stuck in this directory.

I chose to cut the final directory (unix) off of the value for $RTC_SCRIPT_BASE.  That may have side effects as well but I haven't seen any yet.

Have you opened a Work Item for this issue?


Tim Bartley commented Mar 26 '13, 8:14 p.m.

I was deliberately going for a work around that didn't require me to set an environment variable but that workaround works for me as well.

I haven't opened a work item and have never done so before - wouldn't know how to begin.



permanent link
Stephen Long (14311013) | answered Apr 15 '13, 8:59 a.m.
I have just had the same issue and raised a call with IBM support.  Their solution was to set $RTC_SCRIPT_BASE and $PRGPATH.  However you should set these to /opt/IBM/SDP/scmtools/eclipse/scripts.  You might need to stop all running scm and java processes and move /home/tbartley/.jazz-scm so that the directory gets created with the correct permissions.

Your answer


Register or to post your answer.