Yocto 에서 빌드한 SDK 파악


poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-aarch64-toolchain-5.90.0+snapshot.sh


설치된 SDK의 환경변수 파악

/opt/rcar_m3/environment-setup-aarch64-agl-linux


$ echo $CC

aarch64-agl-linux-gcc -march=armv8-a --sysroot=/opt/rcar_m3/sysroots/aarch64-agl-linux



export CC="aarch64-agl-linux-gcc  -march=armv8-a --sysroot=$SDKTARGETSYSROOT"

export CXX="aarch64-agl-linux-g++  -march=armv8-a --sysroot=$SDKTARGETSYSROOT"

export CPP="aarch64-agl-linux-gcc -E  -march=armv8-a --sysroot=$SDKTARGETSYSROOT"

export AS="aarch64-agl-linux-as "

export LD="aarch64-agl-linux-ld  --sysroot=$SDKTARGETSYSROOT"


sysroots/x86_64-aglsdk-linux/environment-setup.d
qt5.sh

export PATH=$OECORE_NATIVE_SYSROOT/usr/bin/qt5:$PATH
export OE_QMAKE_CFLAGS="$CFLAGS"
export OE_QMAKE_CXXFLAGS="$CXXFLAGS"
export OE_QMAKE_LDFLAGS="$LDFLAGS"
export OE_QMAKE_CC=$CC
export OE_QMAKE_CXX=$CXX
export OE_QMAKE_LINK=$CXX
export OE_QMAKE_AR=$AR
export QT_CONF_PATH=$OECORE_NATIVE_SYSROOT/usr/bin/qt5/qt.conf
export OE_QMAKE_LIBDIR_QT=`qmake -query QT_INSTALL_LIBS`
export OE_QMAKE_INCDIR_QT=`qmake -query QT_INSTALL_HEADERS`
export OE_QMAKE_MOC=$OECORE_NATIVE_SYSROOT/usr/bin/qt5/moc
export OE_QMAKE_UIC=$OECORE_NATIVE_SYSROOT/usr/bin/qt5/uic
export OE_QMAKE_RCC=$OECORE_NATIVE_SYSROOT/usr/bin/qt5/rcc
export OE_QMAKE_QDBUSCPP2XML=$OECORE_NATIVE_SYSROOT/usr/bin/qt5/qdbuscpp2xml
export OE_QMAKE_QDBUSXML2CPP=$OECORE_NATIVE_SYSROOT/usr/bin/qt5/qdbusxml2cpp
export OE_QMAKE_QT_CONFIG=`qmake -query QT_INSTALL_LIBS`/qt5/mkspecs/qconfig.pri
export OE_QMAKE_PATH_HOST_BINS=$OECORE_NATIVE_SYSROOT/usr/bin/qt5
export QMAKESPEC=`qmake -query QT_INSTALL_LIBS`/qt5/mkspecs/linux-oe-g++
qt 관련 옵션 포함되어 있다.


Yocto 에서 빌드된 Qt5.9.4 빌드옵션파악


uilding on: linux-oe-g++ (arm64, CPU features: neon)

Building for: linux-oe-g++ (arm64, CPU features: neon)

Configuration: cross_compile compile_examples enable_new_dtags largefile neon silent shared release c++11 c++14 c++1z concurrent dbus no-qml-debug reduce_exports stl

Build options:

  Mode ................................... release

  Optimize release build for size ........ no

  Building shared libraries .............. yes

  Using C++ standard ..................... C++1z

  Using ccache ........................... no

  Using gold linker ...................... no

  Using new DTAGS ........................ yes

  Using precompiled headers .............. no

  Using LTCG ............................. no

  Target compiler supports:

    NEON ................................. yes

  Build parts ............................ libs tests tools

Qt modules and options:

  Qt Concurrent .......................... yes

  Qt D-Bus ............................... yes

  Qt D-Bus directly linked to libdbus .... yes

  Qt Gui ................................. yes

  Qt Network ............................. yes

  Qt Sql ................................. yes

  Qt Testlib ............................. yes

  Qt Widgets ............................. yes

  Qt Xml ................................. yes

Support enabled for:

  Using pkg-config ....................... yes

  QML debugging .......................... no

  udev ................................... yes

  Using system zlib ...................... yes

