фатальная ошибка при компиляции тестовых примеров pybind11 на raspbian - PullRequest
0 голосов
/ 28 января 2020

После этого вопроса я сейчас пытаюсь скомпилировать pybind11 контрольные примеры, как указано здесь на Raspberry Pi. Что я сделал до сих пор:

  • установлен Raspbian Raspbian Buster Lite с официальная страница
  • обновлены / обновлены все пакеты
  • обновлено / обновленные python пакеты, следуя инструкциям здесь
  • скомпилированы и установлены pybind11 согласно инструкциям здесь

моя среда:

  • Версия Raspbian Buster 10
  • python 3.7.3
  • pip 20.0.2
  • g cc 8.3.0

Затем, выполнив команду make check -j 4, компилятор останавливается на:

[68%] Создание объекта CXX CmakeFiles / pybind11_tests.dir / test_numpy_dtypes. cpp .o

и ошибки:

c ++: фатальная ошибка: прерванный сигнал прекращен программой cplusplus

компиляция прекращена.

make [3] : *** [CMakeFiles / pybind11_tests.dir / build.make: 297: CMakeFiles / pybind11_tests.dir / test_local_bindings. cpp .o] Ошибка 1

make [3]: *** ожидание f или незавершенные задания ...

make [2]: *** [CMakeFiles / Makefile2: 110: CMakeFiles / pybind11_tests.dir / all] Ошибка 2

make [1]: ** * [CMakeFiles / Makefile2: 191: CMakeFile / check.dir / rule] Ошибка 2

make: *** [Makefile: 157: check] Ошибка 2

Буду признателен если бы вы могли помочь мне понять, в чем проблема и как я могу ее решить.

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

Да, вы должны создать первый файл подкачки. После этого вы можете сделать это. Фактически файл подкачки увеличит вашу оперативную память. Это будет использовать пространство для оперативной памяти.

Пожалуйста, go через ссылку ниже, это поможет вам.

https://youtu.be/Cr5mDFxvsb0

0 голосов
/ 29 января 2020

Проводя дополнительные исследования и используя правильный запрос ключевого слова , кажется, что эта проблема не имеет ничего общего с bypynd11 или Raspbian в этом отношении. Кажется, проблема связана с переполнением памяти, как описано во многих постах ранее (включая здесь и здесь ). Решение может состоять в том, чтобы использовать меньше параллельных процессов -j <n>, где n < 4, или вообще не использовать его, как предложено здесь . Например, я протестировал

make check -j 3

, и он работает. Или же создать файл подкачки, как описано здесь .

...