Ubuntu sys/byteorder.h и sys/endian.h отсутствуют при сборке MySQL Connector/C++

Вы должны использовать только find, если вы собираетесь перечислить файлы с совпадающим именем, где вы ssh на удаленном сервере, и добавлять только файлы, если -type f.

ssh USER@HOST 'find ~/listfile/ -type f -iname "*log*" '

Если вам нужно catсодержимое найденных файлов, используйте findс catследующим образом.

ssh USER@HOST 'find ~/listfile/ -type f -iname "*log*" -exec cat {} +'

Ваша конкретная проблема заключается в том, что $lineрасширяется локальной оболочкой, поскольку оно заключено в двойные кавычки. Но в любом случае ваш подход - это неправильный способ перебора результатов find. См. Почему зацикливание вывода find является плохой практикой? для получения подробной информации.

0
01.01.2020, 22:42
1 ответ

Кажется, что компилятору C++ не хватает памяти. Попробуйте указать 1 поток при сборке с помощью make, например:

$ cd path/to/connector/source
$ mkdir build && cd build
$ cmake.. -DCMAKE_BUILD_TYPE=Release
$ make -j1

(это известно как "из -исходного кода -" сборка)

Если это не помогло, а памяти Pi по-прежнему не хватает, используйте инструмент raspi-config(, запущенный от имени пользователя root ), чтобы настроить разделение памяти Pi, отдавая как можно меньше памяти графическому процессору, и отключите графический вход, чтобы попытаться увеличить объем свободной памяти для компиляции. Затем перезагрузитесь, чтобы изменения вступили в силу, а затем соберите, как из консоли. Если все пойдет хорошо, вы можете снова использовать raspi-config, чтобы вернуть ранее измененные настройки к их первоначальным значениям. Если это не сработает, вы можете подумать о перекрестной компиляции -на другой машине Linux с большим объемом памяти. Руководство о том, как создать цепочку инструментов кросс--компиляции для Pi с помощью crosstool-ng, а затем с ее помощью собрать проект CMake, можно найти здесь :https://blog.kitware.com/cross-compiling-for-raspberry-pi/.

1
28.01.2020, 02:38

Теги

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