Bug 325490 - ministro injects plugins too early in dependency order when using multiple sources in libs.xml
Summary: ministro injects plugins too early in dependency order when using multiple so...
Status: RESOLVED UNMAINTAINED
Alias: None
Product: Necessitas
Classification: Unmaintained
Component: Ministro (show other bugs)
Version: beta1
Platform: Android Android 4.x
: NOR major
Target Milestone: Unspecified
Assignee: BogDan Vatra
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-01 09:52 UTC by Marco Bernasocchi
Modified: 2018-09-04 16:17 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marco Bernasocchi 2013-10-01 09:52:20 UTC
When using multiple sources in libs.xml, ministro injects plugins too early in the dependency order of native.libraries in loaderParams. For some reason libandroid-9.so (QtAndroidPlatformPlugin, level=9999) gets inserted just after libQtCore.so (level=0). this probably because QtGui (level=1) depends on <lib name="QtAndroidPlatformPlugin"/> which on his turn depends on QtGui.

to trigger this it is enough to add an additional source to the libs.xml file (even to a repo that has _no_ Qtlibs there).

Here some debugging output using 
<array name="qt_sources">
  <item>https://files.kde.org/necessitas/ministro/android/necessitas/</item>
  <item>http://android.qgis.org/repository/</item>
</array>

I/Qt      (26763): CALLING MINISTRO, ASKING:
I/Qt      (26763): QTLIBS:
I/Qt      (26763): [QtCore, QtGui, QtSql, QtXml, QtSvg, QtWebKit, QtNetwork, QtSystemInfo, QtSensors, QtLocation, QtDeclarative, gnustl_shared, expat, geos, geos_c, gslcblas, sqlite3, gdal, proj, spatialindex, qwt, iconv, charset, pq, freexl, spatialite]
I/Qt      (26763): sources:
I/Qt      (26763): [https://files.kde.org/necessitas/ministro/android/necessitas/, http://android.qgis.org/repository/]
I/Qt      (26763): Bundle[{application.title=Qgis, minimum.qt.version=263936, minimum.ministro.api=3, repository=default, environment.variables=QT_USE_ANDROID_NATIVE_STYLE=0	, required.modules=[Ljava.lang.String;@4197af40, sources=[Ljava.lang.String;@41a6e8c8}]
I/Qt      (26763): loaderParams
I/Qt      (26763): Bundle[{dex.path=/data/data/org.kde.necessitas.ministro/files/dl/0/stable//jar/QtIndustrius-14.jar, lib.path=/data/data/org.kde.necessitas.ministro/files/dl/0/stable/, loader.class.name=org.kde.necessitas.industrius.QtActivityDelegate, native.libraries=[/data/data/org.kde.necessitas.ministro/files/dl/0/stable//lib/libQtCore.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libgnustl_shared.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libexpat.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libgeos.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libgslcblas.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libsqlite3.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libproj.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libspatialindex.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libqwt.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libiconv.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libcharset.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libpq.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//plugins/platforms/android/libandroid-9.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//lib/libQtSql.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//lib/libQtXml.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//lib/libQtNetwork.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//lib/libQtSensors.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//lib/libQtScript.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libgeos_c.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libgdal.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libfreexl.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//lib/libQtGui.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//plugins/sensors/libqtsensors_android.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//lib/libQtXmlPatterns.so, /data/data/org.kde.necessitas.ministro/files/dl/1/stable//lib/libspatialite.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//lib/libQtSvg.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//lib/libQtWebKit.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//lib/libQtSystemInfo.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//plugins/landmarks/libqtlandmarks_sqlite.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//lib/libQtLocation.so, /data/data/org.kde.necessitas.ministro/files/dl/0/stable//lib/libQtDeclarative.so], application.parameters=-platform	android, error.code=0, libs.path=[/data/data/org.kde.necessitas.ministro/files/dl/0/stable/, /data/data/org.kde.necessitas.ministro/files/dl/1/stable/], environment.variables=MINISTRO_SSL_CERTS_PATH=/data/data/org.kde.necessitas.ministro/files/dl/ssl/	MINISTRO_ANDROID_STYLE_PATH=/data/data/org.kde.necessitas.ministro/files/dl/style/	QT_PLUGIN_PATH=/data/data/org.kde.necessitas.ministro/files/dl/0/stable/plugins	QML_IMPORT_PATH=/data/data/org.kde.necessitas.ministro/files/dl/0/stable/imports	QT_USE_ANDROID_NATIVE_STYLE=0	}]

Reproducible: Always

Steps to Reproduce:
1. add 2 (or more sources to libs.xml
2.
3.
Actual Results:  
the dependency order is messed up

Expected Results:  
the dependency order should be correct
Comment 1 Marco Bernasocchi 2013-10-01 09:53:18 UTC
manually reordering the native.libraries array in the loaderParams worksaround the problem
Comment 2 Marco Bernasocchi 2013-10-01 09:54:32 UTC
same thing happens with QtAndroidSensorsPlugin and QtSensors
Comment 3 Andrew Crouthamel 2018-09-04 16:17:13 UTC
Hello! Sorry to be the bearer of bad news, but this project has been unmaintained for many years and I will be closing this bug.