第 260 行: *0: 语法错误: 应为操作数 (错误标记为“*0”)

我也看到了之前的帖子,但它没有提供解决方案。所以,我开了一个新帖子。
我在 AWS 上的 arm64 架构 Linux Ubuntu 上安装 discourse 时遇到了这个问题。

./discourse-setup: line 260: *0: syntax error: operand expected (error token is “*0”)

你的 Discourse 的主机名?[discourse.example.com]:

请粘贴以下命令的输出:

cat /proc/cpuinfo

失败的行是计算物理 CPU 核心数的行:

1 个赞

感谢您的回复。以下是您要求的数据。

processor : 0
BogoMIPS : 243.75
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x3
CPU part : 0xd0c
CPU revision : 1
processor : 1
BogoMIPS : 243.75
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x3
CPU part : 0xd0c
CPU revision : 1

我有 2 个 vCPU(如果该信息相关)。

谢谢。为了你当前的目的,我建议你编辑第 260 行并重新运行。可能是\n\navail_cores=2 # $((`awk '/cpu cores/ {print $4;exit}' /proc/cpuinfo`*`sort /proc/cpuinfo | uniq | grep -c \"physical id\"`))\n\n\n但看起来该脚本需要修复才能处理 AArch64 云产品。\n\n你能否粘贴以下命令的输出:\n\nlscpu\n\n或者\n\nlscpu -p\n

1 个赞

我会尝试那个修复。但我也许可以等待一个正式的修复。

这是 lscpu 的输出

架构:           aarch64
  CPU 操作模式:       32 位,64 位
  字节序:           小端
CPU 数:                 2
  在线 CPU 列表:  0,1
供应商 ID:              ARM
  型号名称:           Neoverse-N1
    型号:              1
    每个核心的线程数:1
    每个插槽的核心数:2
    插槽数:          1
    步进:           r3p1
    BogoMIPS:           243.75
    标志:              fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp
                        asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
缓存(总计):
  L1d:                  128 KiB (2 个实例)
  L1i:                  128 KiB (2 个实例)
  L2:                   2 MiB (2 个实例)
  L3:                   32 MiB (1 个实例)
NUMA:
  NUMA 节点数:         1
  NUMA 节点 0 的 CPU 数:    0,1
漏洞:
  Gather data sampling:未受影响
  Itlb multihit:        未受影响
  L1tf:                 未受影响
  Mds:                  未受影响
  Meltdown:             未受影响
  Mmio stale data:      未受影响
  Retbleed:             未受影响
  Spec rstack overflow: 未受影响
  Spec store bypass:    缓解;通过 prctl 禁用 Speculative Store Bypass
  Spectre v1:           缓解;__user 指针清理
  Spectre v2:           缓解;CSV2, BHB
  Srbds:                未受影响
  Tsx async abort:      未受影响

奇怪的是,我之前提交了一个 PR 来修复这个问题,它(最终)被合并了,但我却在当前版本中看不到这个修复。

啊,我看到它被合并到了“master”而不是“main”。这听起来像个问题!

这是修复后的那一行

    avail_cores=`lscpu --parse=core | egrep -v ^# | sort -u | wc -l`
2 个赞

非常感谢 :slight_smile: 。现在可以了。

2 个赞

已提交 PR

3 个赞

感谢您迅速采取行动 :slight_smile:

2 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.