error building lomiri calculator app
-
@nibzy26 said in error building lomiri calculator app:
@arubislander Thanks
i disabled the review now I can see the .click package built.
After building calculator package Now I am doing changes in main lomiri repo. ..development/core/lomiri.git
Questions:
1 . Can we build a deb package with it. I mean how are we going to distribute our built packages to other people so that they can install on their phones .Yes, haven't you read the Readme ?( note that some path have changed since, it needs updating ) : https://gitlab.com/ubports/development/core/lomiri
If you want to share your progress, it could be done via a Merge Request in Lomiri repo, users then will able to install it locally via e.g for MR 72 :ubports-qa install focal_-_PR_lomiri_72
2 . Making significant gui changes like adding animations fancy butons and visual effects seem difficult by just editing qml files inside lomiri src as it takes a lot of time.
So I was wondering if we can move just the qml/c++ source files to another qml visual tool like QML designer , make changes there, and then move the src files back to lomiri for building the packages.
I hope i am making sense as I want to see the Live GUI update while editing the qml src files .This makes it quicker compared with making changes in lomiri src within clickable/ide environment and if we want to see our changes we have to build again and run the emulation which is time consuming.Lomiri is not a classic app, hundreds of component needed, it will be hard to make them work with a designer. A way to test quite "quickly" your change can be done with the helpers ( see Readme, or demo here: https://www.youtube.com/watch?v=GgV8z0IsYzY&t=2s , previous one https://youtu.be/sejOiSEv1Vk )
Please advise
thanks
-
@nibzy26 said in error building lomiri calculator app:
Another Issue:
I am trying to build the lomiri .git repo
The command
syed@nsyed-HP-Laptop-15-bs1xx:~/lomiri$ CLICKABLE_FRAMEWORK=ubuntu-sdk-20.04 clickable build --libs --debugis giving error like
[ 48%] Building CXX object tests/plugins/AccountsService/CMakeFiles/mock-server.dir/server.cpp.o
[ 48%] Building CXX object tests/plugins/AccountsService/CMakeFiles/mock-server.dir/AccountsServer.cpp.o
[ 48%] Building CXX object tests/plugins/AccountsService/CMakeFiles/mock-server.dir/PropertiesServer.cpp.o
[ 48%] Building CXX object tests/plugins/AccountsService/CMakeFiles/mock-server.dir/LscServer.cpp.o
[ 48%] Linking CXX shared module libMockWizard-qml.so
[ 48%] Built target MockWizard-qml
[ 48%] Linking CXX shared library libFakeUtils-qml.so
[ 48%] Built target FakeUtils-qml
[ 48%] Linking CXX executable mock-server
[ 48%] Built target mock-server
make: *** [Makefile:141: all] Error 2humm error is not clear, full log needed
-
Actually the complete output is quite long so was looking for an option to attach file here .is there any option here.
However with the shell in qt creator ide i was able to do make -j8 successfully and the build and run button also work fine here .
but the clickable commands on the terminal dont work -
CLICKABLE_FRAMEWORK=ubuntu-sdk-20.04 clickable ide 'cd build/x86_64-linux-gnu/unity8/ && make tryShell'
v8.0.0 of clickable is available, update to get the latest features and improvements!
This project does not have a required Clickable version configured ("clickable_minimum_required"). See https://clickable-ut.dev/en/dev/migration.html for details about migration to Clickable 7 if you run into issues.
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
Install the buildx component to build images with BuildKit:
https://docs.docker.com/go/buildx/Sending build context to Docker daemon 10.75kB
Step 1/21 : FROM docker.io/clickable/amd64-20.04-amd64-ide
---> ace0e42e11c4
Step 2/21 : ARG GOPATH="/home/nsyed/.clickable/go"
---> Using cache
---> 391b91fb709a
Step 3/21 : ARG CMAKE_PREFIX_PATH="/home/nsyed/lomiri/build/x86_64-linux-gnu/unity8/install"
---> Using cache
---> 16b2a9f2ef1d
Step 4/21 : ARG SDK_FRAMEWORK="ubuntu-sdk-20.04"
---> Using cache
---> 62ed90b01da2
Step 5/21 : ARG QT_VERSION="5.12"
---> Using cache
---> eb34b1c3bb75
Step 6/21 : ARG ARCH="amd64"
---> Using cache
---> 5924fb6ccc8c
Step 7/21 : ARG ARCH_TRIPLET="x86_64-linux-gnu"
---> Using cache
---> e97c9eb89565
Step 8/21 : ARG ARCH_RUST="x86_64-unknown-linux-gnu"
---> Using cache
---> 39d6a0eb780d
Step 9/21 : ARG NUM_PROCS="8"
---> Using cache
---> 16fbbc08cb7d
Step 10/21 : ARG ROOT="/home/nsyed/lomiri"
---> Using cache
---> a9bd83171c90
Step 11/21 : ARG BUILD_DIR="/home/nsyed/lomiri/build/x86_64-linux-gnu/app"
---> Using cache
---> 5484f586d218
Step 12/21 : ARG SRC_DIR="/home/nsyed/lomiri"
---> Using cache
---> d060804cec53
Step 13/21 : ARG INSTALL_DIR="/home/nsyed/lomiri/build/x86_64-linux-gnu/app/install"
---> Using cache
---> 346cf119dfad
Step 14/21 : ARG CLICK_LD_LIBRARY_PATH="/home/nsyed/lomiri/build/x86_64-linux-gnu/app/install/lib/x86_64-linux-gnu"
---> Using cache
---> b7e50ed119b7
Step 15/21 : ARG CLICK_PATH="/home/nsyed/lomiri/build/x86_64-linux-gnu/app/install/lib/x86_64-linux-gnu/bin"
---> Using cache
---> a5770c43628e
Step 16/21 : ARG CLICK_QML2_IMPORT_PATH="/home/nsyed/lomiri/build/x86_64-linux-gnu/app/install/lib/x86_64-linux-gnu"
---> Using cache
---> b6d24ccea76b
Step 17/21 : ARG UNITY8_LIB_INSTALL_DIR="/home/nsyed/lomiri/build/x86_64-linux-gnu/unity8/install"
---> Using cache
---> c15347ea953f
Step 18/21 : ARG UNITY8_LIB_BUILD_DIR="/home/nsyed/lomiri/build/x86_64-linux-gnu/unity8"
---> Using cache
---> 261e033514db
Step 19/21 : ARG UNITY8_LIB_SRC_DIR="/home/nsyed/lomiri"
---> Using cache
---> a6bd1587f2e7
Step 20/21 : RUN echo set debconf/frontend Noninteractive | debconf-communicate && echo set debconf/priority critical | debconf-communicate
---> Using cache
---> 12475d2b34e0
Step 21/21 : RUN apt-get update && apt-get install -y --force-yes --no-install-recommends android-headers:amd64 cmake:amd64 cmake-extras:amd64 dbus-test-runner:amd64 debhelper:amd64 dh-apparmor:amd64 doxyqml:amd64 g++:native gdb:amd64 graphviz:amd64 lomiri-schemas:amd64 libandroid-properties-dev:amd64 liblomiri-connectivity-qt1-dev:amd64 libevdev-dev:amd64 libgeonames-dev:amd64 libgl1-mesa-dev:amd64 libgl1-mesa-dri:amd64 libgles2-mesa-dev:amd64 libglib2.0-dev:amd64 libgnome-desktop-3-dev:amd64 libgsettings-qt-dev:amd64 libhardware-dev:amd64 liblightdm-qt5-3-dev:amd64 libpam0g-dev:amd64 libpulse-dev:amd64 libqmenumodel-dev:amd64 libqt5sql5-sqlite:amd64 libqt5svg5-dev:amd64 libqt5xmlpatterns5-dev:amd64 libqtdbusmock1-dev:amd64 libqtdbustest1-dev:amd64 liblomirisystemsettings-dev:amd64 libubuntu-app-launch3-dev:amd64 liblomiri-download-manager-common-dev:amd64 liblomirigestures5-dev:amd64 liblomirigestures5-private-dev:amd64 libudev-dev:amd64 liblomiri-api-dev:amd64 libusermetricsoutput1-dev:amd64 libx11-dev:amd64 libxcb1-dev:amd64 libxi-dev:amd64 pkg-config:amd64 python3-all:any python3-setuptools:native qml-module-qt-labs-folderlistmodel:amd64 qml-module-qt-labs-settings:amd64 qml-module-qtmultimedia:amd64 qml-module-qtqml-statemachine:amd64 qml-module-qtquick-layouts:amd64 qml-module-qtquick-xmllistmodel:amd64 qml-module-qtquick2:amd64 qml-module-qttest:amd64 qml-module-lomiri-components:amd64 qml-module-lomiri-layouts:amd64 qml-module-lomiri-settings-components:amd64 qml-module-lomiri-test:amd64 qtbase5-dev:amd64 qtbase5-dev-tools:amd64 qtbase5-private-dev:amd64 qtdbustest-runner:amd64 qtdeclarative5-dev:amd64 qtdeclarative5-dev-tools:amd64 qtdeclarative5-private-dev:amd64 qtdeclarative5-ubuntu-content1:amd64 fonts-ubuntu:amd64 lomiri-wallpapers:amd64 xvfb:amd64 qtmir:amd64 qml-module-qtmir:amd64 libqtmirserver-dev:amd64 liblomiri-app-launch-dev:amd64 libdeviceinfo-dev:amd64 mirtest-dev:amd64 qml-module-lomiri-settings-menus:amd64 && apt-get clean
---> Using cache
---> 2f4ad9f8851c
Successfully built 2f4ad9f8851c
Successfully tagged clickable/amd64-20.04-amd64-ide-7867386c-1c3d-4950-a855-ef4e04b42659:latest
non-network local connections being added to access control list
Mounting device home to /home/nsyed/.clickable/home
[ 0%] Automatic MOC for target lomiri-private
[ 0%] Built target lomiri-private_autogen
[100%] Built target lomiri-private
[100%] Automatic MOC for target uqmlscene
[100%] Built target uqmlscene_autogen
[100%] Built target uqmlscene
QML debugging is enabled. Only use this in a safe environment.
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-nsyed'
QML Debugger: Waiting for connection on port 3768...
file:///home/nsyed/lomiri/tests/qmltests/./tst_Shell.qml:21 module "AccountsService" plugin "MockAccountsService-qml" not foundUnable to register DBus object "/com/lomiri/Shell/Debugging"
make[3]: *** [tests/qmltests/CMakeFiles/tryShell.dir/build.make:57: tests/qmltests/CMakeFiles/tryShell] Error 255
make[2]: *** [CMakeFiles/Makefile2:16161: tests/qmltests/CMakeFiles/tryShell.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:16168: tests/qmltests/CMakeFiles/tryShell.dir/rule] Error 2
make: *** [Makefile:6298: tryShell] Error 2
Command exited with non-zero exit status 2, see above for details. This is most likely not a problem with Clickable.
nsyed@nsyed-HP-Laptop-15-bs1xx:~/lomiri$ -
@nibzy26 said in error building lomiri calculator app:
Ok i see, i did a MR for that https://gitlab.com/ubports/development/core/lomiri/-/merge_requests/110
Waiting for merge...,meanwhile just see what i did in CMakeLists.txt ( just comment the lines below "# enable QML debugging"
-
@lduboeuf I disabled the lines as you mentioned in the lomiri/CMakeLists.txt like
enable QML debugging
#string(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_lower) # Build types should always be lowercase but sometimes they are not.
#if(cmake_build_type_lower MATCHES "debug")
#add_definitions(-DQT_QML_DEBUG)
#endif()
and got the error
/home/nsyed/t2/lomiri/plugins/WindowManager/Screen.cpp:158: warning: enumeration value 'DSI' not handled in switch [-Wswitch]
/home/nsyed/t2/lomiri/plugins/WindowManager/Screen.cpp:158: warning: enumeration value 'DPI' not handled in switch [-Wswitch]
error: CMakeFiles/test-accountsservice.dir///__/plugins/AccountsService/AccountsService.cpp.o: in function__static_initialization_and_destruction_0(int, int)': /usr/include/x86_64-linux-gnu/qt5/QtQml/qqmldebug.h:79: error: undefined reference to
QQmlDebuggingEnabler::QQmlDebuggingEnabler(bool)'
error: collect2: error: ld returned 1 exit status
error: [tests/plugins/AccountsService/CMakeFiles/test-accountsservice.dir/build.make:132: tests/plugins/AccountsService/test-accountsservice] Error 1 -
@nibzy26 did you clean the build folder in case ?
Do you still try to build withclickable build --libs
( try remove --debug) -
@lduboeuf Thanks
--build without --debug worked okay
-
Ok now trying to completely change gui look of the lomiri calculator app. I have the lomiri-calculator folder open in VSS code and i am making changes there but I cant see my changes when i run clickable desktop command
my sequence of commads is- edit qml files in VSS code
- run clickable build
- clickable desktop
I dont see my changes any idea why ?
Also how can i see my changes quickly without building and running desktop commands as these commands take time
Thanks
-
@nibzy26 said in error building lomiri calculator app:
Ok now trying to completely change gui look of the lomiri calculator app. I have the lomiri-calculator folder open in VSS code and i am making changes there but I cant see my changes when i run clickable desktop command
my sequence of commads is- edit qml files in VSS code
- run clickable build
- clickable desktop
I dont see my changes any idea why ?
Also how can i see my changes quickly without building and running desktop commands as these commands take time
Thanks
humm, no need to run "clickable build" + "desktop", "clickable desktop" will do both.
if you don't see your change it could be that you are modifying the code from the build folder instead of the source ?
there is a Live Reload tool now if the app you are trying to modify doesn't contain c++/python backend :clickable desktop --qmllive
-
Hi,
In My calculator app I want to add an image as background to a rectangle but it cannot fing image location and says
QML QQuickImage: Cannot open: file:///home/nsyed/calc/lomiri-calculator-app/build/all/app/install/share/qml/ui/backspace-outline.pngMy Code:
Rectangle {
visible: (role == "button")
height: parent.height
width: height
anchors.centerIn: parentborder.color: "red" Image { visible: true source: "backspace-outline.png" anchors.fill: parent fillMode: Image.Stretch // Adjust this as needed } }
Question: where I should put my png or svg files ?
2. should i use svg or png ?
3. I think build folder is not the place to put my image .where should i put my image file then ?Please advise
Thanks
-
@nibzy26 where is your image file, relative to the qml file you are referencing it from?
-
@arubislander
Its in the same folder as qml file -
@nibzy26 said in error building lomiri calculator app:
@arubislander
Its in the same folder as qml fileis that file present ? /home/nsyed/calc/lomiri-calculator-app/build/all/app/install/share/qml/ui/backspace-outline.png
-
@lduboeuf
yes I manually placed there but everytime it builds it firsts deletes all files in build folder and then builds
I guess something wrong with my syntaxI have tried placing it in the same folder with other qml files
I have tried placing it in my home folder and set it as
source: '/home/nsyed/backspace-outline.png' -
@nibzy26 placing it in the root of your home folder won't work, the app is not allowed to read the contents there.. Also you shouldn't need to be copying it anywhere manually.
Do you have your project anywhere online? -
@arubislander Thanks
I will look into it again and get back to you.
Now i have connected my touch phone to my PC and built the app on my PC .what options do i need to specify with clickable build command to build it for my phone.
please advise
thanks -
I am trying clickable --arch=arm64
but the error says
he "pure-qml-cmake" builder needs architecture "all", but "arm64" was specified
nsyed@nsyed-HP-Laptop-15-bs1xx:~/calc/lomiri-calculator-app$ CLICKABLE_FRAMEWORK=ubuntu-sdk-20.04 clickable --arch=@CLICK_ARCH@
v8.0.0 of clickable is available, update to get the latest features and improvements!
usage: clickable chain [-h] [--config CONFIG]
[--clickable-config CLICKABLE_CONFIG]
[--serial-number SERIAL_NUMBER] [--ssh SSH]
[--arch {armhf,arm64,amd64,all}] [--container-mode]
[--docker-image DOCKER_IMAGE] [--skip-image-setup]
[--nvidia] [--no-nvidia] [--non-interactive]
[--verbose] [--clean]
[commands [commands ...]]
clickable chain: error: argument --arch/-a: invalid choice: '@CLICK_ARCH@' (choose from 'armhf', 'arm64', 'amd64', 'all')
nsyed@nsyed-HP-Laptop-15-bs1xx:~/calc/lomiri-calculator-app$ -
I set the builder to cmake only instead og pure-qml-cmake
It started getting docke rimages but then gave this errorClickable is building for architecture "arm64", but "all" is specified in the manifest. You can set the architecture field to @CLICK_ARCH@ to let Clickable set the architecture field automatically.
nsyed@nsyed-HP-Laptop-15-bs1xx:~/calc/lomiri-calculator-app$my clickable.yaml contents
clickable_minimum_required: '7.5.0'
kill: qmlscene
builder: cmake
framework: ubuntu-sdk-20.04 -
after changing clickable.yaml i also changed manifest.json.in the app root directory and set the architecture to arm64 in it instead of all.
it built the arm64.click package .I moved the click package to my phone via usb and did double tap on it selected openstore option , it installed it but it is still the default calculator app that is available on openstore and Not my customized app.
what could be the issue ?Also I got this
unning command "install"
Cannot access device.
ADB: No devices attached
SSH: no IP address specified (--ssh)
nsyed@nsyed-HP-Laptop-15-bs1xx:~/calc/lomiri-calculator-app$