Qt Core:

  DoubleConversion ....................... yes

    Using system DoubleConversion ........ no

  GLib ................................... no

  iconv .................................. no

  ICU .................................... yes

  Logging backends:

    journald ............................. no

    syslog ............................... no

    slog2 ................................ no

  Using system PCRE2 ..................... no

Qt Network:

  getaddrinfo() .......................... yes
  getifaddrs() ........................... yes
  IPv6 ifname ............................ yes
  libproxy ............................... no
  OpenSSL ................................ yes
    Qt directly linked to OpenSSL ........ no
  SCTP ................................... no
  Use system proxies ..................... yes
Qt Gui:
  Accessibility .......................... yes
  FreeType ............................... yes
    Using system FreeType ................ yes
  HarfBuzz ............................... no
    Using system HarfBuzz ................ no
  Fontconfig ............................. yes
  Image formats:
    GIF .................................. no
    ICO .................................. no
    JPEG ................................. yes
      Using system libjpeg ............... yes
    PNG .................................. yes
      Using system libpng ................ yes
  EGL .................................... yes
  OpenVG ................................. no
  OpenGL:
    Desktop OpenGL ....................... no
    OpenGL ES 2.0 ........................ yes
    OpenGL ES 3.0 ........................ yes
    OpenGL ES 3.1 ........................ yes
  Session Management ..................... no
Features used by QPA backends:
  evdev .................................. yes
  libinput ............................... no
  INTEGRITY HID .......................... no
  mtdev .................................. no
  tslib .................................. no
  xkbcommon-evdev ........................ no
QPA backends:
  DirectFB ............................... no
  EGLFS .................................. no
  LinuxFB ................................ no
  VNC .................................... yes
  Mir client ............................. no
Qt Widgets:
  GTK+ ................................... no
  Styles ................................. Fusion Windows
Qt PrintSupport:
  CUPS ................................... no
Qt Sql:
 DB2 (IBM) .............................. no
  InterBase .............................. no
  MySql .................................. no
  OCI (Oracle) ........................... no
  ODBC ................................... no
  PostgreSQL ............................. no
  SQLite2 ................................ no
  SQLite ................................. yes
    Using system provided SQLite ......... yes
  TDS (Sybase) ........................... no

Note: -hostbindir is not a subdirectory of -hostprefix.
Note: -hostlibdir is not a subdirectory of -hostprefix.
Note: -hostdatadir is not a subdirectory of -hostprefix.

WARNING: Feature xinput2 is insignificant in this configuration, ignoring related command line option(s).

WARNING: Feature xkb is insignificant in this configuration, ignoring related command line option(s).

WARNING: Feature xkbcommon-system is insignificant in this configuration, ignoring related command line option(s).

WARNING: The [-no]-qpa-platform-guard argument is deprecated and has no effect.

WARNING: No QPA platform plugin enabled! This will
produce a Qt that cannot run GUI applications.
The dependencies needed for xcb to build are listed in


Qt 관련된 SDK 파일 삭제


rm -rf qt5/

 rm -rf libQt5*




Qt 소스에서(qtbase) 타겟에 맞는 mkspec 파일 재생성 후 qt build 를 수행한다.


./configure -prefix /opt/qt5.11.1 -xplatform linux-rcar-g++ -sysroot /opt/rcar/sysroots/aarch64-agl-linux

Creating qmake...


export PATH=/opt/rcar_m3/sysroots/x86_64-aglsdk-linux/usr/bin/aarch64-agl-linux:$PATH



 

./configure -prefix /opt/qt5.11.1 -xplatform linux-rcar-g++ -sysroot /opt/rcar_m3/sysroots/aarch64-agl-linux




Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)

Building for: linux-rcar-g++ (arm64, CPU features: neon)

Configuration: cross_compile compile_examples largefile neon precompile_header shared rpath release c++11 c++14 c++1z concurrent dbus reduce_exports stl

Build options:

  Mode ................................... release

  Optimize release build for size ........ no

  Building shared libraries .............. yes

  Using C++ standard ..................... C++1z

  Using ccache ........................... no

  Using gold linker ...................... no

  Using new DTAGS ........................ no

  Using precompiled headers .............. yes

  Using LTCG ............................. no

  Target compiler supports:

    NEON ................................. yes

  Build parts ............................ libs examples

