cc1 не хватает памяти

Из ваших выходных данных bash -xвы обнаружили ошибку в пакете завершения bash -(, который не является частью bash, но является поддерживаемым сообществом -пакетом завершения табуляции ). Ваша проблема заключается в том, что выполнение bash в этом случае неправильно экранирует кавычки при переходе кeval:

+ printf -v quoted %s '$t" c'
+ [[ $t" c == \$* ]]
+ eval 'quoted=$t" c'
bash: unexpected EOF while looking for matching `"'
bash: syntax error: unexpected end of file

Глядя на систему отслеживания ошибок, похоже, что это эта ошибка , которая уже была исправлена ​​вышестоящей веткой разработки, но патч еще не попал в ваши репозитории.

У вас есть несколько вариантов:

  1. Найдите бэкпорт дополнения bash -для вашего дистрибутива. В вашем вопросе не упоминается, какой дистрибутив находится в вашем вопросе, но, например, в Ubuntu вы можете найти новую версию в PPA .
  2. Прекратите использование пакета завершения bash -и просто используйте внутреннюю логику завершения bash. В зависимости от того, что вам нужно для завершения табуляции, этого может быть достаточно.
  3. Подождите, пока исправление не появится в репозиториях вашего дистрибутива. В зависимости от вашего дистрибутива время, необходимое для внесения исправления, может варьироваться от «через 5 минут» до «никогда».
  4. Если в вашем дистрибутиве предусмотрен процесс резервного переноса исправлений основной ветки разработки, вы можете запросить перенос исправления для применения этого исправления вместо того, чтобы ждать новой версии. В зависимости от сопровождающего и политики дистрибутива это может работать или не работать.

0
08.04.2020, 12:59
1 ответ

Чтение документа:man 1 qemu-user-static:

qemu-user-static(1)                                   Debian                                  qemu-user-static(1)

NAME
       qemu-user-static - QEMU User Emulator (static version)

SYNOPSIS
       qemu-user-static [options] program [program-arguments...]

DESCRIPTION
       The  qemu-user-static emulator can run binaries for other architectures but with the same operating system
       as the current one.

OPTIONS
       -h     Print this help.

       -g <port>
              Wait gdb connection to port port.

       -L <path>
              Set the elf interpreter prefix (default=/etc/qemu-binfmt/%M).

       -s <size>
              Set the stack size in bytes (default=524288).

       -d <options>
              Activate log (logfile=/tmp/qemu.log)

       -p <pagesize>
              Set the host page size to 'pagesize'.

SEE ALSO
       qemu-system(1) (in qemu-system-common package).

Поскольку вы не передавали никаких аргументов в qemu, для памяти и памяти использовались значения по умолчанию. Я предполагаю, что значения по умолчанию довольно низкие, и ваша задача компиляции превысила их.

Запуск на моей платформе с переключателем -hдает:

$ sudo chroot /tmp/root/ /qemu-arm-static
usage: qemu-arm [options] program [arguments...]
Linux CPU emulator (compiled for arm emulation)

Options and associated environment variables:

Argument             Env-variable      Description
-h                                     print this help
-help                                  
-g port              QEMU_GDB          wait gdb connection to 'port'
-L path              QEMU_LD_PREFIX    set the elf interpreter prefix to 'path'
-s size              QEMU_STACK_SIZE   set the stack size to 'size' bytes
-cpu model           QEMU_CPU          select CPU (-cpu help for list)
-E var=value         QEMU_SET_ENV      sets targets environment variable (see below)
-U var               QEMU_UNSET_ENV    unsets targets environment variable (see below)
-0 argv0             QEMU_ARGV0        forces target process argv[0] to be 'argv0'
-r uname             QEMU_UNAME        set qemu uname release string to 'uname'
-B address           QEMU_GUEST_BASE   set guest_base address to 'address'
-R size              QEMU_RESERVED_VA  reserve 'size' bytes for guest virtual address space
-d item[,...]        QEMU_LOG          enable logging of specified items (use '-d help' for a list of items)
-dfilter range[,...] QEMU_DFILTER      filter logging based on address range
-D logfile           QEMU_LOG_FILENAME write logs to 'logfile' (default stderr)
-p pagesize          QEMU_PAGESIZE     set the host page size to 'pagesize'
-singlestep          QEMU_SINGLESTEP   run in singlestep mode
-strace              QEMU_STRACE       log system calls
-seed                QEMU_RAND_SEED    Seed for pseudo-random number generator
-trace               QEMU_TRACE        [[enable=]<pattern>][,events=<file>][,file=<file>]
-version             QEMU_VERSION      display version information and exit

Defaults:
QEMU_LD_PREFIX  = /etc/qemu-binfmt/arm
QEMU_STACK_SIZE = 8388608 byte

You can use -E and -U options or the QEMU_SET_ENV and
QEMU_UNSET_ENV environment variables to set and unset
environment variables for the target process.
It is possible to provide several variables by separating them
by commas in getsubopt(3) style. Additionally it is possible to
provide the -E and -U options multiple times.
The following lines are equivalent:
    -E var1=val2 -E var2=val2 -U LD_PRELOAD -U LD_DEBUG
    -E var1=val2,var2=val2 -U LD_PRELOAD,LD_DEBUG
    QEMU_SET_ENV=var1=val2,var2=val2 QEMU_UNSET_ENV=LD_PRELOAD,LD_DEBUG
Note that if you provide several changes to a single variable
the last change will stay in effect.

See <https://qemu.org/contribute/report-a-bug> for how to report bugs.
More information on the QEMU project at <https://qemu.org>.

возможно QEMU _STACK _SIZE слишком мал...

0
28.04.2021, 23:18

Теги

Похожие вопросы