Kirigami build instructions

Police Terror PoliceTerror at dyne.org
Mon Aug 15 05:35:00 UTC 2016


YES!! Thank you.

I had to configure that as an environment variable (not the command line
switch).

Then re-running the cmake command, it was still failing.

After deleting everything inside build sub-directory:

$ rm -fr *

The command works when re-running it.

However on the last step:

$ make create-apk-kirigamigallery
[ 16%] Automatic moc for target kirigamigallery
[ 16%] Built target kirigamigallery_automoc
[100%] Built target kirigamigallery
Scanning dependencies of target create-apk-kirigamigallery
Generating kirigamigallery with
/home/foo/.Qt/5.7/android_armv7/bin/androiddeployqt
Directory /platforms does not exist
CMakeFiles/create-apk-kirigamigallery.dir/build.make:57: recipe for
target 'CMakeFiles/create-apk-kirigamigallery' failed
make[3]: *** [CMakeFiles/create-apk-kirigamigallery] Error 2
CMakeFiles/Makefile2:99: recipe for target
'CMakeFiles/create-apk-kirigamigallery.dir/all' failed
make[2]: *** [CMakeFiles/create-apk-kirigamigallery.dir/all] Error 2
CMakeFiles/Makefile2:106: recipe for target
'CMakeFiles/create-apk-kirigamigallery.dir/rule' failed
make[1]: *** [CMakeFiles/create-apk-kirigamigallery.dir/rule] Error 2
Makefile:208: recipe for target 'create-apk-kirigamigallery' failed
make: *** [create-apk-kirigamigallery] Error 2

Where is it looking for /platforms?

Aleix Pol:
> On Fri, Aug 12, 2016 at 10:26 PM, Police Terror <PoliceTerror at dyne.org> wrote:
>> Thank you, I didn't realize ECM was connected to KDE. That connection
>> was good. Running this command solved the problem:
>>
>> $ sudo apt install extra-cmake-modules
>>
>> Which made it available in /usr/share/ECM/toolchain/Android.cmake
>>
>> And now I also had to add a switch to cmake:
>>
>>   -DANDROID_NDK=...
>>
>> However it is failing:
>>
>> -- Check for working C compiler:
>> /mypath/android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc
>> CMake Error at /usr/share/ECM/toolchain/Android.cmake:113 (message):
>>   Couldn't find the Android NDK Root in /platforms/android-14/arch-arm
> 
> /platforms/... looks wrong, should have something before. Make sure
> that your ANDROID_NDK variable is properly set. I'd suggest setting it
> as an environment variable.
> 
>> Call Stack (most recent call first):
>>   /home/travis/src/kirigami/build/CMakeFiles/3.5.1/CMakeSystem.cmake:6
>> (include)
>>   CMakeLists.txt:2 (project)
>>
>> CMakeError.log has lots of errors like:
>>
>> /home/travis/Downloads/android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld:
>> error: cannot find -lc
>> /home/travis/Downloads/android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld:
>> error: cannot find -ldl
> 
> If gcc can't be found, anything won't be found. The toolchain is a package.
> 
>> So I tried defining an envvar
>> SYSROOT=/mypath/android-ndk-r12b/platforms/android-14/arch-arm/ but that
>> also doesn't work.
>>
>> Thanks for any help. I saw the Kirigami app and it looks crisp and
>> beautiful. You've done a great work on these widgets. I showed it to a
>> few others and they were impressed. It definitely beats Kivy.
>>
>> Is it possible to use Kirigami with Python for the application logic?
>> The widgets are in QML, and it seems PyQt5 exists for Android too. Have
>> you tried this yet?
> I don't think anyone has tried yet, I'm unsure that you want to bundle
> whole Python with the application, although it should be possible.
> I'd look into making it possible to import a Python module from QML,
> this would be interesting IMHO.
> 
>> Anyway great work! This is a milestone for Linux development. Kivy is
>> slow to start and looks ugly, Qt is kind of a fudge and NDK means I have
>> to write a Java UI...
>>
>> Do you have a way to pause the application when it is minimized?
>> https://kivy.org/docs/api-kivy.app.html#kivy.app.App.on_pause
> I don't know. Probably something worth looking into at the Qt level.
> 
>> That's important to prevent the long startup time.
>>
>> Thomas Pfeiffer:
>>> Hi,
>>>
>>> glad that you find Kirigami interesting!
>>>
>>> Admittedly, we're not very used to our frameworks being used by people
>>> with no prior KDE experience, so yes, we should provide more
>>> instructions there.
>>>
>>> ECM stands for Extra CMake Modules. Our wiki [1] explains where to get
>>> them (if you are using Linux, your distro should provide a package of
>>> them).
>>>
>>> Hope that helps. Feel free to ask here or on IRC or Telegram if you have
>>> further questions.
>>>
>>> Cheers,
>>>
>>> Thomas
>>>
>>> [1]
>>> https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source/Details#Extra_CMake_Modules
>>>
>>>
>>>
>>> On 12.08.2016 18:06, Police Terror wrote:
>>>> Hello,
>>>>
>>>> I'm excited by the slick looking Kirigami and the possibility of
>>>> building applications to deploy on Linux, Android, and Windows with C++.
>>>>
>>>> Unfortunately the documentation is very sparse!
>>>>
>>>> The GitHub says:
>>>>
>>>> cmake ..
>>>> -DCMAKE_TOOLCHAIN_FILE=/path/to/share/ECM/toolchain/Android.cmake -DQT
>>>> ANDROID_EXPORTED_TARGET=kirigamigallery
>>>> -DANDROID_APK_DIR=../examples/android/ -
>>>> DCMAKE_PREFIX_PATH=/path/to/Qt-Android/5.5/android_armv7/
>>>> -DCMAKE_INSTALL_PREFIX=/path/to/dummy/install/prefix -DBUILD_EXAMPLES=ON
>>>>
>>>> What is ECM?? I've been searching the net for clues but found nothing.
>>>>
>>>> Thanks (I'm new to Android platform development)
>>>


More information about the Plasma-devel mailing list