Как выполнить кросс-компиляцию RPI3 (Stretch) с mariadb10, установленным для использования с QTCreator? - PullRequest
0 голосов
/ 08 февраля 2019

Я работаю над кросс-компиляцией программы CTC для QTCreator (5.9), которая будет использоваться исключительно на RPi 3 с Stretch и mariadb10.У меня возникла проблема с получением MYSQL в скомпилированном виде.Хост-машина работает под управлением Ubuntu 18.

Я запустил следующие строки для создания библиотеки кросс-компиляции.Все выглядит нормально, за исключением того, что MYSQL недоступен:

cd ~/raspi3;
git clone https://github.com/raspberrypi/tools;
git clone git://code.qt.io/qt/qtbase.git -b 5.9;
cp ~/Desktop/sysroot-relativelinks.py ~/raspi3; #Copy previously downloaded file. No longer available as of 2/5/2019 at recommended https://raw.githubusercontent.com/riscv/riscv-poky/priv-1.10/scripts/sysroot-relativelinks.py
chmod +x sysroot-relativelinks.py;
mkdir sysroot/usr sysroot/opt;
rsync -avz pi@$ip:/lib sysroot;
rsync -avz pi@$ip:/usr/include sysroot/usr;
rsync -avz pi@$ip:/usr/lib sysroot/usr;
rsync -avz pi@$ip:/opt/vc sysroot/opt;
python ./sysroot-relativelinks.py sysroot;
cd qtbase;
./configure -release -opengl es2 -device linux-rasp-pi3-g++ -I /usr/arm-linux-gnueabihf -device-option CROSS_COMPILE=~/raspi3/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sql-mysql MYSQL_INCDIR=~/raspi3/sysroot/usr/include/mysql MYSQL_LIBDIR=~/raspi3/sysroot/usr/lib/arm-linux-gnueabihf MYSQL_LIBS="-lmariadbclient" -sysroot ~/raspi3/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi3/qt5pi -hostprefix ~/raspi3/qt5 -v -nomake examples -nomake tests -nomake tools -no-use-gold-linker -recheck-all;

Вышеприведенный ./configure запускает и выдает следующий отчет (отрывок):

Qt Sql:
  DB2 (IBM) .............................. no
  InterBase .............................. no
  MySql .................................. no
  OCI (Oracle) ........................... no
  ODBC ................................... yes
  PostgreSQL ............................. yes
  SQLite2 ................................ no
  SQLite ................................. yes
    Using system provided SQLite ......... no
  TDS (Sybase) ........................... yes

Note: Also available for Linux: linux-clang linux-icc

Note: PKG_CONFIG_LIBDIR automatically set to /home/max/raspi3/sysroot/usr/lib/pkgconfig:/home/max/raspi3/sysroot/usr/share/pkgconfig:/home/max/raspi3/sysroot/usr/lib/arm-linux-gnueabihf/pkgconfig

Note: PKG_CONFIG_SYSROOT_DIR automatically set to /home/max/raspi3/sysroot

Note: Dropped compiler flags '-pthread' when detecting library 'glib'.

ERROR: Feature 'sql-mysql' was enabled, but the pre-condition 'libs.mysql' failed.

Примечание: я также пробовалудаление MYSQL_INCDIR, MYSQL_LIBDIR и MYSQL_LIBS без изменения результатов

Когда я компилирую и запускаю программу, созданную в QTCreator, я вижу, что нет доступного драйвера QMYSQL и соединения с базой данных:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7 QTDS QTDS7
FAILED TO CONNECT TO DB

Я охотился вокруг ALOT и пробовал практически все, что мне попадалось.Может кто-нибудь сказать мне, что может быть не так в ./compile, который может быть причиной проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...