-device-option values not being passed during cross compiling
-
Hello, I am trying to cross compile from my Linux Machine (x86-64) for an arm machine. During configure, I am passing in some values using -device-option However, when I try to print those values within the qmake.conf, it does not recognize the values passed in. Below is my configure command with all the configuration options.
qt-everywhere-src-5.15.0/qtbase/configure -top-level -prefix /mnt/drivers -device-option PLATFORM_DIR=5.15.0/platform -verbose -static -no-use-gold-linker -no-sse2 -no -sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-mips_dsp -no-mips_dspr2 -no-linuxfb -no-xcb -system-sqlite -no-sql- db2 -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -no-sql-sqlite2 -no-sql-tds -no-sql-ibase -no-kms -no-reduce-relocatio ns -no-cups -no-iconv -no-dbus -no-glib -no-widgets -nomake tools -nomake examples -nomake tests -skip qtactiveqt -skip qtandr oidextras -skip qtconnectivity -skip qtdoc -skip qtlocation -skip qtmacextras -skip qtscript -skip qtsensors -skip qtserialpor t -skip qtwinextras -skip qtx11extras -skip qtxmlpatterns -openssl -no-gtk -skip qtmultimedia -no-feature-clipboard -no-featur e-concurrent -no-feature-cssparser -no-feature-draganddrop -no-feature-effects -no-feature-sessionmanager -no-feature-sharedme mory -no-feature-systemsemaphore -no-feature-texthtmlparser -no-feature-textodfwriter -no-feature-xmlstreamwriter -no-feature- dom -no-feature-filesystemwatcher -no-feature-process -no-feature-buttongroup -no-feature-calendarwidget -no-feature-combobox -no-feature-contextmenu -no-feature-datetimeedit -no-feature-dial -no-feature-dockwidget -no-feature-fontcombobox -no-feature- graphicseffect -no-feature-graphicsview -no-feature-groupbox -no-feature-keysequenceedit -no-feature-lcdnumber -no-feature-lin eedit -no-feature-listwidget -no-feature-mainwindow -no-feature-mdiarea -no-feature-menu -no-feature-printpreviewwidget -no-fe ature-progressbar -no-feature-resizehandler -no-feature-rubberband -no-feature-scrollarea -no-feature-scrollbar -no-feature-si zegrip -no-feature-slider -no-feature-spinbox -no-feature-splashscreen -no-feature-splitter -no-feature-stackedwidget -no-feat ure-statusbar -no-feature-statustip -no-feature-syntaxhighlighter -no-feature-tabbar -no-feature-tablewidget -no-feature-tabwi dget -no-feature-textbrowser -no-feature-textedit -no-feature-toolbar -no-feature-toolbox -no-feature-toolbutton -no-feature-t ooltip -no-feature-treewidget -no-feature-whatsthis -no-feature-colordialog -no-feature-errormessage -no-feature-filedialog -n o-feature-fontdialog -no-feature-inputdialog -no-feature-messagebox -no-feature-printdialog -no-feature-printpreviewdialog -no -feature-progressdialog -no-feature-wizard -no-feature-columnview -no-feature-datawidgetmapper -no-feature-dirmodel -no-featur e-identityproxymodel -no-feature-itemviews -no-feature-listview -no-feature-proxymodel -no-feature-sortfilterproxymodel -no-fe ature-standarditemmodel -no-feature-stringlistmodel -no-feature-tableview -no-feature-treeview -no-feature-style-stylesheet -n o-feature-image_heuristic_mask -no-feature-image_text -no-feature-imageformat_bmp -no-feature-imageformat_ppm -no-feature-imag eformat_xbm -no-feature-imageformat_xpm -DQT_NO_SVGGENERATOR -no-feature-cups -no-feature-pdf -no-feature-picture -no-feature- printer -no-feature-big_codecs -no-feature-codecs -no-feature-iconv -no-feature-bearermanagement -no-feature-ftp -no-feature-u dpsocket -no-feature-completer -no-feature-desktopservices -no-feature-fscompleter -no-feature-gestures -no-feature-systemtray icon -no-feature-undocommand -no-feature-undogroup -no-feature-undostack -no-feature-undoview -no-feature-dbus -xplatform devi ces/linux-arm-broadcom-g++ -device-option COMPILE_OPTIMIZATION=-Os -device-option PLATFORM_OPENGL_LIBS=-lFakeOpenGL -no-egl -s kip qtgraphicaleffects -directfb -qpa directfb -commercial -confirm-license
For example, I have the command within devices/linux-arm-broadcom-g++/qmake.conf,
isEmpty(PLATFORM_DIR):error("PLATFORM_DIR needs to be set via -device-option PLATFORM_DIR=path.")
And it does print the error which indicates that PLATFORM_DIR is not passed into the configure.
Can you please let me know what I may have missed which is causing these values to not being passed in correctly?
-
@SGaist Can you help me out with this issue? Since the -device-option variables are not being passed into the mkspecs, none of our compilation options are working.
-
Does it work with a previous version of Qt ?
When doing that kind of test:
- just build qtbase, this will avoid all the skip options that take a lot place and make your configure command hard to read.
- start with the minimal set of options, again your configure line is so long that it is very hard to read.
- group the same options together. You have several -device-option spread through your command.
-
Yes, it does work with the previous version of QT (which is 5.6.0). I will trybuildng with fewer options. Also, I will group the options together and try.
What do you mean by just building qtbase? How do I do that? Right now I am running "configure" script located in qt-everywhere-src-5.15.0 directory. And that script is trying to run the configure script within the qtbase directory.
-
5.6.0 is more that nine release earlier, I meant 5.14.2 or the latest 5.12.
Call the configure script that is in qtbase.