微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 综合技术问答 > EDA使用问答 > synopsys LEDA在普通用户下无法正常启动

synopsys LEDA在普通用户下无法正常启动

时间:03-15 整理:3721RD 点击:

LEDA装好后,也定义了环境变量变量,我用的是cshrc,可在普通用户下运行,就报:setenv:Too many arguments,无法正常启动leda,可就在该普通用户下su root,但还是用原普通用户下家目录的cshrc,就可以正常启动,这个问题真奇怪。也没查出问题所在,还烦请各位高手帮忙看看。谢谢!
如下图片:

setenv。
看起来是环境设置不对,which下看看leda是不是个脚本,适当的修改可以消除此错误

这个是个脚本,我也看了里面内容,可不知道该修改哪处才能消除此错误,现将该脚本贴出来,请问该如何修改?十分感谢!





  1. #!/bin/csh -f
  2. #set echo

  3. ###testing $LEDA_PATH ###
  4. if ( $?LEDA_PATH ) then
  5. set ROOT_PATH = $LEDA_PATH
  6. else if ( $?PROTON_PATH ) then
  7. set ROOT_PATH = $PROTON_PATH
  8. else
  9. echo ""
  10. echo "[ERROR] environment variable LEDA_PATH not defined\!"
  11. exit(1)
  12. endif

  13. set realArg = ""
  14. set set64bit = 0
  15. set run_batch = 0
  16. set tclFound = 0
  17. if ( $?LEDA_RUN_BATCH ) then
  18. set run_batch = 1
  19. endif

  20. ## foreach created problems while parsing some strings,so have used while!
  21. ## Changes bye Port Team: nsridhar
  22. #foreach arg ($argv:q)
  23. #if ("$arg" == "-full64") then
  24. #set set64bit = 1
  25. #else
  26. #set realArg = ($realArg:q "$arg")
  27. #endif
  28. #end
  29. while ($#argv > 0)
  30. if ("$1:q" == "-full64") then
  31. set set64bit = 1
  32. else if ("$1:q" == "-new_range") then
  33. setenv LEDA_USE_NEW_RANGE
  34. else if (($run_batch == 1) && ("$1:q" == "+tcl_file")) then
  35. set tclFound = 1
  36. else if (($run_batch == 1) && ($tclFound == 1 )) then
  37. set t2b_opts = (`tclsh $LEDA_PATH/bin/t2b.tcl "$1:q"`)
  38. set realArg = ($realArg:q $t2b_opts)
  39. set tclFound = 0
  40. else
  41. set realArg = ($realArg:q "$1:q")
  42. endif
  43. shift
  44. end
  45. if ($run_batch == 1) then
  46. if ( $?PWD ) then
  47. set tmpEFile = "$PWD/tmp_t2b_env.tcl"
  48. if ( -e $tmpEFile) then
  49. source $tmpEFile
  50. rm $tmpEFile
  51. endif
  52. endif
  53. endif

  54. if ($?FULL64) then
  55. set set64bit = 1
  56. endif

  57. # determine which OS to be used
  58. set sys = `uname`
  59. set sys_release = `uname -r`
  60. set mach_release = `uname -m`
  61. switch ($sys)
  62. case SunOS:
  63. if ($mach_release == i86pc) then
  64. set BIN_ROOT = $ROOT_PATH/x86sol32
  65. if ($set64bit == 1) then
  66. set BIN_ROOT = $ROOT_PATH/x86sol64
  67. endif
  68. if ( ! $?LD_LIBRARY_PATH ) then
  69. setenv LD_LIBRARY_PATH $BIN_ROOT/bin
  70. else
  71. setenv LD_LIBRARY_PATH ${BIN_ROOT}/bin:$LD_LIBRARY_PATH
  72. endif
  73. else
  74. switch ($sys_release)
  75. case 5.9:
  76. case 5.10:
  77. set BIN_ROOT = $ROOT_PATH/sparcOS5
  78. if ($set64bit == 1) then
  79. set BIN_ROOT = $ROOT_PATH/sparc64
  80. endif
  81. if ( ! $?LD_LIBRARY_PATH ) then
  82. setenv LD_LIBRARY_PATH $BIN_ROOT/bin
  83. else
  84. setenv LD_LIBRARY_PATH ${BIN_ROOT}/bin:$LD_LIBRARY_PATH
  85. endif
  86. breaksw
  87. default
  88. goto error_Unsupported_platform
  89. breaksw
  90. endsw
  91. endif
  92. breaksw
  93. case HP-UX:
  94. switch ($sys_release)
  95. case *.11.*:
  96. set BIN_ROOT = $ROOT_PATH/hpux11
  97. if ( ! $?SHLIB_PATH ) then
  98. setenv SHLIB_PATH $BIN_ROOT/bin
  99. else
  100. setenv SHLIB_PATH ${BIN_ROOT}/bin:$SHLIB_PATH
  101. endif
  102. breaksw
  103. default
  104. goto error_Unsupported_platform
  105. breaksw
  106. endsw
  107. breaksw
  108. case Linux:
  109. switch ("$mach_release")
  110. case i686:
  111. set BIN_ROOT = $ROOT_PATH/linux
  112. if (-f /etc/SuSE-release) then
  113. set BIN_ROOT = $ROOT_PATH/suse32
  114. endif
  115. breaksw
  116. case x86_64:
  117. set BIN_ROOT = $ROOT_PATH/linux
  118. if (-f /etc/SuSE-release) then
  119. set BIN_ROOT = $ROOT_PATH/suse32
  120. endif
  121. if ($set64bit == 1 || ! -e $BIN_ROOT/bin/leda) then
  122. set BIN_ROOT = $ROOT_PATH/amd64
  123. if (-f /etc/SuSE-release) then
  124. set BIN_ROOT = $ROOT_PATH/suse64
  125. endif
  126. endif
  127. breaksw
  128. default
  129. goto error_Unsupported_platform # make it to point to BIN_ROOT of linux
  130. endsw
  131. if ( ! $?LD_LIBRARY_PATH ) then
  132. setenv LD_LIBRARY_PATH $BIN_ROOT/bin
  133. else
  134. setenv LD_LIBRARY_PATH ${BIN_ROOT}/bin:$LD_LIBRARY_PATH
  135. endif
  136. breaksw
  137. case AIX:
  138. switch ($sys_release)
  139. case 1:
  140. case 3:
  141. if ($?LIBPATH) then
  142. setenv LIBPATH ${LIBPATH}:$ROOT_PATH/rs6000/bin
  143. else
  144. setenv LIBPATH $ROOT_PATH/rs6000/bin
  145. endif
  146. set BIN_ROOT = $ROOT_PATH/rs6000
  147. breaksw
  148. default
  149. goto error_Unsupported_platform
  150. breaksw
  151. endsw
  152. breaksw
  153. default
  154. goto error_Unsupported_platform
  155. breaksw
  156. endsw


  157. ### set executables ###

  158. set leda = "$BIN_ROOT/bin/leda "

  159. ### test and executables ###

  160. if !( -e $leda) then
  161. echo "[Error] $leda not found \!"
  162. exit(1)
  163. else
  164. if !( -x $leda) then
  165. echo "[Error] $leda : Execute permission denied"
  166. exit(1)
  167. endif
  168. endif

  169. ### execute command ###
  170. ### use explicitly exec to forbid errors when executing in bg
  171. if ( $?LEDA_RUN_BATCH_PRINT ) then
  172. echo "$leda $realArg:q"
  173. endif
  174. $leda $realArg:q
  175. set leda_status = $status
  176. ### tmpFile is for t2b regression, remove it before exit
  177. set tmpFile = "$PWD/tmp_t2b_constrains.tcl"
  178. if ( -e $tmpFile) then
  179. rm $tmpFile
  180. endif

  181. exit($leda_status)

  182. ######################################################################
  183. error_Unsupported_platform:
  184. echo ""
  185. echo "[ERROR] $sys $sys_release : Unsupported platform\!"
  186. exit(1)



复制代码

你看一下目录权限把,看是否赋予普通用户合法的权限

应该从setenv:too many argument找原因
可能是用户的.cshrc中设置setenv有问题,而root的.cshrc中没有问题

看看你的leda的安装路径是否有一些不合法的自付,比如空格等

上一篇:选择MPS好还是GODIX
下一篇:最后一页

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top