Qt modules and options:

  Qt Concurrent .......................... yes

  Qt D-Bus ............................... yes

  Qt D-Bus directly linked to libdbus .... yes

  Qt Gui ................................. yes

  Qt Network ............................. yes

  Qt Sql ................................. yes

  Qt Testlib ............................. yes

  Qt Widgets ............................. yes

  Qt Xml ................................. yes

Support enabled for:

  Using pkg-config ....................... yes

  udev ................................... yes

  Using system zlib ...................... yes

Qt Core:

  DoubleConversion ....................... yes

    Using system DoubleConversion ........ no

  GLib ................................... yes

  iconv .................................. no

  ICU .................................... yes

  Tracing backend ........................ <none>

  Logging backends:

    journald ............................. no

    syslog ............................... no

    slog2 ................................ no

  Using system PCRE2 ..................... no

Qt Network:

  getifaddrs() ........................... yes

  IPv6 ifname ............................ yes

  libproxy ............................... no

  Linux AF_NETLINK ....................... yes

  OpenSSL ................................ yes

    Qt directly linked to OpenSSL ........ no

  OpenSSL 1.1 ............................ no

  SCTP ................................... no

  Use system proxies ..................... yes

Qt Gui:

  Accessibility .......................... yes

  FreeType ............................... yes

    Using system FreeType ................ yes

  HarfBuzz ............................... yes

    Using system HarfBuzz ................ no

  Fontconfig ............................. yes

  Image formats:

    GIF .................................. yes

    ICO .................................. yes

    JPEG ................................. yes

      Using system libjpeg ............... yes

    PNG .................................. yes

      Using system libpng ................ yes

  EGL .................................... yes

  OpenVG ................................. no

  OpenGL:

    Desktop OpenGL ....................... no

    OpenGL ES 2.0 ........................ yes

    OpenGL ES 3.0 ........................ yes

    OpenGL ES 3.1 ........................ yes

    OpenGL ES 3.2 ........................ yes

  Vulkan ................................. no

  Session Management ..................... yes

Features used by QPA backends:

  evdev .................................. yes

  libinput ............................... yes

  INTEGRITY HID .......................... no

  mtdev .................................. yes

  tslib .................................. no

  xkbcommon-evdev ........................ yes

QPA backends:

  DirectFB ............................... no

  EGLFS .................................. yes

  EGLFS details:

    EGLFS OpenWFD ........................ no

    EGLFS i.Mx6 .......................... no

    EGLFS i.Mx6 Wayland .................. no

    EGLFS RCAR ........................... no

    EGLFS EGLDevice ...................... yes

    EGLFS GBM ............................ yes

    EGLFS VSP2 ........................... no

    EGLFS Mali ........................... no

    EGLFS Raspberry Pi ................... no

    EGL on X11 ........................... no

  LinuxFB ................................ yes

  VNC .................................... yes

  Mir client ............................. no

Qt Widgets:

  GTK+ ................................... no

  Styles ................................. Fusion Windows

Qt PrintSupport:

  CUPS ................................... yes

Qt Sql:

  DB2 (IBM) .............................. no

  InterBase .............................. no

  MySql .................................. no

  OCI (Oracle) ........................... no

  ODBC ................................... no

  PostgreSQL ............................. no

  SQLite2 ................................ no

  SQLite ................................. yes

    Using system provided SQLite ......... no

  TDS (Sybase) ........................... no

Qt Testlib:

  Tester for item models ................. yes



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


Note: PKG_CONFIG_LIBDIR automatically set to /opt/rcar_m3/sysroots/aarch64-agl-linux/usr/lib/pkgconfig:/opt/rcar_m3/sysroots/aarch64-agl-linux/usr/share/pkgconfig:/opt/rcar_m3/sysroots/aarch64-agl-linux/usr/lib/aarch64-agl-linux/pkgconfig


Note: PKG_CONFIG_SYSROOT_DIR automatically set to /opt/rcar_m3/sysroots/aarch64-agl-linux


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


Qt is now configured for building. Just run 'make'.

Once everything is built, you must run 'make install'.

Qt will be installed into '/opt/rcar_m3/sysroots/aarch64-agl-linux/opt/qt5.11.1'.


Prior to reconfiguration, make sure you remove any leftovers from

the previous build.




+ Recent posts